混合云平臺(tái)如今開(kāi)始分為兩大類(lèi):基于Kubernetes的云平臺(tái)和不基于Kubernetes的云平臺(tái)。因此,在組織構(gòu)建將內(nèi)部部署或托管基礎(chǔ)設(shè)施與公共云集成的架構(gòu)時(shí),這必須做出的一個(gè)基本決策。
Kubernetes和混合云
當(dāng)然,開(kāi)源容器編排器Kubernetes不僅僅是一個(gè)混合云平臺(tái)。這是在任何內(nèi)部部署基礎(chǔ)設(shè)施或公共云或其組合上運(yùn)行應(yīng)用程序的一種方法,尤其是在容器中運(yùn)行的應(yīng)用程序。支持混合云架構(gòu)甚至不是Kubernetes項(xiàng)目的重點(diǎn)。
盡管如此,Kubernetes為混合部署提供了關(guān)鍵優(yōu)勢(shì)。它提供了一種統(tǒng)一的方式來(lái)部署和管理應(yīng)用程序,無(wú)論它們?cè)谀姆N基礎(chǔ)設(shè)施上運(yùn)行。它通過(guò)從應(yīng)用程序環(huán)境中抽象底層基礎(chǔ)設(shè)施來(lái)實(shí)現(xiàn)這一點(diǎn)。當(dāng)組織在Kubernetes上部署應(yīng)用程序時(shí),無(wú)論是在公共云、托管數(shù)據(jù)中心,還是用于測(cè)試的筆記本電腦中進(jìn)行部署,其過(guò)程基本相同。
而且,由于Kubernetes可以同時(shí)管理跨多種類(lèi)型基礎(chǔ)設(shè)施的應(yīng)用程序環(huán)境,因此它提供了一致的部署和管理體驗(yàn),即使組織的一些服務(wù)器和應(yīng)用程序運(yùn)行在公共云中,其他服務(wù)器和應(yīng)用程序也可以運(yùn)行在內(nèi)部部署設(shè)施或托管數(shù)據(jù)中心設(shè)施中。
基于Kubernetes的混合平臺(tái)
意識(shí)到這一點(diǎn),過(guò)去幾年中一些供應(yīng)商采用了Kubernetes優(yōu)先的混合云方法。最突出的一個(gè)例子就是使用Google Kubernetes Engine來(lái)管理在任何公共云或私有數(shù)據(jù)中心中運(yùn)行的集群的Google Anthos。VMware公司的Tanzu平臺(tái)是另一個(gè)。
AWS公司的EKS Anywhere可以通過(guò)Amazon的Elastic Kubernetes服務(wù)管理本地集群(以及可能運(yùn)行在其他公共云中的集群),也可以用作混合云平臺(tái)。它不是AWS公司的主要混合解決方案,而是提供更廣泛的混合服務(wù)的AWS Outposts,但是在一定程度上,EKS Anywhere支持跨越多個(gè)托管環(huán)境的容器化應(yīng)用程序的部署,因此符合混合云的要求。
基于Kubernetes的混合平臺(tái)還包括AWS Outposts、Azure Stack和Azure Arc,使用其他技術(shù)作為混合云管理的基礎(chǔ)。它們也恰好都是通過(guò)混合架構(gòu)來(lái)支持Kubernetes部署的,但是它們并不使用Kubernetes作為底層混合環(huán)境的管理層。
為什么不選擇混合云上的Kubernetes
一種混合云方法是否比另一種更好?這取決于一些變量。
最重要的是,是否更喜歡通過(guò)Kubernetes管理工作負(fù)載,而不是通過(guò)公共云的標(biāo)準(zhǔn)工具來(lái)管理工作負(fù)載。諸如Anthos和Tanzu之類(lèi)的平臺(tái)使用Kubernetes來(lái)統(tǒng)籌一切,而諸如Outposts和Azure Stack之類(lèi)的解決方案則使用原生管理工具(CloudWatch、CloudTrail、CloudFormation等)來(lái)進(jìn)行應(yīng)用程序部署和管理。如果更喜歡使用Kubernetes方法進(jìn)行應(yīng)用程序部署和管理,那么基于Kubernetes的混合云平臺(tái)可能更適合。
要考慮的第二個(gè)因素是應(yīng)用程序的容器化程度。Kubernetes可以管理虛擬機(jī)以及容器,實(shí)際上,虛擬機(jī)編排是Tanzu和Anthos的主要功能。但是最終,在Kubernetes內(nèi)部管理虛擬機(jī)可能讓人感覺(jué)奇怪,Kubernetes的設(shè)計(jì)首先是為了協(xié)調(diào)容器。虛擬機(jī)通常不會(huì)像容器那樣快速地啟動(dòng)和停止,并且很少像使用容器那樣啟動(dòng)多個(gè)虛擬機(jī)實(shí)例。如果組織的工作負(fù)載主要由虛擬機(jī)組成,那么不依賴Kubernetes的混合云平臺(tái)可能會(huì)為其提供更好的服務(wù)。
同樣值得考慮的是問(wèn)題是,是否認(rèn)為Kubernetes將長(zhǎng)期堅(jiān)持下去?這個(gè)平臺(tái)如今非常流行(這也是谷歌和VMware選擇它作為混合戰(zhàn)略基礎(chǔ)的部分原因),但它只有7年的歷史。也有人認(rèn)為Kubernetes更像是一種時(shí)尚技術(shù),而不是一種長(zhǎng)期使用的技術(shù)。
畢竟,五六年前,當(dāng)Kubernetes只是一個(gè)沒(méi)有人能說(shuō)出名字的新項(xiàng)目時(shí),Docker似乎將會(huì)持續(xù)發(fā)展,而當(dāng)初將工具與Docker結(jié)合似乎是一個(gè)穩(wěn)妥的選擇,現(xiàn)在人們都知道其結(jié)果如何。
因此,承諾使用基于Kubernetes的混合平臺(tái),就像在2015年左右全面投入Mesosphere一樣,當(dāng)不再流行時(shí),可能必須重建所有內(nèi)容。
靈活性是一個(gè)需要考慮的最終因素。一般來(lái)說(shuō),基于Kubernetes的混合云與依賴于云供應(yīng)商專有工具的混合云相比更加靈活。例如,如果使用Azure Stack,將很難遷移到AWS Outposts,因?yàn)槠溥w移基本上等同于從Azure云平臺(tái)遷移到AWS云平臺(tái)。但是從Anthos遷移到Tanzu會(huì)更容易,盡管不是無(wú)縫的,這因?yàn)檫@兩個(gè)平臺(tái)都建立在Kubernetes上。
結(jié)論
選擇Kubernetes作為混合云戰(zhàn)略有著充分的理由。選擇一個(gè)不需要Kubernetes工具并且支持Kubernetes無(wú)法管理的工作負(fù)載類(lèi)型的平臺(tái)也有一些很好的理由。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。