容器時(shí)代的云計(jì)算,華為如何迎戰(zhàn)?
要問當(dāng)下最熱門的IT技術(shù)是什么,恐怕“容器”絕對榜上有名。作為與虛擬機(jī)相抗衡的對手,容器以開源特性深受用戶的喜愛,特別是以Docker為代表的容器技術(shù)已經(jīng)成為許多創(chuàng)業(yè)公司的主打產(chǎn)品。
也正是由于容器技術(shù)具備了屏蔽環(huán)境差異、資源利用率高、啟動速度快等特性,越來越多的用戶也開始嘗試使用這種技術(shù)。不過正如我們常說的“客戶需求”,不同規(guī)模的IT系統(tǒng)對于容器技術(shù)的依賴也不盡相同。
容器技術(shù)應(yīng)用的三大場景
如果從容器技術(shù)的應(yīng)用環(huán)境與模型來看,容器技術(shù)可分為單機(jī)、集群和容器云三大應(yīng)用場景。
單機(jī)場景——技術(shù)主要圍繞著OS級輕量虛擬化,應(yīng)用打包部署自動化等功能,解決容器的單機(jī)部署。進(jìn)行這些部署的以用戶嘗鮮為主。我們都知道,單機(jī)的性能有限,分布式架構(gòu)才能發(fā)揮容器的***價(jià)值。所以,這些單機(jī)用戶更多進(jìn)行的是嘗試與測評。
集群場景——在經(jīng)過前期的測試之后,部分用戶可能會選擇將一些業(yè)務(wù)交給容器處理。這時(shí)候,用戶關(guān)注的是集群資源管理、應(yīng)用編排調(diào)度、面向應(yīng)用的存儲和網(wǎng)絡(luò)等,容器的部署也從K級上升到十萬級,解決分布式應(yīng)用的部署問題。
容器云場景——這將是容器應(yīng)用的大規(guī)模部署階段,對于那些有實(shí)力的用戶來說,他們更關(guān)注應(yīng)用性能、運(yùn)維自動化、跨級群管理、安全等技術(shù),容器的部署也會上升到***別,實(shí)現(xiàn)容器在企業(yè)生產(chǎn)環(huán)境中規(guī)模部署。
現(xiàn)在許多人在討論容器技術(shù)的時(shí)候都青睞于Docker,對于單機(jī)設(shè)備來說,Docker的確是不錯的容器引擎。但是對于大規(guī)模的集群管理來說,用戶不僅僅需要知道單一服務(wù)器的狀態(tài),更多時(shí)候需要對整體的IT設(shè)備實(shí)現(xiàn)統(tǒng)一的管理,這個(gè)時(shí)候也就需要更大規(guī)模的管理軟件。
對于容器集群階段來說,產(chǎn)業(yè)內(nèi)早已經(jīng)形成OCI(Open Container Initiative)開源社區(qū),制定容器運(yùn)行時(shí)和鏡像格式正式、開放的產(chǎn)業(yè)規(guī)范,保證其不依賴上層客戶端或編排調(diào)度系統(tǒng)、不依賴某個(gè)商業(yè)產(chǎn)品和項(xiàng)目,并支持多OS、硬件、CPU架構(gòu)和公有云。
與其他傳統(tǒng)的由國外企業(yè)主導(dǎo)的社區(qū)不同,雖然在OCI中我們看到了包括Google、Redhat、Docker等業(yè)界大佬的身影,同時(shí)我們也看到華為也是創(chuàng)始成員之一。憑借著深厚的技術(shù)實(shí)力,華為如今已經(jīng)向社區(qū)貢獻(xiàn)Patch 200+,占據(jù)社區(qū)貢獻(xiàn)排名TOP5;有兩名maintainer;參與RunC、Runtime Spec項(xiàng)目,和社區(qū)一起制定容器運(yùn)行時(shí)的標(biāo)準(zhǔn)、幫助社區(qū)兼容基于VM的安全容器、完成對ARM64的兼容,貢獻(xiàn)了OCI Tools項(xiàng)目幫助驗(yàn)證容器運(yùn)行時(shí)標(biāo)準(zhǔn)。
華為推動容器技術(shù)成長
正如我們之前談到的,容器技術(shù)發(fā)展到今天,已經(jīng)面臨大規(guī)模集群化的問題。事實(shí)上,隨著分布式架構(gòu)系統(tǒng)的普及,越來越多的用戶開始采用分布式架構(gòu),特別是從去年開始的互聯(lián)網(wǎng)+概念也讓更多的用戶從傳統(tǒng)架構(gòu)中解放出來,成為分布式架構(gòu)的新成員。
伴隨著這些分布式系統(tǒng)的出現(xiàn),也對容器的集群化功能提出了更高的要求和挑戰(zhàn)。如今, 以CNCF(Cloud Native Computing Foundation)、Docker和DC/OS為代表的三大集群編排調(diào)度系統(tǒng)并駕齊驅(qū),他們都在圍繞自己的解決方案構(gòu)建監(jiān)控、安全、部署等能力,力爭在容器技術(shù)面向容器云的下一波發(fā)展中搶占先機(jī)。
在華為看來,這三大技術(shù)都有很大的發(fā)展?jié)摿?,從目前的情況來看,整個(gè)容器產(chǎn)業(yè)還沒有完全成熟,也很難說哪種技術(shù)更為優(yōu)秀。其中,CNCF中的容器應(yīng)用編排管理系統(tǒng)由Google捐贈,凝結(jié)了Google公司十幾年管理超大型容器集群的經(jīng)驗(yàn),基于分布式服務(wù)化的視角來部署和管理應(yīng)用,為容器化的應(yīng)用提供資源調(diào)度、部署運(yùn)行、服務(wù)發(fā)現(xiàn)、擴(kuò)容縮容等一整套功能,有調(diào)度算法豐富、調(diào)度策略擴(kuò)展方便等優(yōu)勢,符合云原生應(yīng)用的發(fā)展趨勢。DC/OS是另一受市場歡迎的編排調(diào)度系統(tǒng),其核心是Mesos開源調(diào)度軟件,被稱為是分布式系統(tǒng)的內(nèi)核,它可以簡化分布式應(yīng)用框架在集群上運(yùn)行的過程,同時(shí)可將資源動態(tài)分配給不同框架,多個(gè)分布式應(yīng)用框架可以在同一集群中同時(shí)運(yùn)行、動態(tài)共享資源。DC/OS主要特點(diǎn)是:資源利用率高,可擴(kuò)展性強(qiáng),模塊化設(shè)計(jì),可提供細(xì)粒度的資源分配。相比于Kubernetes,DC/OS在資源調(diào)度上功能強(qiáng)大,而在應(yīng)用編排上Kubernetes則更勝一籌。兩者在互相借鑒對方優(yōu)點(diǎn),補(bǔ)齊自身短板。
Docker Swarm/Compose是Docker公司原生的集群調(diào)度和編排系統(tǒng),保持了與單機(jī)Docker相同的API和使用體驗(yàn)。目前Docker Swarm/Compose使用者數(shù)量和社區(qū)熱度低于前兩者,但隨著Docker將Swarm嵌入到廣泛使用的Docker引擎中,用戶只要安裝docker引擎,就可“開箱即用”,無需安裝額外調(diào)度系統(tǒng),將可能吸引更多的用戶使用,具備反超的機(jī)會。
從這些角度來說,三者各有優(yōu)勢和適用場景,因此一定時(shí)間內(nèi)三種技術(shù)會共存,***會由市場和客戶來做出選擇。
但是這種等待并不意味著束手無策。一方面,雖然分布式架構(gòu)已經(jīng)成為大眾認(rèn)知的主流,但是還有大量傳統(tǒng)架構(gòu)的應(yīng)用面臨微服務(wù)化的工作。而從另一方面來說,容器的編排調(diào)度等技術(shù)還需要進(jìn)一步完善,這需要廣大開發(fā)者和客戶一起推動容器產(chǎn)業(yè)和技術(shù)向前發(fā)展。
華為的開源理念
華為擁抱開源,一直堅(jiān)持。開源的容器編排調(diào)度系統(tǒng)有完善的框架和靈活性,因此華為希望吸納開源軟件的優(yōu)勢和生態(tài),掌握基礎(chǔ)架構(gòu),然后滿足客戶的需求,這也就是華為開源策略中的“源于開源”。
如果當(dāng)開源無法滿足客戶的要求時(shí),華為會進(jìn)行創(chuàng)新,不斷豐富完善容器編排調(diào)度系統(tǒng),即所謂“強(qiáng)于開源”。開源的理念就是開放,封閉后就會失去生命力,因此華為也會將對開源社區(qū)有價(jià)值的東西回饋,共同推進(jìn)開源社區(qū)的成長,這就是“回饋開源”。
為此,華為作為中國唯一的CNCF創(chuàng)始會員和鉑金會員,向社區(qū)貢獻(xiàn)Patch 360+、社區(qū)貢獻(xiàn)排名TOP5、有兩名maintainer,參與多調(diào)度器框架、親和性調(diào)度策略、Uberbetes框架、集群部署、運(yùn)維監(jiān)控增強(qiáng)、容器conformance測試等特性開發(fā)。
目前看來容器技術(shù)很熱,但是產(chǎn)業(yè)還沒有完全成熟,一方面還有大量傳統(tǒng)架構(gòu)的應(yīng)用面臨微服務(wù)化的工作,一方面容器的編排調(diào)度等技術(shù)還需要進(jìn)一步完善,這需要廣大開發(fā)者和客戶一起推動容器產(chǎn)業(yè)和技術(shù)向前發(fā)展,因此華為希望更多的公司和開發(fā)者關(guān)注和參與容器相關(guān)社區(qū),共同構(gòu)建容器生態(tài)。