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