因?yàn)椴僮鞯暮?jiǎn)單性和可擴(kuò)展性,云容器服務(wù)得到越來(lái)越多企業(yè)的重視。通過(guò)容器技術(shù)可顯著提高開(kāi)發(fā)人員和運(yùn)營(yíng)人員的效率。
雖然容器技術(shù)可加快應(yīng)用程序的部署,但想要實(shí)現(xiàn)容器的底層技術(shù)對(duì)于許多企業(yè)來(lái)說(shuō)仍然非常困難。為此,許多云服務(wù)提供商(CSP)提供容器即服務(wù)(CaaS)產(chǎn)品。這些產(chǎn)品可以減輕安全和運(yùn)維團(tuán)隊(duì)構(gòu)建容器基礎(chǔ)設(shè)施的工作負(fù)擔(dān)。因?yàn)镃aaS產(chǎn)品具有IaaS的所有基本功能,包括自助服務(wù)、可擴(kuò)展性、計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源以及抽象層。容器運(yùn)行的底層軟件包括容器運(yùn)行時(shí)、容器編排、作業(yè)調(diào)度、資源管理和其他容器管理功能。
公有云容器的服務(wù)架構(gòu)
1、公有云容器市場(chǎng)發(fā)展
據(jù)權(quán)威機(jī)構(gòu)分析,到 2022 年企業(yè)使用公有云容器服務(wù)比例將從 2018 年的 50% 增長(zhǎng)到 70% 以上。當(dāng)下主流的公有云廠商都已經(jīng)提供了容器服務(wù)(CaaS),許多規(guī)模較小的公有云和私有云IaaS提供商也瞄準(zhǔn)了此類(lèi)產(chǎn)品。當(dāng)然,公有云CaaS市場(chǎng)的增長(zhǎng)將受到IaaS市場(chǎng)整體增長(zhǎng)以及容器技術(shù)采用率的影響。Gartner預(yù)測(cè),在接下來(lái)的幾年中,容器的使用將繼續(xù)快速增長(zhǎng)。
未來(lái)幾年容器使用情況
當(dāng)然,容器采納大部分是由開(kāi)發(fā)者所驅(qū)動(dòng)的,他們將容器視為快速生成高質(zhì)量代碼的主要工具。不管是新應(yīng)用程序的開(kāi)發(fā),還是老程序的封裝部署,容器都可以發(fā)揮重要價(jià)值。例如,在開(kāi)發(fā)期間使用容器可以確保跨開(kāi)發(fā)、測(cè)試和生產(chǎn)環(huán)境的一致配置,大大簡(jiǎn)化了對(duì)接所需時(shí)間。此外,容器還是云原生應(yīng)用、微服務(wù)應(yīng)用程序最佳的運(yùn)行平臺(tái)。歸根結(jié)底,容器已經(jīng)成為現(xiàn)代應(yīng)用程序平臺(tái)基礎(chǔ)設(shè)施的一個(gè)關(guān)鍵組成部分。
未來(lái),隨著越來(lái)越多企業(yè)將工作負(fù)載轉(zhuǎn)移到公有云上,可以預(yù)見(jiàn)公有云容器服務(wù)市場(chǎng)會(huì)繼續(xù)保持增長(zhǎng)。隨著很多企業(yè)逐步開(kāi)始采用多云服務(wù),為解決多個(gè)公有云容器服務(wù)兼容性問(wèn)題,有的供應(yīng)商已經(jīng)開(kāi)始提供跨不同云環(huán)境部署管理的能力,例如OpenShift, Kubernetes引擎都可提供相對(duì)應(yīng)服務(wù)。
雖然老舊應(yīng)用程序不是容器使用的主要目標(biāo),但是在接下來(lái)的幾年里,更多的企業(yè)將重新構(gòu)建它們的歷史應(yīng)用程序,將從單一的應(yīng)用程序轉(zhuǎn)換為自治的、分解的服務(wù)或微服務(wù),這些服務(wù)被打包部署在容器中。當(dāng)然,企業(yè)在將應(yīng)用程序遷移到云上時(shí),有幾種不同情況,如下圖所示。
將應(yīng)用程序移植上云的計(jì)劃
從上圖可知,“云遷移”可分為Rehost、Refactor、Rearchitect、Rebuilt和Replace5個(gè)層次。每個(gè)層次對(duì)于業(yè)務(wù)遷移和部署難度也完全不同。
(1)在Rehost階段
雖然改變了業(yè)務(wù)承載形態(tài),但未改變?nèi)魏芜\(yùn)維流程,僅僅只是實(shí)現(xiàn)在云上部署。
(2)在Refactor階段
基于業(yè)務(wù)場(chǎng)景的視角,用流程再造的方式,來(lái)匹配公有云,最大的好處就是節(jié)約資源。
(3)在Rearchitect階段
通過(guò)改造應(yīng)用架構(gòu),在節(jié)約成本的同時(shí),也無(wú)需自建數(shù)據(jù)庫(kù),授權(quán)的費(fèi)用也大大降低。
(4)在Rebuilt階段
全部應(yīng)用都按照云原生的方式進(jìn)行開(kāi)發(fā)部署,獲得最大程度的彈性擴(kuò)展能力。
(5)在Replace階段
已不屬于傳統(tǒng)IT范疇,以服務(wù)的方式進(jìn)行SaaS購(gòu)買(mǎi)。
以rehost為例,雖然直接遷移(lift-and-shift)是可行的,但也只是實(shí)現(xiàn)了更快的加載、縮短了重新加載時(shí)間和恢復(fù)時(shí)間。顯然,直接遷移并不能顯著提高可擴(kuò)展性、性能和彈性。為了實(shí)現(xiàn)這些目標(biāo)就需要重構(gòu)應(yīng)用程序以滿(mǎn)足云原生設(shè)計(jì)的要求。這就是容器將產(chǎn)生顯著效果的地方。
雖然,當(dāng)下許多企業(yè)僅僅是在主機(jī)場(chǎng)景中使用容器處理無(wú)狀態(tài)實(shí)例。但是,未來(lái)在公有云上的許多應(yīng)用程序?qū)⒏嗟仃P(guān)注有狀態(tài)應(yīng)用程序。因此,需要為應(yīng)用程序開(kāi)發(fā)人員提供更多的底層抽象技術(shù),并提供額外抽象的服務(wù)。盡量使開(kāi)發(fā)人員能夠?qū)W⒂跇I(yè)務(wù)邏輯,而不是底層基礎(chǔ)設(shè)施。
2、公有云容器服務(wù)選擇
眾所周知,應(yīng)用程序開(kāi)發(fā)人員是容器技術(shù)的主要關(guān)注對(duì)象。他們希望使用容器技術(shù)來(lái)支持更高效的應(yīng)用程序交付過(guò)程。因此,容器采用包括CaaS采用,通常由應(yīng)用程序開(kāi)發(fā)負(fù)責(zé)人、企業(yè)架構(gòu)師或技術(shù)創(chuàng)新負(fù)責(zé)人處理。大量的公有云IaaS和PaaS支出都是由業(yè)務(wù)線付費(fèi)買(mǎi)單,而不是CIO所負(fù)責(zé)的集團(tuán)IT預(yù)算。因此,基礎(chǔ)設(shè)施運(yùn)營(yíng)(I&O)領(lǐng)導(dǎo)者必須與相關(guān)業(yè)務(wù)人員合作,才能更好為后期容器管理提供服務(wù)。