容器云平臺選型指南
容器即服務(wù)平臺,能夠讓開發(fā)人員更輕松地部署Docker容器,并將其引入應(yīng)用程序當(dāng)中。以往,企業(yè)大多會使用Kubernetes完成這方面工作。隨著現(xiàn)代容器化應(yīng)用程序在企業(yè)中應(yīng)用范圍的不斷增長,各大服務(wù)供應(yīng)商開始以「即服務(wù) 」的方式提供容器基礎(chǔ)設(shè)施與管理方案。
根據(jù)Flexera發(fā)布的《2020年云計(jì)算現(xiàn)狀報(bào)告》,容器技術(shù)在全球企業(yè)中的使用范圍不斷增長,有65%的受訪組織表示他們正在使用Docker容器,58%的企業(yè)表示他們正在以某種方式使用Kubernetes編排系統(tǒng)。結(jié)合調(diào)查結(jié)果,目前資源與專業(yè)知識的欠缺已經(jīng)成為使用容器技術(shù)構(gòu)建并維護(hù)應(yīng)用程序的主要挑戰(zhàn)。也正因?yàn)槿绱耍_發(fā)人員開始越來越多地轉(zhuǎn)向容器即服務(wù)(CaaS)類產(chǎn)品,而三大主要云服務(wù)商在CaaS領(lǐng)域也不出意外地占據(jù)著優(yōu)勢。
將容器基礎(chǔ)設(shè)施交給云供應(yīng)商打理
云服務(wù)商實(shí)際上向用戶提供的是一套托管形式的容器編排引擎(其大多數(shù)源自谷歌極具人氣的Kubernetes開源項(xiàng)目),用以部署并運(yùn)行容器、管理集群、實(shí)現(xiàn)自動(dòng)化擴(kuò)展與故障管理,并維護(hù)通用基礎(chǔ)設(shè)施層中的治理及安全性問題。總體來看,CaaS平臺能夠處理一切聯(lián)網(wǎng)、負(fù)載均衡、監(jiān)控、日志記錄、身份驗(yàn)證、安全性、自動(dòng)擴(kuò)展以及持續(xù)集成/持續(xù)交付(CI/CD)功能。
正是憑借這種強(qiáng)大的能力,企業(yè)得以在CaaS的支持下既利用云基礎(chǔ)設(shè)施的優(yōu)勢,也能夠順利避免PaaS所帶來的供應(yīng)商鎖定問題 (例如AWS Elastic Beanstalk, Azure App Service或者Google App Engine),將容器承載的工作負(fù)載輕松在不同環(huán)境之間往來遷移。
而CaaS與經(jīng)典基礎(chǔ)設(shè)施即服務(wù)(IaaS)之間的核心區(qū)別在于,企業(yè)自身是否需要掌握Kubernetes(或其他容器編排工具)的相關(guān)資源及管理技能。很明顯,CaaS能夠幫助我們擺脫這種硬性要求,將相關(guān)工作交由云服務(wù)商打理。此外,CaaS還具有更靈活的可移植特性,不少供應(yīng)商都提供可部署在本地或云端的CaaS平臺,以供自己的容器環(huán)境能夠跨多種云及/或本地環(huán)境加以運(yùn)行。
前德意志銀行員工、現(xiàn)任BBC開發(fā)人員Rob Isenberg提到,“大家可以在基礎(chǔ)設(shè)施層級上管理任務(wù)并自行設(shè)置編排工具,也可以使用容器平臺來處理基礎(chǔ)設(shè)施并提供預(yù)先安裝的編排工具,借此部署并擴(kuò)展容器環(huán)境。”
實(shí)現(xiàn)更大的靈活性與可擴(kuò)展性
在CaaS上運(yùn)行容器,類似于在IaaS上運(yùn)行虛擬機(jī),其主要優(yōu)勢在于良好的部署速度及易用性、即付即用的云模型簡單性,以及之前提到的不受供應(yīng)商鎖定影響的靈活性。
將容器基礎(chǔ)設(shè)施交由云供應(yīng)商打理之后,企業(yè)可以直接啟動(dòng)并運(yùn)行容器,而無需投資采購自有硬件亦無需構(gòu)建并運(yùn)行自有Kubernetes集群或者其他容器編排系統(tǒng)。此外,通過容器化應(yīng)用程序,企業(yè)也可以更輕松地將應(yīng)用程序遷移至不同的環(huán)境或者供應(yīng)商生態(tài)系統(tǒng)當(dāng)中,由此實(shí)現(xiàn)更大的靈活性與可擴(kuò)展性。
所有這一切都將顯著提高成本效率,包括使用容器以更好地根據(jù)需求執(zhí)行橫向擴(kuò)展,并保證企業(yè)只需要為實(shí)際使用的云資源付費(fèi)。容器的輕量化程度也遠(yuǎn)高于虛擬機(jī),這意味著它們的資源消耗量更低,因此通常擁有更快的運(yùn)行速度與更低的使用成本。
設(shè)備與日志的一致性還帶來另一大優(yōu)勢,即隔離在容器中的各項(xiàng)服務(wù)都只可以通過流行的SiderCar部署模型建立起更高效的日志聚合與集中監(jiān)控機(jī)制。
但必須承認(rèn),將傳統(tǒng)應(yīng)用程序遷移至容器仍是一項(xiàng)艱難的工作,即使是在基于CaaS的應(yīng)用程序之上也是如此。Flexera的云現(xiàn)狀報(bào)告提到,有34%的受訪者在這方面遇到了挑戰(zhàn)。在面向容器的應(yīng)用程序遷移當(dāng)中,往往涉及將單體式應(yīng)用程序拆分為微服務(wù)架構(gòu);對于歷史較長且規(guī)模較大的企業(yè)來說,這背后往往對應(yīng)著重大的文化與技術(shù)轉(zhuǎn)變,難度可想而知。
云服務(wù)商哪家強(qiáng)?
大多數(shù)主要云服務(wù)商都提供自己的CaaS產(chǎn)品,此外其他幾家供應(yīng)商也都希望在這片市場上一展拳腳。
云服務(wù)市場的領(lǐng)導(dǎo)者Amazon Web Services (AWS)掌握的Kubernetes-less Elastic Container Service (ECS)與Elastic Kubernetes Service (EKS)都有著強(qiáng)勁的市場表現(xiàn)。同樣的,根據(jù)Flexera的分析報(bào)告,Azure Kubernetes Service與Google Kubernetes Engine (GKE)也都在近期迎來了強(qiáng)勁的增長勢頭。
三大云巨頭現(xiàn)在還提供無服務(wù)器Kubernetes服務(wù),其中包括AWS ECS on Fargate、Google Cloud Run on GKE以及Azure Container Instances。與EKS、AKS以及GKE不同,這些服務(wù)徹底消除了服務(wù)器管理任務(wù),以按需消費(fèi)方式進(jìn)一步降低了容器方案的使用門檻。
目前,Google Cloud的大部分容器管理功能都被歸入Anthos,此功能可跨本地基礎(chǔ)設(shè)施與各大主要公有云(目前支持Google Cloud Platform與AWS,未來亦有計(jì)劃支持Azure)管理基于容器的應(yīng)用程序。Anthos將GKE for cloud workloads, GKE On-Prem以及 Anthos Config管理控制臺結(jié)合起來,供用戶在混合及多云Kubernetes部署當(dāng)中集中執(zhí)行管理、策略及安全保護(hù)等任務(wù)。
除了三大云服務(wù)巨頭之外,包括IBM/Red Hat、VMware、SUSE/Rancher、Canonical、D2iQ(原Mesosphere)、Rackspace、甲骨文、HPE、阿里巴巴、華為以及騰訊在內(nèi)的各服務(wù)商也都推出了自己的托管CaaS方案選項(xiàng)。其中相當(dāng)一部分產(chǎn)品能夠在本地、公有云乃至混合環(huán)境中進(jìn)行部署。
在Gartner發(fā)布的《競爭格局:公有云容器服務(wù)》報(bào)告中,將Google的GKE確定為領(lǐng)先的托管Kubernetes選項(xiàng)。
Forrester的分析師們則在2020年第三季度的多云容器開發(fā)平臺研究報(bào)告中,將紅帽、Googel和Rancher列為了領(lǐng)導(dǎo)者。根據(jù)報(bào)告的表述,OpenShift 是部署最廣泛的多云容器平臺,在許多公共和本地平臺上擁有強(qiáng)大的開發(fā)和統(tǒng)一運(yùn)維體驗(yàn)。Red Hat 率先為基礎(chǔ)架構(gòu)和應(yīng)用程序管理推出了“Operator”模式,并提供了豐富的合作伙伴生態(tài)系統(tǒng)和熱門市場。報(bào)告認(rèn)為Google 通過其抽象化和強(qiáng)大的 DevOps 自動(dòng)化,在云原生應(yīng)用程序生命周期中展示了卓越的開發(fā)人員和運(yùn)維人員體驗(yàn),對Rancher的評價(jià)是極大地簡化大規(guī)模的多云 Kubernetes 管理。
Flexera的報(bào)告發(fā)現(xiàn),使用AWS EKS/ECS的企業(yè)占比為55%,另有23%的企業(yè)受訪者已經(jīng)有計(jì)劃未來采用CaaS。Azure Kubernetes Service的采用率達(dá)到了50%,另有26%的企業(yè)已經(jīng)有計(jì)劃使用。Google Kubernetes Engine采用占比為26%,有27%的企業(yè)受訪者則計(jì)劃使用GKS。但相比之下,F(xiàn)lexera報(bào)告發(fā)現(xiàn)仍有63%的企業(yè)受訪者正在使用自主管理的Kubernetes解決方案。
結(jié)語
關(guān)于CaaS產(chǎn)品的信息主要來自各服務(wù)供應(yīng)商自身,所以我們難以做出真正客觀且公正的選擇。如上所述,F(xiàn)orrester與Gartner雖然各自深入研究了這一領(lǐng)域,但關(guān)注的主要是供應(yīng)商之間的競爭關(guān)系,而并非CaaS的實(shí)際發(fā)展節(jié)奏。