超越Kubernetes:值得關注的5大云原生技術
【編者的話】隨著Kubernetes的出現(xiàn),容器化技術和服務網(wǎng)格等各種技術已經(jīng)飛速發(fā)展,其中有些平臺目前發(fā)展迅速,下列幾種云原生技術是值得我們持續(xù)關注的。
Kubernetes是一個開源容器管理平臺,它現(xiàn)在已經(jīng)成為了云原生的中流砥柱。自從把它移交給Cloud Native Compute Foundation(云原生計算基金)后,該項目在業(yè)界上取得了史無前例的關注,目前沒有一個公有云環(huán)境不提供Kubernetes托管服務。
Kubernetes正迅速成為現(xiàn)代容器化應用運行的管理平臺。
隨著Kubernetes的崛起,它帶來了一個全新的生態(tài)系統(tǒng)的形成。目前有各種各樣的ISV和SaaS提供商為構建云原生環(huán)境提供了構建工具。這個蓬勃的生態(tài)可以和當時微軟和VMware在Windows和VSphere鼎盛時代相媲美。但他們***的區(qū)別就是云原生的產(chǎn)品大多數(shù)都是開源的,但在云上提供一個可用的商業(yè)版本。
下面是業(yè)界五個值得關注的開源項目,這些項目在Kubernetes的基礎上進行大幅度擴展,使得其成為運行Web規(guī)模和企業(yè)應用的強大平臺。
1. Istio
在Kubernetes之后,Istio是***的云原生技術。它就是一種服務網(wǎng)格,能夠安全的連接一個應用程序之間的多個微服務。你也可以將它視為內(nèi)部和外部的負載均衡器,具有策略驅動的防火墻,支持各種全面指標。開發(fā)者和使用者傾向于Istio的原因是因為它具有無侵入式的部署模式,而且任何Kubernetes的服務都能夠在不需要改動代碼和配置的情況下和Istio進行無縫連接。
Google最近宣布在GCP上管理Istio服務,除此之外IBM,Pivotal,Red Hat,Tigera和Weaveworkds都是支持這個項目的活躍貢獻者。
Istio為ISV提供了向企業(yè)提供定制化解決方案和工具的***機會,這個項目有望成為建設云原生平臺的項目,我希望每一個托管Kubernetes服務的平臺都能夠都能夠托管Istio服務。
2. Prometheus
Prometheus是一個部署在Kubernetes上用于觀察工作負載的云原生監(jiān)控工具。它通過全面的指標和豐富的DashBoard填補了云原生世界中存在的重要空白。在Kubernetes之后,它是唯一從云原生計算基金中畢業(yè)的項目。Prometheus通過聚合可通過集中式DashBoard的指標來填充Istio的空白。從核心指標中可以反映Kubernetes集群中特殊應用的指標的健康狀態(tài),可以說它幾乎可以監(jiān)控到一切。它整合了像Grafana這樣主流的數(shù)據(jù)可視化工具,Kubernetes接下來推出的有關于擴展和監(jiān)控的功能都依賴于Prometheus,這使得它成為云原生平臺建設中的不可或缺的一項。
3. Helm
如果說Kubernetes是新型的操作系統(tǒng)的話,Helm 就是應用程序安裝程序。根據(jù)Debian安裝包和Red Hat Linux RMPS設計,Helm通過執(zhí)行單個命令,提供了更簡潔和更強大的部署云原生工作負載能力。
Kubernetes應用暴露了大量的像deployments(部署),services(服務),ingress controllers(入口控制器),persistant volumes(持久化掛載目錄)等更多的元素。Helm則通過提供統(tǒng)一安裝工具,將云原生應用程序所有依賴關系聚合到稱之為圖表的部署單元中。
由于被CNCF進行管理,Helm項目的積極參與者目前有Bitnami,Google,Microsoft,CodeFresh和Ticketmaster。Helm正朝著成為真正意義上的云原生應用程序安裝程序。
4. Spinnaker
云原生技術最值得關注之一的是軟件的交付速度。Spinnaker是一個最初在Netflix上構建的開源項目,它實現(xiàn)了這一承諾。Spinnaker是一個版本管理工具,它是一種發(fā)布管理工具,可以為部署云原生應用程序提高速度。通過對比傳統(tǒng)的IaaS環(huán)境(像Amazon EC2和當代運行在Kubernetes上的CaaS平臺),無縫填補了傳統(tǒng)虛擬機和容器之間的空白。其多云功能使得其成為跨不同云平臺部署應用程序的理想平臺。
Spinnaker可作為當前所有主流的云環(huán)境自托管平臺,像Armory這樣的初創(chuàng)公司目前正在提供SLA下的商業(yè)級,企業(yè)級Spinnaker。
5. KubeLess
事件驅動計算目前已成為當代應用程序結構不可或缺的一部分。功能即服務(FaaS)是當前無服務計算交付模型之一,它通過基于事件的調(diào)用來填補容器。現(xiàn)代的應用程序會被當做服務并打包成容器或者是作為方法運行在相同的環(huán)境下,隨著Kubernetes成為云原生計算的***平臺,運行功能時必須在容器中進行。
在云原生生態(tài)系統(tǒng)中,來自于Bitnami的Kubeless項目是當前***的無服務項目。它與AWS lambda的兼容性與對主流語言的支持使得它成為理想的選擇。
CNCF目前還沒有將無服務項目納入其中,到目前為止最近接的是通過CloudEvent——用一種平常的方法來描述事件數(shù)據(jù)的規(guī)范,如果Kubeless成為CNCF中的一個項目的話,它將會十分有意思。
隨著企業(yè)開始接受新的范例,一系列支撐當代云原生應用,云原生工作負載的工具和平臺也不斷快速的演進。
作者:Janakiram MSV是Janakiram & Associates的分析師,高級指導顧問和架構師。