什么是CaaS?更簡單的容器管理
容器即服務(wù)(CaaS)平臺(tái)使開發(fā)人員可以更輕松地部署Docker容器,并將其組裝到應(yīng)用程序中,而大多數(shù)情況下則需要Kubernetes來完成這項(xiàng)工作。
隨著現(xiàn)代的容器化應(yīng)用程序在組織中繼續(xù)受到歡迎,主要供應(yīng)商開始提供容器基礎(chǔ)設(shè)施和管理的“即服務(wù)”只是一個(gè)時(shí)間問題。
根據(jù)Flexera公司最近發(fā)布的2020年云計(jì)算狀態(tài)調(diào)查報(bào)告,全球企業(yè)對(duì)容器的使用正在穩(wěn)步上升,其中65%的組織表示他們使用Docker容器,而58%的組織表示以某種方式使用Kubernetes編排系統(tǒng)。
在使用容器構(gòu)建和維護(hù)應(yīng)用程序時(shí),缺乏資源和專業(yè)知識(shí)經(jīng)常被認(rèn)為是主要的挑戰(zhàn)。因此,開發(fā)人員越來越多地轉(zhuǎn)向容器即服務(wù)(CaaS)產(chǎn)品所提供的自動(dòng)化技術(shù),而全球三大主要云提供商無疑都在這方面處在領(lǐng)先地位。
容器即服務(wù)(CaaS)
通過容器即服務(wù)(CaaS),云計(jì)算供應(yīng)商實(shí)質(zhì)上可以提供托管的容器編排引擎(通常基于源自谷歌公司的很受歡迎的Kubernetes開源項(xiàng)目),以部署和運(yùn)行容器、管理集群、自動(dòng)化擴(kuò)展和故障管理,并維護(hù)通用基礎(chǔ)設(shè)施層,其中包括治理和安全性。
通常情況下,所有聯(lián)網(wǎng)、負(fù)載平衡、監(jiān)視、日志記錄、身份驗(yàn)證、安全性、自動(dòng)縮放和持續(xù)集成(CI)/持續(xù)交付(CD)功能都由容器即服務(wù)(CaaS)平臺(tái)負(fù)責(zé)。
容器即服務(wù)(CaaS)使組織可以利用云計(jì)算基礎(chǔ)設(shè)施的優(yōu)勢,同時(shí)幫助避免典型的平臺(tái)即服務(wù)(PaaS)所帶來的供應(yīng)商鎖定,例如AWSElasticBeanstalk、AzureAppService,或GoogleAppEngine,這是因?yàn)槿萜鞅旧碓试S跨各種環(huán)境進(jìn)行簡單的遷移。
如果要使用容器,那么容器即服務(wù)(CaaS)與在基礎(chǔ)設(shè)施即服務(wù)(IaaS)上運(yùn)行之間的區(qū)別在于組織是否具有實(shí)施和管理Kubernetes(或其他容器編排)的資源和技能。還是將其交給云計(jì)算提供商來實(shí)現(xiàn)和管理。這個(gè)決定還可以決定組織的容器環(huán)境是否必須跨越多個(gè)云平臺(tái)或內(nèi)部部署環(huán)境。許多供應(yīng)商提供的容器即服務(wù)(CaaS)平臺(tái)既可以部署在內(nèi)部部署數(shù)據(jù)中心,也可以部署在云平臺(tái)中。
曾在德意志銀行和英國廣播公司(BBC)任職的開發(fā)人員RobIsenberg在其由O'Reilly出版的著作《面向Rails開發(fā)者的Docker》中指出:“用戶既可以在基礎(chǔ)設(shè)施層面管理事務(wù)并自行設(shè)置編排器,也可以使用一個(gè)容器平臺(tái)來處理底層基礎(chǔ)設(shè)施,并提供一個(gè)預(yù)裝的編排器,供其部署和擴(kuò)展容器。”
容器即服務(wù)(CaaS)的好處
在容器即服務(wù)(CaaS)上運(yùn)行容器類似于在基礎(chǔ)設(shè)施即服務(wù)(IaaS)上運(yùn)行虛擬機(jī):其主要優(yōu)勢在于部署速度和易用性,即付即用云模型的簡單性以及上述不受供應(yīng)商鎖定的自由。
通過將容器基礎(chǔ)設(shè)施留給云計(jì)算供應(yīng)商,組織無需投資于自己的硬件,也無需構(gòu)建和運(yùn)行自己的Kubernetes集群(或其他容器編排系統(tǒng)),就可以開始運(yùn)行。此外,通過容器化應(yīng)用程序,組織可以更輕松地將應(yīng)用程序遷移到不同的運(yùn)營環(huán)境或供應(yīng)商生態(tài)系統(tǒng)中,從而提供更大的靈活性和可擴(kuò)展性選項(xiàng)。
所有這些都為提高成本效率提供了非常重要的機(jī)會(huì),因?yàn)槿萜骺梢愿玫馗鶕?jù)需求進(jìn)行水平擴(kuò)展,允許組織只為他們使用的云計(jì)算資源付費(fèi)。容器比虛擬機(jī)輕得多,這意味著它們的資源消耗較少,通??梢蕴岣咚俣炔⒔档统杀?。
儀器和日志記錄的一致性帶來了另一個(gè)好處,因?yàn)樵谌萜髦懈綦x單個(gè)服務(wù)可以通過流行的Sidecar部署模型實(shí)現(xiàn)更有效的日志聚合和集中監(jiān)控。
根據(jù)Flexera公司發(fā)布的2020年云計(jì)算狀態(tài)報(bào)告,34%的受訪者指出,將傳統(tǒng)應(yīng)用程序遷移到容器中仍然是采用的一個(gè)重大障礙,即使在容器即服務(wù)(CaaS)上運(yùn)行也是如此。遷移到容器通常需要將單一的應(yīng)用程序分解為微服務(wù),對(duì)于大型傳統(tǒng)組織來說,這可能是一個(gè)重大的文化和技術(shù)轉(zhuǎn)變,不應(yīng)掉以輕心。
行業(yè)領(lǐng)先的容器即服務(wù)(CaaS)選項(xiàng)
大多數(shù)主要的云計(jì)算提供商都提供容器即服務(wù)(CaaS)產(chǎn)品,還有其他幾家提供商希望參與其中。
云計(jì)算服務(wù)市場領(lǐng)導(dǎo)者AWS公司見證了其Kubernetes無彈性容器服務(wù)(ECS)和Elastic Kubernetes服務(wù)(EKS)的廣泛采用。同樣,根據(jù)Flexera公司的分析,Azure Kubernetes服務(wù)的采用率也顯著提高,Google Kubernetes Engine(GKE)也是如此。
這三家云計(jì)算巨頭現(xiàn)在都提供了無服務(wù)器的Kubernetes服務(wù),其中包括Fargate上的AWSECS、GKE上的Google CloudRun和Azure容器實(shí)例。與EKS、AKS和GKE不同,這些服務(wù)消除了執(zhí)行服務(wù)器管理任務(wù)的需要,是按需消費(fèi)用例的理想選擇。
現(xiàn)在,谷歌云平臺(tái)的大部分容器管理功能都位于Anthos的保護(hù)傘下,該它可以跨內(nèi)部基礎(chǔ)設(shè)施和主要的公共云(現(xiàn)在是谷歌云平臺(tái)和AWS,并正在提供Azure支持)管理基于容器的應(yīng)用程序。Anthos結(jié)合了用于云計(jì)算工作負(fù)載的GKE、GKEOn-Prem和Anthos Config Management控制臺(tái),該控制臺(tái)允許在混合和多云Kubernetes部署中進(jìn)行集中管理、策略和安全性。
除了全球三個(gè)主要的云計(jì)算供應(yīng)商之外,其中包括IBM/RedHat、VMware、SUSE/Rancher、Canonical、D2iQ(以前為Mesosphere)、Rackspace、Oracle、HPE、阿里巴巴、華為和騰訊在內(nèi)的供應(yīng)商都具有某種托管容器即服務(wù)(CaaS)選項(xiàng)的能力。許多這樣的產(chǎn)品可以在內(nèi)部部署數(shù)據(jù)中心或公共云上,或在兩者中都進(jìn)行部署。
哪種容器即服務(wù)(CaaS)比較好?
調(diào)查機(jī)構(gòu)Gartner公司并未為容器即服務(wù)(CaaS)提供商設(shè)置魔力象限圖,但在其分析師Wataru Katsurashima撰寫的《公共云容器服務(wù)》報(bào)告中,該公司將谷歌公司的GKE確定為行業(yè)領(lǐng)先的托管Kubernetes選項(xiàng)。
調(diào)研機(jī)構(gòu)Forrester公司分析師認(rèn)為,AWS公司在2019年第三季度最新的公共云企業(yè)容器平臺(tái)浪潮中處于領(lǐng)先地位,微軟公司和谷歌公司緊隨其后。值得注意的是,F(xiàn)orrester公司的調(diào)查報(bào)告只列出了7家供應(yīng)商,并且側(cè)重于公共云部署。
Forrester公司分析師Dave Bartoletti和Charlie Dai表示,AWS公司在部署選項(xiàng)、安全性和深度集成方面處于領(lǐng)先地位。憑借廣泛的完全托管(和無服務(wù)器)Kubernetes消費(fèi)選項(xiàng),以及直接部署到其云基礎(chǔ)設(shè)施的大多數(shù)容器,AWS公司繼續(xù)創(chuàng)新,并將其容器平臺(tái)與其領(lǐng)先的安全和網(wǎng)絡(luò)功能深度集成。
Forrester公司的調(diào)查報(bào)告敦促微軟公司和谷歌公司簡化他們的容器平臺(tái)。微軟公司因其更強(qiáng)大的開發(fā)經(jīng)驗(yàn)和全球影響力而倍受贊譽(yù),但其復(fù)雜性受到用戶的批評(píng)。谷歌公司憑借其深厚的Kubernetes專業(yè)知識(shí)和在多云環(huán)境中的努力贏得了贊譽(yù),但同樣也因其復(fù)雜性而受到批評(píng)。
盡管如此,根據(jù)CNCF公司在2019年進(jìn)行的調(diào)查,AWSEKS仍然是最常用的容器管理平臺(tái),GKE、DockerEE/CE和AKS緊隨其后。
Flexera公司發(fā)布的2020年云計(jì)算狀態(tài)報(bào)告指出,AWSEKS/ECS的使用率為55%,另有23%的受訪者計(jì)劃在未來使用這些容器即服務(wù)(CaaS)選項(xiàng)。Azure Kubernetes Service的采用率達(dá)到50%,另有26%的受訪者表示計(jì)劃在將來使用AKS。而Google Kubernetes Engine達(dá)到了26%,其中27%的受訪者計(jì)劃使用GKS。但是,根據(jù)Flexera公司的這份報(bào)告,在63%的受訪者中,自我管理的Kubernetes仍然超過所有容器即服務(wù)(CaaS)選項(xiàng)。
容器即服務(wù)(CaaS)資源
有關(guān)容器即服務(wù)(CaaS)的主要信息來源是供應(yīng)商本身,因此很難做出明智公正的選擇。如上所述,F(xiàn)orrester公司和Gartne公司都已深入了解這一領(lǐng)域,但他們的視角通常取決于供應(yīng)商如何脫穎而出,而不是如何跟上生產(chǎn)中的容器即服務(wù)(CaaS)步伐。
關(guān)于該主題的書籍還很少,但是O'Reilly公司出版的《軟件設(shè)計(jì)師手冊》提供了很好的概述。
Docker多年來一直是容器和容器管理的中心,并且在該主題上還有一些很好的視頻內(nèi)容。