值得關注的五大雲原生技術
雲原生(Cloud-Native)是一種文化,更是一種潮流,它是雲端計算的一個必然導向,是讓雲成為雲化戰略成功的基石。雲端計算時代,雲原生技術註定將對現代化應用的建設、交付與運維產生顛覆性的影響。
根據相關調查結果顯示:自 2017 年 12 月以來,雲原生技術在生產中的使用量平均增長了 200% 以上。以 Kubernetes、Kubeflow 為代表的雲原生技術讓“雲原生”從一個模糊的概念,強勢成長為通用技術。無論是 Google、微軟、IBM 這些網際網路巨頭,還是國內阿里巴巴、騰訊、百度、噹噹網等大廠都爭相把雲原生技術專案作為其技術重心。
Kubernates是一個開源容器管理平臺,現已成為雲原生技術的主要支柱。自從把它移交給Cloud Native Compute Foundation(雲原生計算基金會)以來,該專案在業界已經取得了前所未有的關注,目前沒有一個公有云環境不提供Kubernates 託管服務。
Kubernates 正迅速成為執行現代容器化應用的作業系統。
Kubernates 的崛起導致了一個全新的生態系統的形成。目前有各種各樣的 ISV 和 Sass 提供商為構建雲原生環境提供了構建工具。這個蓬勃的生態系統,可以輕鬆地與當時微軟或 VMware 在 Windows 和 VSphere 全盛時期所享有的地位相媲美。但它們之間的關鍵區別在於,雲原生的產品大多都是開源的,並在雲端提供一個商業託管版本。
5大雲原生技術
下面是五個引起業界關注的開源專案。這些專案在 Kubernates 的基礎上提供了額外的擴充套件功能,使得其成為執行 Web 規模和企業應用程式的堅實平臺。
1. Istio
在 Kubernates 之後, ofollow,noindex" target="_blank">Istio 是最受歡迎的雲原生技術。它是一種服務網格,可以安全地連線一個應用程式的多個微服務。你也可以將 Istio 視為內部和外部的負載均衡器,具有策略驅動的防火牆,支援全面的指標。開發人員和操作人員喜歡 Istio 的原因在於,其具有非侵入式的部署模式。此外,幾乎任何 Kubernates 服務都可以在無需更改程式碼或配置的情況下,與 Istio 進行無縫整合。
Google 最近宣佈在 GCP 上管理 Istio 服務。除 Google 外,IBM、Pivotal、Red Hat、Tigera 以及 Weaveworkds 也都是該專案的積極貢獻者和支持者。
Istio 為 ISV 提供了向企業提供定製化解決方案和工具的絕佳機會。該專案必將成為建設雲原生平臺的核心專案之一,我希望每個託管 Kubernates 服務的平臺都有託管的 Istio 服務。
2. Prometheus
Prometheus 是部署在 Kubernates 上用於觀察工作負載的一個雲原生監控工具。它通過全面的指標和豐富的儀表板填補了雲原生世界中存在的重要空白。在 Kubernates 之後,它是唯一從雲原生計算基金中畢業的專案。Prometheus 通過聚合可通過集中式儀表板顯示的指標來填充 Istio 的空白。從反映 Kubernates 叢集執行狀況的核心指標,到高階應用程式特定指標,可以毫不誇張地說,Prometheus 幾乎可以監控所有內容。它整合了像 Grafana 這樣主流的資料視覺化工具。Kubernates 接下來推出的有關擴充套件和監控的功能都將取決於Prometheus,這使它成為雲原生平臺建設中至關重要的一個專案。
3. Helm
如果說 Kubernates 是新型的作業系統,那麼 Helm 就是應用程式安裝器。基於 Debian 安裝包和 Red Hat Linux RMPS設計,Helm 可以通過執行單個命令輕鬆地部署雲原生工作負載。
Kubernates 應用程式由各種元素組成,例如部署(deployments)、服務(services)、入口控制器(ingress controllers)、persistant volumes 等等。Helm 則通過將雲原生應用程式的所有元素和依賴關係聚合到稱為“圖表”(Chart)的部署單元中,來充當統一打包工具。
由CNCF負責管理的 Helm 專案,目前的積極參與者主要包括 Bitnami、Google、Microsoft、CodeFresh 以及Ticketmaster 等。Helm 正朝著成為真正意義上的雲原生應用程式安裝器的方向而努力。
4. Spinnaker
雲原生技術的主要承諾之一就是快速交付軟體的能力。 Spinnaker 是一個最初在 Netflix 上構建的開源專案,它就實現了這一承諾。Spinnaker 是一個版本管理工具,可以加速雲原生應用程式的部署。通過瞄準傳統的 Iass 環境(如 Amazon EC2 和執行在 Kubernates 上的現代 Cass 平臺),Spinnaker 無縫填補了傳統虛擬機器和容器之間的空白。其多雲功能也使其成為跨不同雲平臺部署應用程式的理想平臺。
Spinnaker 可作為當前所有主流的雲環境自託管平臺。像 Armory 這樣的初創公司目前也正在提供基於服務等級協議(SLA)的商業級及企業級 Spinnaker。
5. KubeLess
事件驅動計算正在成為現代應用程式架構不可或缺的一部分。功能即服務(Faas)是當前無服務計算的交付模型之一,它通過基於事件的呼叫來填補容器。現代應用程式會將服務打包為在同一環境中執行的容器和函式。隨著 Kubernates 成為雲原生計算的首選平臺,它必須與容器一起執行功能。
來自Bitnami的開源專案 Kubeless ,是雲原生生態系統中最受歡迎的無伺服器(serverless)專案之一。它與 AWS lambda 的相容性與對主流語言的支援,使其成為理想的選擇。所謂“無伺服器”(serverless)架構,即基於網際網路的系統,其中應用開發不使用常規的服務程序。相反,它們僅依賴於第三方服務(例如 AWS Lambda 服務),客戶端邏輯和服務託管遠端過程呼叫的組合。
CNCF 目前尚未將無伺服器專案納入其中。到目前為止最接近這種形式的是 CloudEvent ——一種以常見方式描述事件資料的標準規範。如果 Kubeless 成為 CNCF 中的一個專案的話,那將會十分有意思。
隨著企業開始接受新的範例,一系列新的工具和平臺也正在迅速湧現,以支援現代的雲原生工作負載。
*參考來源: forbes ,米雪兒編譯整理,轉載請註明來自 FreeBuf.COM。