隨著云架構的不斷普及,“未來的軟件一定生長于云上”的理念被越來越多的人所接受。云提供了一種面向企業應用實現按需進行資源分配的模型,以一種全新的、高效的方式來部署應用。企業紛紛開始云化轉型,希望將傳統應用遷移到云端。
虛擬化為云計算奠定了基礎,但如果運行模式不做任何改動,僅僅是把虛擬機當做物理機來使用,是不能真正將云平臺的優勢利用起來的。只有對應用程序架構進行升級改造,才能構成“云應用程序”。
基于云化架構的特點,定義一條能夠讓應用最大程度利用云的能力、發揮云的價值的最佳路徑成為行業迫切的需求,“云原生”應運而生。
云原生應運而生,技術范疇漸成體系
不同的組織對于云原生有不同的理解和定義。從技術角度來看,我們可以認為云原生是一類技術的統稱,基于它可以構建出更易于彈性擴展的應用程序;從業務角度來看,云原生可以帶來更快的業務響應速度和需求高效實現,云原生可以有效地縮短應用交付的周期,讓需求更快地變成代碼,代碼更快地變成線上的應用,最終為用戶服務,通過縮短“time to market”帶來切實的業務價值。
從更為抽象的指導思想角度來看,云原生表達了一種未來軟件開發生長的管理和實踐思路:即軟件產生并部署在云上,且遵循一種新的軟件開發、發布和運維模式,從而使軟件能夠最大化發揮云的能力。
2013年,Pivotal(美國云軟件開發工具與服務公司)的Matt Stine根據其多年的架構和咨詢經驗總結出來了一個思想集合,并得到了不斷發展和完善。這其中包含了DevOps、持續交付、微服務、敏捷基礎設施和12要素等幾大主題,不但包括根據業務能力對公司進行文化、組織架構的重組與建設,也包括方法論與原則,還有具體的操作工具。采用基于云原生的技術和管理方法,可以更好地把業務生于云或遷移到云平臺,從而享受云的高效和持續的服務能力,這標志著“云原生”比較完整的范疇的形成。
從商業應用角度看,云原生有幾個重要的發展節點:2013年,Docker項目正式發布;2014年,Google和Redhat聯合發布Kubernetes,用于更加方便、快速對容器進行管理;2015年,由Google、Redhat以及微軟等大型云計算廠商以及一些開源公司共同牽頭成立了云原生基金會(CNCF)。CNCF這個非盈利組織的初衷為推廣孵化和標準化云原生相關的技術,其中包括推動云原生計算可持續發展和幫助云原生技術開發人員快速地構建出色的產品。在此之后,CNCF得到了快速的發展,并逐漸構建出一整套技術。
當前,云原生技術范疇包含以下6個方面。
第一,云應用定義與開發流程,包括應用定義與鏡像制作、配置CI/CD、消息和Streaming以及數據庫等。
第二,云應用的編排與管理流程,包括了應用編排與調度、服務發現治理、遠程調用、API網關以及Service Mesh。
第三,監控與可觀測性,這部分所強調的是云上應用如何進行監控、日志收集、Tracing以及在云上如何進行破壞性測試。
第四,云原生的底層技術,比如容器運行時,云原生存儲技術和云原生網絡技術等。
第五,云原生工具集,在前面這些核心技術點之上,還有很多配套的生態或者周邊的工具需要使用,比如流程自動化與配置管理、容器鏡像倉庫、云原生安全技術和云端密碼管理等。
第六,Serverless,這是一種PaaS的特殊形態,它定義了一種更為“極端抽象”的應用編寫方式。
容器云加速業務交付效率
云原生有兩個重要的思路:第一個是敏捷的不可變基礎設施,這一點目前是通過容器鏡像來實現,其含義就是應用的基礎設施應該是不可變的,是一個自包含、自描述可完全在不同環境中遷移的東西;第二個是云應用編排理論,當前的實現方式就是Kubernetes的“容器設計模式”。
落實到云架構的三層模型中,敏捷的不可變基礎設施類似于IaaS層,用來提供計算網絡存儲等基礎資源,這些資源是可編程且不可變的,直接通過API可以對外提供服務。云應用的編排則通過PaaS服務組合成不同的業務能力,實現服務能力的復用;而SaaS能力意味著直接在云資源上部署和應用,客戶可以直接面對云原生應用。
在實踐中,容器云PaaS平臺在應用中得到了落地,逐漸進入商業成熟期的階段。PaaS本質上是云計算模型中的能力層,它幫助企業提高業務交付的效率、降低企業成本,以云原生技術為基礎的容器云PaaS已經成為企業IT基礎設施的重要組成部分。
容器云PaaS基礎設施層可以部署在虛擬機、物理機以及公有云環境上;平臺架構層包含了容器編排調度、容器網絡以及容器存儲等。容器云PaaS支持的能力包括容器應用管理、微服務、DevOps以及中間件PaaS組件,例如消息隊列、大數據、機器學習訓練平臺等。
在容器云之前,PaaS側重提供支撐應用運行的應用引擎;而容器云PaaS則是融入DevOps、微服務,解決了應用的完整生命周期管理問題,從而達到我們之前所說的加速企業業務的交付效率,實現更高的彈性和可擴展性等目標。
云原生逐漸成熟,生態拓展至邊緣
從云原生的發展狀況看,這一領域的發展呈現出值得關注的幾個特點。
首先,云原生逐漸在商業環境中得到應用和完善。在網絡安全公司Stackrox的一次民意調查當中,2019年是Kubernetes在容器編排中占據主導地位的一年:86%的受訪者用它來進行編排工作,遠高于2018年的57%。企業Kubernetes平臺Diamanti的說法是:“與2018年相比,我們清晰地看到容器管理正在進入企業IT主流。”
其次,Kubernetes在安全性方面承受著巨大壓力。面向安全級別要求更高的客戶,在初期安全程度較低的項目中表現良好的網絡安全面臨挑戰。與此同時,敏捷開發和DevOps帶來的高頻代碼發布、部署也帶來了更高的安全性要求。
最后,伴隨著應用從云端向邊緣的拓展,云原生也在邊緣計算領域得到了發展和落地,進一步拓展了云原生的應用領域:2018年,KubeCon正式公布了新的基于Kubernetes的生態系統KubeEdge,將Kubernetes生態系統從云端擴展到邊緣。KubeEdge基于Kubernetes的架構體系并針對邊緣場景提供了諸如離線運行能力、邊云協同能力等多種特殊能力的支持,將云原生的生態和開發體驗延伸到邊緣,面向開發者提供統一的開發、部署、管理視圖,屏蔽邊緣和云端的差異。
云原生這一整套技術體系和方法論,在云化過程中可以起到從統一思想方法到云化戰略落地的作用,可以預見將在未來的數字化轉型中扮演重要的角色。在這一路徑上,云的能力和企業管理能力、業務拓展能力能夠在系列最佳實踐和配套工具的支持下融匯結合,為實現組織的云戰略發揮更為重要的作用。
責任編輯:tzh
-
云計算
+關注
關注
39文章
7742瀏覽量
137208 -
網絡
+關注
關注
14文章
7521瀏覽量
88644 -
云原生
+關注
關注
0文章
242瀏覽量
7939
發布評論請先 登錄
相關推薦
評論