劉果 歐建深
過(guò)去十余年時(shí)間,國(guó)內(nèi)包括華為、京東、BAT以及Kyligence、PingCAP、偶數(shù)科技等初創(chuàng)公司主動(dòng)開(kāi)源了很多項(xiàng)目,典型開(kāi)源項(xiàng)目有Servicecomb、Carbondata、KubeEdge、ShardingSphere、Skywalking、Angel、Kylin、HAWQ等,參與的主流社區(qū)包括CNCF/OCI、Linux kernel、Spark、Hadoop、Tensorflow、Openstack、Cloud Foundry、ONAP等。開(kāi)源已被證明可以通過(guò)協(xié)同創(chuàng)新加快技術(shù)發(fā)展、有效降低技術(shù)門(mén)檻、減少供應(yīng)商鎖定,其價(jià)值被廣大企業(yè)和開(kāi)發(fā)者認(rèn)可。
在如上主流開(kāi)源社區(qū)及開(kāi)源項(xiàng)目中,CNCF/OCI及背后承載的容器技術(shù),無(wú)疑是最近幾年最具熱度的。
華為作為CNCF/OCI初始成員之一,與幾大云廠商一起策劃并在Linux基金會(huì)下發(fā)起CNCF/OCI開(kāi)源基金會(huì),構(gòu)建容器領(lǐng)域開(kāi)放生態(tài)產(chǎn)業(yè)格局,最終實(shí)現(xiàn)行業(yè)廠商合作共贏。本文將詳細(xì)介紹其背后的故事。
容器是應(yīng)用云化的關(guān)鍵技術(shù),規(guī)模應(yīng)用后容器生態(tài)走向面臨選擇
容器,類(lèi)似于Windows時(shí)代的EXE,是云應(yīng)用接入云平臺(tái)的關(guān)鍵技術(shù)。業(yè)界普遍認(rèn)為最早期的容器發(fā)起于2000年FreeBSD的Jails,早期的容器存在隔離性不完善、缺少熱遷移機(jī)制、多OS技術(shù)不統(tǒng)一等問(wèn)題;之后在linux內(nèi)核中,cgroup/namespace資源控制和訪問(wèn)隔離特性的完善,容器基礎(chǔ)依賴(lài)技術(shù)得已成熟;2013年dotcloud發(fā)布docker,革命性的通過(guò)docker鏡像解決開(kāi)發(fā)者頭痛的應(yīng)用打包問(wèn)題,大量云廠商和開(kāi)發(fā)者開(kāi)始涌入并嘗鮮docker,容器技術(shù)開(kāi)始進(jìn)入規(guī)模應(yīng)用期。此時(shí),容器生態(tài)發(fā)展面臨兩條選擇:1.類(lèi)似于Windows時(shí)代的EXE,成為封閉系統(tǒng);2.構(gòu)建開(kāi)放生態(tài),形成多家廠商對(duì)接支持的多贏格局。
開(kāi)放生態(tài)才能共贏,華為決定推動(dòng)將容器技術(shù)轉(zhuǎn)化為開(kāi)放標(biāo)準(zhǔn)
2014年年中,容器熱度持續(xù)升溫,包括谷歌、AWS、微軟等巨頭宣布加入Docker生態(tài)圈,支持Docker成為云時(shí)代的“exe”已成為可能。
到2014年11月,硅谷風(fēng)投界討論某巨頭愿意出價(jià)40億美元收購(gòu)Docker,沒(méi)有成交的原因猜測(cè)是Docker認(rèn)為40億美元太低(有消息稱(chēng)希望100億美元)。如果發(fā)生收購(gòu),容器技術(shù)棧將可能走向封閉。
容器格式、分發(fā)、存儲(chǔ)、網(wǎng)絡(luò)、調(diào)度等規(guī)范只有開(kāi)放而且解耦,才對(duì)整個(gè)云產(chǎn)業(yè)發(fā)展才更有利,未來(lái)各云廠商的應(yīng)用才能更好的互通,正在經(jīng)歷數(shù)字化轉(zhuǎn)型的多數(shù)傳統(tǒng)企業(yè)應(yīng)用向云遷移花費(fèi)也將更低。
因此,華為決定積極推動(dòng)容器技術(shù)開(kāi)放并標(biāo)準(zhǔn)化,并開(kāi)始投入精英參與Docker社區(qū)貢獻(xiàn)。
瞄準(zhǔn)容器引擎標(biāo)準(zhǔn)化發(fā)力點(diǎn),由Linux基金會(huì)作為容器標(biāo)準(zhǔn)化的承載平臺(tái)
Docker技術(shù)棧主要包含三部分:1.Docker Engine包括容器鏡像和容器運(yùn)行時(shí)格式;2.DockerHub包括鏡像倉(cāng)庫(kù)接口與推送協(xié)議;3.Docker Swam包括編排器到容器運(yùn)行時(shí)、容器網(wǎng)絡(luò)、容器存儲(chǔ)的接口。其中DockerEngine 是容器多云/跨云部署的前提,眾多云廠商和行業(yè)用戶都希望形成開(kāi)放標(biāo)準(zhǔn),容易形成共識(shí)。Docker Engine也大量依賴(lài)Linux內(nèi)核社區(qū)技術(shù), 而華為在Linux內(nèi)核有較深的積累(華為有Linux Kernel cgroup的maintainer), 因此當(dāng)務(wù)之急是推動(dòng)在容器引擎層形成標(biāo)準(zhǔn)規(guī)范。
Linux基金會(huì)作為L(zhǎng)inux內(nèi)核的生態(tài)品牌維護(hù)者,在開(kāi)源界有很大的影響力。
此外,在行業(yè)公開(kāi)峰會(huì)上,Linux基金會(huì)也描述其計(jì)劃構(gòu)建ICT基礎(chǔ)設(shè)施軟件開(kāi)源全棧的愿景,容器作為重要發(fā)展方向也在其長(zhǎng)遠(yuǎn)規(guī)劃中,因此Linux基金會(huì)是承載容器標(biāo)準(zhǔn)化的最理想平臺(tái)。
科技外交推動(dòng)Linux基金會(huì)牽頭成立CNCF/OCI基金會(huì)
2014年年中到2015年初,谷歌、CoreOS等廠商開(kāi)始向Docker發(fā)起開(kāi)源挑戰(zhàn),2014年6月,谷歌宣告開(kāi)源Kubernetes。2014年12月,CoreOS發(fā)布Rocket容器引擎項(xiàng)目,與Docker展開(kāi)開(kāi)源競(jìng)爭(zhēng);2015年4月,谷歌為CoreOS注資1200萬(wàn)美元。此時(shí)容器生態(tài)存在分裂的風(fēng)險(xiǎn)。開(kāi)放而解耦的容器標(biāo)準(zhǔn)才是多方共贏的基礎(chǔ),在2014年年底到2015年初,華為與行業(yè)幾大云廠商容器相關(guān)負(fù)責(zé)人積極交流,大部分云廠商認(rèn)為容器私有化對(duì)生態(tài)發(fā)展不利,認(rèn)可建立開(kāi)放治理機(jī)制并使容器格式標(biāo)準(zhǔn)化。2015年6月,Linux基金會(huì)聯(lián)合華為、谷歌、紅帽、IBM、Docker等廠商成立OCI和CNCF兩大基金會(huì)組織,Docker、谷歌等代表廠商可以在CNCF/OCI中協(xié)商容器標(biāo)準(zhǔn)并充分討論爭(zhēng)議點(diǎn),避免了容器生態(tài)分裂的風(fēng)險(xiǎn)。
2015年6月20日,OCI(開(kāi)放容器標(biāo)準(zhǔn)基金會(huì))宣告成立并掛靠Linux基金會(huì)開(kāi)放治理,共21家初創(chuàng)成員;Docker貢獻(xiàn)runc(容器運(yùn)行時(shí)規(guī)范)進(jìn)入OCI;華為是OCI初創(chuàng)會(huì)員之一,也是社區(qū)初始8個(gè)Maintainers之一,并在容器資源隔離、容器大規(guī)模并發(fā)啟動(dòng)、容器安全、容器網(wǎng)絡(luò)等方面做了很多工作和貢獻(xiàn)。
緊接著2015年6月21日,CNCF(云原生計(jì)算基金會(huì))宣告成立并掛靠Linux基金會(huì)開(kāi)放治理,共20家初創(chuàng)成員,其中8家初始白金會(huì)員分別為Cisco、CoreOS、Docker、Google、Huawei、IBM、Intel、Redhat;CNCF技術(shù)棧以Kubernetes為核心,但可擴(kuò)展到容器全棧其他領(lǐng)域;華為成為當(dāng)時(shí)唯一中國(guó)創(chuàng)始會(huì)員,擁有董事會(huì)席位(開(kāi)始由華為開(kāi)源中心侯培新博士代表,后續(xù)為華為云Anni Lai代表),并派代表參加TOC技術(shù)監(jiān)督委員會(huì)競(jìng)選(后續(xù)華為由華為云架構(gòu)師Quinton Hoole代表成功競(jìng)選TOC委員)。此外,華為云組建開(kāi)源團(tuán)隊(duì)投入Kubernetes社區(qū),貢獻(xiàn)了集群聯(lián)邦、Forgiveness等核心特性,總體開(kāi)源代碼貢獻(xiàn)在中國(guó)公司中名列第一。
OCI標(biāo)準(zhǔn)進(jìn)程受阻,但最終達(dá)成共識(shí)
2015年6月—2016年6月,Docker在OCI基金會(huì)中占據(jù)主導(dǎo)地位(50%關(guān)鍵席位),但OCI社區(qū)標(biāo)準(zhǔn)化推進(jìn)進(jìn)程十分緩慢。容器運(yùn)行時(shí),格式標(biāo)準(zhǔn)歷時(shí)一年,進(jìn)展相對(duì)順利;而容器鏡像格式標(biāo)準(zhǔn),OCI成立一年后才開(kāi)始社區(qū)討論。此外,2016年6月,再次出現(xiàn)行業(yè)巨頭可能收購(gòu)Docker的傳聞。在2016年6月-2017年7月,CNCF基金會(huì)開(kāi)始布局更大范圍的容器規(guī)范并做OCI社區(qū)備胎,措施包括兩步:1.2016年9月—2017年3月,編排層接口標(biāo)準(zhǔn)(CRI/CNI/CSI)三箭齊發(fā),計(jì)劃解除容器引擎與編排層的綁定;2.2017年2月,Google/紅帽/IBM貢獻(xiàn)可替代Docker引擎項(xiàng)目CRI-O,做好承接鏡像格式與分發(fā)規(guī)范制定的準(zhǔn)備。面對(duì)Google/紅帽/IBM貢獻(xiàn)的CRI-O項(xiàng)目,Docker意識(shí)到開(kāi)放的容器引擎、鏡像、編排接口標(biāo)準(zhǔn)是行業(yè)大多數(shù)廠商共識(shí),于是在2017年7月和2018年4月分別貢獻(xiàn)ContainerD和Docker registry作為OCI鏡像格式和鏡像分發(fā)的標(biāo)準(zhǔn)給OCI基金會(huì),為容器標(biāo)準(zhǔn)化也做出不小貢獻(xiàn)。
容器生態(tài)完全開(kāi)放,CNCF/ OCI規(guī)范成為產(chǎn)業(yè)標(biāo)準(zhǔn)
2017年10月17日,在DockerCon歐洲大會(huì)上,Docker宣布重磅消息,擁抱CNCF中的Kubernetes、ContainerD及CRI接口規(guī)范;2017年2月到2018年4月,全球五大公有云全部支持CNCF/OCI規(guī)范。至此,容器生態(tài)完全開(kāi)放。在中國(guó)市場(chǎng),包括BAT、京東、才云、浙江大學(xué)等在內(nèi)眾多云廠商及學(xué)術(shù)機(jī)構(gòu)也陸續(xù)加入CNCF/OCI基金會(huì),其中CNCF基金會(huì)中國(guó)會(huì)員由2015年華為唯一一家會(huì)員,發(fā)展到2019年初的40余家中國(guó)會(huì)員?;贑NCF/OCI基金會(huì)的Kubernetes、Docker開(kāi)源項(xiàng)目構(gòu)建容器云產(chǎn)品及云服務(wù),CNCF/OCI規(guī)范成為容器產(chǎn)業(yè)事實(shí)標(biāo)準(zhǔn)。
華為作為中國(guó)唯一CNCF/OCI初創(chuàng)成員,獲中國(guó)唯一Kuberntes社區(qū)技術(shù)指導(dǎo)委員會(huì)席位(全球僅13席),CNCF TOC委員會(huì)席位(全球僅9席),全球首批通過(guò)“Kubernetes軟件一致性認(rèn)證”和KSCPs(Kubernetes認(rèn)證服務(wù)供應(yīng)商)認(rèn)證的云服務(wù)商,對(duì)應(yīng)的CCE(云容器引擎)、CCI(云容器實(shí)例)也成為華為公有云的明星產(chǎn)品。此外,源自華為云IEF(智能邊緣平臺(tái))的開(kāi)源項(xiàng)目-KubeEdge也于2019年3月20號(hào)正式進(jìn)入CNCF社區(qū)孵化,成為CNCF基金會(huì)第一個(gè)Kubernetes原生邊緣計(jì)算平臺(tái),在邊緣計(jì)算領(lǐng)域開(kāi)辟一個(gè)新的基于Kubernetes的生態(tài)系統(tǒng)。
構(gòu)建容器領(lǐng)域開(kāi)放生態(tài)經(jīng)驗(yàn)總結(jié)
要把握新開(kāi)源技術(shù)機(jī)會(huì),并構(gòu)建開(kāi)放產(chǎn)業(yè)格局,建議做好如下三點(diǎn):
1.實(shí)時(shí)關(guān)注產(chǎn)業(yè)關(guān)鍵開(kāi)源技術(shù)變化,識(shí)別風(fēng)險(xiǎn)與機(jī)會(huì)。
2.制定生態(tài)策略,尋找業(yè)界產(chǎn)業(yè)組織作為落地平臺(tái)。
3.推動(dòng)關(guān)鍵產(chǎn)業(yè)組織成立,與產(chǎn)業(yè)玩家一起制定開(kāi)源標(biāo)準(zhǔn)并做強(qiáng)社區(qū)。