成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

你真正了解什么是 Cloud Native 嗎?

云計算
貫穿軟件交付生命周期的cloud-native能讓用戶更有效地運維和擴展,成功擁有“敏捷性”。到底什么是cloud-native?cloud-native框架、cloud-native運行時和cloud-native基礎(chǔ)設(shè)施的自動化又有哪些內(nèi)容?讀完這篇文章,就能有一個大概的了解。

什么是cloud-native?cloud-native框架、cloud-native運行時和cloud-native基礎(chǔ)設(shè)施的自動化又有哪些內(nèi)容?讀完這篇文章,就能有一個大概的了解。

你能做到每周、每天甚至每個鐘頭向客戶發(fā)布新特性嗎?新加入的開發(fā)者能夠在他們工作的***天甚至面試階段就能部署代碼嗎?部署新員工的代碼后,你能因為確信應(yīng)用程序運行正常而安然入睡嗎?建立快速發(fā)布機制,包括支持cloud-native應(yīng)用的安全與可靠的運維的流程、工具和文化,已經(jīng)成為軟件驅(qū)動組織的關(guān)鍵戰(zhàn)略因素。有了快速發(fā)布機制,這些組織就能在降低風險的同時更快地發(fā)布軟件。發(fā)布軟件越快,得到的反饋循環(huán)就越緊密,企業(yè)就能更有效地響應(yīng)客戶的需要。

持續(xù)交付是軟件正在變成cloud-native應(yīng)用的原因:更快地交付軟件,降低反饋循環(huán)的時間。完全實現(xiàn)cloud-native戰(zhàn)略,需要文化和技術(shù)兩方面的改變,DevOps是應(yīng)對這些改變的方法。微服務(wù)是應(yīng)用最成功的軟件體系架構(gòu)模式,它擴展了開發(fā)和交付操作,避免緩慢、充滿風險的單體部署策略。例如,如果還沒有建立“快速失敗”和“自動優(yōu)先”的 DevOps 文化,很難成功地實施微服務(wù)戰(zhàn)略。

持續(xù)交付、DevOps和微服務(wù)分別描述了cloud-native應(yīng)用的為什么、怎么做和是什么。這些競爭優(yōu)勢迅速成為玩轉(zhuǎn)軟件游戲的賭注。深究起來,上述三個概念糾纏在一起,不可區(qū)分。這就是cloud-native的含義所在。

cloud-native能做些什么?

貫穿軟件交付生命周期的cloud-native能讓用戶更有效地運維和擴展,成功擁有“敏捷性”:能夠快速為軟件添加新功能,同時保持生產(chǎn)環(huán)境的穩(wěn)定性和安全性。cloud-native能做到這一點的原因是它把運行應(yīng)用程序所需的基礎(chǔ)設(shè)施、中間件和后臺服務(wù)完全自動化。

傳統(tǒng)的自動化方法建立在面向虛擬化的編排的基礎(chǔ)上,需要用戶編寫定制的自動化腳本。cloud-native完全超越這種自動化方法。真正的 cloud-native架構(gòu)包含完全自主的自動化和編排,用戶只需提出自己的需求,不用描述如何做。在一個cloud-native環(huán)境中,很難維護臨時、專門的自動化。cloud-native架構(gòu)內(nèi)置的自動化管理服務(wù)起到了契約的作用,執(zhí)行策略和保證承諾。換句話說,這種自動化使得構(gòu)建能被自動管理的應(yīng)用程序變得容易。

新的體系架構(gòu)方法,要求新的軟件開發(fā)方法。開發(fā)者必須運用新的一系列架構(gòu)實踐——例如微服務(wù)和容器——來確保應(yīng)用程序能被cloud- native平臺恰當?shù)毓芾怼loud-native不僅帶來軟件開發(fā)速度的提升,還有運維方面的好處:方便移植的應(yīng)用實例,一致的日志記錄和保證應(yīng)用在線和數(shù)據(jù)流的監(jiān)控功能。

想要了解cloud-native的好處,一種方法是引入運行時契約,即運行軟件的一系列指南。cloud-native框架幫助開發(fā)者編寫滿足云平臺運行時契約的應(yīng)用程序。

cloud-native框架

cloud-native應(yīng)用的本質(zhì)是它們滿足如下特點的契約:通過可預(yù)測的行為,***化復(fù)原。云平臺使用的高度自動化、容器驅(qū)動的基礎(chǔ)設(shè)施,***軟件的編寫方式。開發(fā)者必須改變編碼方式,在開發(fā)者和運行應(yīng)用的基礎(chǔ)設(shè)施之間建立一種新的契約。一個很好的契約例子是十二因素應(yīng)用。

其中,大多數(shù)因素的內(nèi)容有重疊,相互補充。這些因素的描述盡量保證直接和可操作:

  1. 從一個代碼庫部署到多個環(huán)境——一個代碼庫,包括生產(chǎn)環(huán)境軟件包,確保了單一的信任源,從而保證了更少的配置錯誤和更強的容錯和復(fù)原能力。
  2. 依賴管理是聲明式的——云平臺根據(jù)這些聲明管理依賴,確保云應(yīng)用所需的庫和服務(wù)。
  3. 配置信息保存在環(huán)境中——環(huán)境變量是一種清楚、容易理解和標準化的配置方法,特別適合用不同編程語言編寫的無狀態(tài)應(yīng)用的使用。
  4. 將后臺服務(wù)視為附加的資源——將每一種資源都視為一種遠程的資源,應(yīng)用因此具有容錯和復(fù)原能力,因為它一方面要求編碼時就要考慮資源不可用的情況,另外一方面也增強微服務(wù)方法的好處。
  5. 區(qū)分構(gòu)建、發(fā)布和運行階段——cloud-native應(yīng)用的構(gòu)建流程把大部分發(fā)布配置挪到開發(fā)階段,包括實際的代碼構(gòu)建和運行應(yīng)用所需的生產(chǎn)環(huán)境配置。
  6. 作為無狀態(tài)進程運行——盡量保持應(yīng)用棧每一層的輕量級,保證cloud-native基礎(chǔ)設(shè)施的速度和效率。
  7. 通過端口綁定對外暴露服務(wù)——cloud-native應(yīng)用的服務(wù)接口優(yōu)先選擇 HTTP API 作為通用的集成框架。
  8. 通過添加無狀態(tài)進程實現(xiàn)橫向擴展——強調(diào)無狀態(tài)、無共享的設(shè)計,這意味著依賴底層平臺就能實現(xiàn)橫向擴展,不需要技術(shù)難度高的多線程編碼。
  9. 快速地啟動,優(yōu)雅地關(guān)停——假設(shè)任何進程隨時都能啟動和關(guān)停。
  10. 開發(fā)、預(yù)發(fā)布和生產(chǎn)環(huán)境運行同樣的應(yīng)用和依賴配置——由于強調(diào)自動化和在每個階段使用同一個云平臺,如果每個人用同樣的服務(wù)器配置,那么“應(yīng)用在我這里是可以的”就意味著在其他人或者環(huán)境那里也是可以的。
  11. 日志輸出到標準輸出,方便日志聚合和事件響應(yīng)——當日志是由云平臺而不是應(yīng)用包含的庫處理時,日志處理機制必須保持簡單。
  12. 臨時任務(wù)作為短時進程運行——在cloud-native中,管理任務(wù)也是一個進程,而不是特別的工具;同樣重要的是,管理任務(wù)的進程不應(yīng)使用秘密的 API 或者內(nèi)部機制。

遵循上述原則的應(yīng)用程序,具有一致的架構(gòu)接口。為了使創(chuàng)建的分布式應(yīng)用馬上就可以部署在云中,這些接口的構(gòu)建采用一種無狀態(tài)、面向進程的設(shè)計模式。 Ruby on Rails 是一種革命性的 web 應(yīng)用開發(fā)框架,它采用強制性的、約定高于配置的方法。從***版 Rails 發(fā)布之日算起,已經(jīng)九年半過去了,整個業(yè)界認識到了遵循約定的框架的威力。

像 Java 的 Spring Boot/Cloud 和 Dropwizard 、Node.js 的 Seneca 框架,甚至包括 Ruby on Rails (外加幾個 gem 包)在內(nèi),它們都能很好地滿足cloud-native契約的要求,這勢必節(jié)省開發(fā)者的時間,讓開發(fā)者專心編寫應(yīng)用的核心代碼——關(guān)鍵業(yè)務(wù)邏輯,不必費心于支持應(yīng)用工作的膠水代碼。

當應(yīng)用程序遵循運行時的契約時,彈性的cloud-native運行時就能編排、管理和擴展這些應(yīng)用。

cloud-native運行時

容器已經(jīng)成為云運行時的關(guān)鍵組件。容器的輕量本質(zhì)和強力的資源管理特性,特別適合cloud-native,為之增加了速度和資源效率。容器將一個cloud-native應(yīng)用打包成一個遵循云平臺約定的可執(zhí)行物件。

與其它進程一樣,可在任何一臺主機(物理機或者虛擬機,無所謂)上運行很多容器。在開發(fā)階段,把應(yīng)用構(gòu)建為一個容器,使得開發(fā)者編碼和創(chuàng)建完整構(gòu)建的周期大大縮短,這甚至運行開發(fā)者在他們的筆記本電腦上運行一個開發(fā)云,***程度地減少了在生產(chǎn)環(huán)境的云運行時無法正常運行的可能性。在生產(chǎn)環(huán)境中,容器提供的關(guān)鍵好處包括更好的進程間安全、穩(wěn)定性和準確地預(yù)測每個進程消耗的資源。更進一步,還能預(yù)報由于增長帶來的基礎(chǔ)設(shè)施耗費。

要有效地使用容器,就必須實現(xiàn)容器編排。編排是指無需人工交互和規(guī)劃,就能啟動、關(guān)停和分發(fā)容器到計算資源池中;一個彈性運行時。編排是對部署請求、自動擴展的流量分析、甚至是基礎(chǔ)設(shè)施失效的響應(yīng)。完整的容器編排還要做到檢測和回滾變化,管理生產(chǎn)環(huán)境中應(yīng)用的不同版本來完成 A/B 測試和每日部署。打包容器只是cloud-native架構(gòu)需求的一部分:編排和管理容器在生產(chǎn)環(huán)境中的部署和運行,這比容器的打包重要得多。

隨著前述cloud-native框架的興起,容器編排的屬性最近獲得了很多關(guān)注。容器運行時需要做到:

  1. 管理容器的生命周期,包括創(chuàng)建、運行和摧毀——強有力地控制運行在生產(chǎn)環(huán)境中每一個容器的生命周期,有助于實現(xiàn)應(yīng)用的按需自動擴展。
  2. 通過約束保證資源利用是可預(yù)測的——細粒度控制每個容器實例使用的資源。
  3. 進程隔離——使用內(nèi)核級別的命名空間和本地文件系統(tǒng),確保不同容器的進程之間是隔離的。
  4. 通過編排實現(xiàn)資源的***利用——給定一個資源池(通常是虛擬機集群),容器編排使得應(yīng)用負載分布在整個資源池中。
  5. 檢測錯誤和從失效中恢復(fù)的方法——在生產(chǎn)環(huán)境中,出錯是難免的。編排平臺必須能檢測到關(guān)鍵組件的失效,自動移除工作不正常的容器實例和基礎(chǔ)設(shè)施,重新部署應(yīng)用,以避免宕機。

通過使用 API ,cloud-native運行時能夠在各種不同的基礎(chǔ)設(shè)施上運行,不與特定的基礎(chǔ)設(shè)施綁定。管理良好的、自動化的基礎(chǔ)設(shè)施使得cloud-native架構(gòu)更具有容錯和恢復(fù)能力。

cloud-native基礎(chǔ)設(shè)施的自動化

如果基礎(chǔ)設(shè)施自動化做得好,生產(chǎn)環(huán)境架構(gòu)的管理幾乎不需要人工干預(yù)。

健壯自動化幾乎能處理傳統(tǒng)IT中需要手工處理的所有事情:當應(yīng)用實例增減時更新路由器和負載均衡組件,部署應(yīng)用所需的供應(yīng)和聯(lián)網(wǎng)服務(wù),分配新的基礎(chǔ)設(shè)施,設(shè)置監(jiān)控和災(zāi)后恢復(fù)服務(wù),日志聚合,當基礎(chǔ)設(shè)施失效時重新部署應(yīng)用。

像上面這些高級自動化實踐,能把你從應(yīng)對零日危險的痛苦中拯救出來:自動化采用滾動更新的方式,為每一個節(jié)點打上安全補丁,同時又保證服務(wù)一直在線。

這種水平的自動化是由結(jié)構(gòu)化平臺提供的。

從概念層次上,每一個結(jié)構(gòu)化平臺都必須包括:

  1. 路由和負載均衡——應(yīng)用的橫向擴展需要網(wǎng)絡(luò)路由,路由是可以動態(tài)更新的,它把外來請求分散到整個資源池。
  2. 后臺服務(wù)代理——大部分應(yīng)用都需要各種后臺服務(wù),包括數(shù)據(jù)庫、緩存和消息隊列。這些服務(wù)必須是高可用的服務(wù),通過環(huán)境變量進行配置,以便滿足十二因素約定中對配置的要求。
  3. 基礎(chǔ)設(shè)施編排——平臺必須能自動管理基礎(chǔ)設(shè)施,提供彈性擴展的計算資源。
  4. 健康管理、監(jiān)控和恢復(fù)——可視化顯示正在運行的應(yīng)用和實例,以及當事件發(fā)生時的通知消息和審計日志。
  5. 可復(fù)用的運行時環(huán)境倉庫——應(yīng)用以容器鏡像的形式發(fā)布,重復(fù)用于啟動應(yīng)用實例,這保證了整個架構(gòu)同一個應(yīng)用的所有實例是完全一樣的。
  6. 日志聚合——高可用、橫向擴展的應(yīng)用需要聚合所有實例的日志,用于分析和響應(yīng)發(fā)生的事故。

cloud-native基礎(chǔ)設(shè)施編排提供了直到基礎(chǔ)設(shè)施的結(jié)構(gòu)化平臺。這是與底層 API 集成的一層;也是cloud-native架構(gòu)的基礎(chǔ),cloud-native架構(gòu)支撐了運行時編排的安裝、擴展、管理和更新。

以上是對成功交付cloud-native應(yīng)用的理論思考的概述。cloud-native在加速軟件交付的同時,降低了運維中的修正代價,無論是時間還是壓力方面。如果部署和運維的代價高,持續(xù)交付和微服務(wù)是站不住腳的。這里主要關(guān)注工具的功能,但是不能低估所需要的高度信任文化和過程。(有人甚至認為文化和過程是更為關(guān)鍵的成功因素,那需要討論的內(nèi)容就更多了)。

cloud-native如此

那些想把持續(xù)交付的速度和好處***化的人,需要支持cloud-native應(yīng)用的體系架構(gòu),作為貫穿整個軟件交付周期的使能技術(shù)。應(yīng)用是用滿足cloud-native運行時契約要求的cloud-native框架構(gòu)建的,cloud-native基礎(chǔ)設(shè)施自動化大大改變了組織交付軟件的能力。這個平臺還包括用以實現(xiàn)持續(xù)交付、敏捷開發(fā)和 DevOps 運動的生產(chǎn)環(huán)境承諾的實踐和過程;云基礎(chǔ)設(shè)施的可用性和可靠性。

cloud-native做到了穩(wěn)定性和敏捷性兼顧。有了cloud-native架構(gòu),就可以像Netflix這樣的cloud-native公司一樣,擁有相同的功能、靈活性、速度和安全性。最終你就有時間欣賞此前錯過的動畫片《我的小馬駒:友誼是神奇的》。

原文鏈接:http://www.dockone.io/article/688
 

責任編輯:Ophira 來源: dockone
相關(guān)推薦

2023-11-06 07:23:06

API開發(fā)生態(tài)系統(tǒng)

2023-12-11 07:40:00

CDN網(wǎng)絡(luò)服務(wù)器

2020-05-15 09:55:09

設(shè)計技術(shù)棧程序員

2012-09-27 10:24:22

監(jiān)控機房

2014-04-22 10:50:31

統(tǒng)一通信UCBYOD

2021-02-03 14:43:40

人工智能人臉識別

2016-02-26 09:38:02

Ajax技術(shù)簡述

2012-03-14 09:02:47

云計算集中計算分布式計算

2010-08-27 15:24:39

機房監(jiān)控

2019-11-18 10:06:44

程序員CDN靜態(tài)資源

2015-03-20 16:16:56

APM應(yīng)用性能管理云智慧

2017-01-09 16:40:07

React NatiAndroid 開發(fā)

2009-11-02 17:24:57

VB.NET語言

2022-03-01 08:10:24

區(qū)塊鏈以太坊數(shù)據(jù)庫

2023-01-28 20:29:50

2022-07-26 00:00:22

HTAP系統(tǒng)數(shù)據(jù)庫

2012-09-06 17:54:28

2014-04-17 16:42:03

DevOps

2023-12-20 08:23:53

NIO組件非阻塞

2015-12-01 13:33:51

UnikernelLinux運維
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 一区二区三区精品视频 | 天天干天天色 | av网站在线免费观看 | 这里只有精品99re | 91看片网址 | www成年人视频 | 精品久久香蕉国产线看观看亚洲 | 在线视频91 | 精品国产一级 | 一区二区三区国产 | 最新日韩在线 | 国产精品久久久久久久久久软件 | 一级女毛片 | 国产免费拔擦拔擦8x高清 | 欧美一级久久精品 | 精品国产乱码久久久久久蜜臀 | 精品国产不卡一区二区三区 | 福利一区二区在线 | 日韩成人免费av | 日本高清视频网站 | www.欧美.com| 国产精品久久久久久久久久久免费看 | 亚洲国产精品久久久久 | 美女高潮网站 | 久久久免费精品 | 免费高清av | 色播视频在线观看 | 久久久久1 | 亚洲天堂久久 | av一级久久| 日日操操 | 日韩成人在线网站 | 亚洲免费久久久 | 国产一级视屏 | 亚洲三区在线观看 | 激情久久av一区av二区av三区 | 亚洲天堂中文字幕 | 黄频视频 | 亚洲欧美日韩精品久久亚洲区 | 久久久99国产精品免费 | 国产免费一区 |