20年前,我們總能在個(gè)人電腦的廣告結(jié)尾,聽到標(biāo)志性的“IntelInside”音樂。隨著云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的的興起,個(gè)人電腦的黃金時(shí)代早已一去不復(fù)返,可是“IntelInside”的模式,仍在繼續(xù)上演。作為國內(nèi)Docker創(chuàng)業(yè)大潮的一份子,借新一屆DockerCon召開之際,提筆回顧過去兩年的所見所感,撰文一篇,與諸君探討和共勉。

IaaS is the BIOS of Cloud
在我的職業(yè)生涯中,有幸先后在個(gè)人電腦時(shí)代的霸主微軟,和云計(jì)算時(shí)代的新貴VMware這兩家偉大的公司工作。他們都是靠平臺(tái)起家:憑借Wintel聯(lián)盟,比爾·蓋茨獨(dú)霸市場三十余載;依靠獨(dú)特的虛擬化技術(shù),和Intelx86體系對(duì)VT技術(shù)的全面支持,VMware成為企業(yè)云計(jì)算市場的弄潮兒。
2012年初我加入VMware時(shí),也算趕上了一段黃金時(shí)代:
彼時(shí)VMware投入大量資金,網(wǎng)羅全球最頂尖的開發(fā)者,全力打造CloudFoundry這一開源PaaS平臺(tái),我也有幸作為團(tuán)隊(duì)成員,參與和目睹當(dāng)時(shí)這一極具前瞻性平臺(tái)的發(fā)展壯大。
Cloud Foundry早期的架構(gòu)師Mark Lucovsky(他曾擔(dān)任Windows NT核心架構(gòu)師,Google技術(shù)元老)在一次內(nèi)部的分享會(huì)上語出驚人,Mark說:“IaaS is the BIOS of Cloud”。這一句話對(duì)我印象極其深刻,從那時(shí)起,我開始思考,如果今天的公有云、私有云,其本質(zhì)就是一臺(tái)(堆)機(jī)器,那么在它之上的生態(tài)如何構(gòu)建?誰又能夠主宰未來?
VMware打造Cloud Foundry時(shí),早在2011年就引入了類似Docker的容器技術(shù),這項(xiàng)技術(shù)當(dāng)年被命名為Warden,由于種種原因,Warden技術(shù)被作為Cloud Foundry的一項(xiàng)后臺(tái)技術(shù)和部署工具,并未提升到任何戰(zhàn)略層面。
在推廣Cloud Foundry時(shí),業(yè)界已經(jīng)普遍認(rèn)為,在PaaS類云平臺(tái)上運(yùn)行的應(yīng)用(當(dāng)時(shí)還并無Cloud Native一詞),其理想的載體應(yīng)該是類似Warden這樣的“容器”,而不是虛擬機(jī)。
Docker公司的前身dot Cloud,也是當(dāng)年開放式PaaS大軍中的一員,在進(jìn)軍PaaS市場未果的情況下,Solomon Hykes將dot Cloud的PaaS底層容器技術(shù)開源,無心插柳,卻成就了今天大家看到的Docker生態(tài)。
2014年的夏天,我請(qǐng)了一個(gè)星期的年休假,在上海浦東圖書館認(rèn)真的觀看和閱讀了所有能夠找到的有關(guān)Docker的資料。當(dāng)時(shí),第一屆DockerCon正在舊金山舉辦,Solomon Hykes放出了“Upgrade the Internet”的豪言壯語,并公布了libcontainer、libchan和libswarm這三個(gè)重要的項(xiàng)目。在平臺(tái)廠商工作多年養(yǎng)成的直覺告訴我,Docker將是一個(gè)比“the BIOS of Cloud”強(qiáng)大很多的東西。
我曾把這一周的學(xué)習(xí)筆記,總結(jié)成《Docker的生態(tài)系統(tǒng)和未來》一文,洋洋灑灑寫了將近7000字,刊登在當(dāng)年9月出版發(fā)行的《程序員》雜志上。文章付梓之后,我即向VMware公司提出了辭職,義無反顧地踏上了Docker的創(chuàng)業(yè)之路。
如今,大約兩年的時(shí)間過去了,再次提筆撰寫此文時(shí),新一屆的DockerCon正在西雅圖召開,4000余人的參會(huì)規(guī)模,也又一次刷新了紀(jì)錄。
一騎絕塵的Docker
相信本文的讀者都是Docker技術(shù)和生態(tài)的密切關(guān)注者,代碼和架構(gòu)層面的細(xì)節(jié),我也就不班門弄斧了。我嘗試帶領(lǐng)大家,從兩個(gè)獨(dú)特的角度,分析Docker技術(shù)和社區(qū)這兩年的發(fā)展歷程。2014年我寫《Docker的生態(tài)系統(tǒng)和未來》一文時(shí),曾提出可能影響Docker發(fā)展的幾個(gè)領(lǐng)域的預(yù)言,它們分別是:
1.開源的獨(dú)立性
2.企業(yè)客戶的接受度
3.云廠商和ISV的參與
4.上層架構(gòu)的支持
Docker公司過去兩年做了幾輪非常漂亮的融資,在毫不盈利的情況下成功躋身十億美元估值的獨(dú)角獸俱樂部,并且仰賴以財(cái)務(wù)投資者為主的股權(quán)架構(gòu),成功維持了自己的獨(dú)立性。坊間曾盛傳微軟開出數(shù)十億美元的價(jià)格意圖入主Docker,但今天看來,Docker公司在相當(dāng)長的一段時(shí)間內(nèi),都有能力繼續(xù)保持自身的獨(dú)立性。
頻繁融資的同時(shí),Docker公司這兩年的一系列漂亮的收購,如Tutum、Unikernel、Conductant,每一項(xiàng)都是神來之筆,都為自己的Docker生態(tài)打下更加厚重的基石。有人曾在朋友圈評(píng)論,雖然是100%的開源軟件,卻又牢牢地控制了生態(tài)。如此這般,無人能及。
2015年DockerCon的口號(hào)是“Ready for Production”,這并不是一句空話。近一年來,容器技術(shù)快速在企業(yè)市場滲透,遠(yuǎn)有美國著名投行高盛公司宣布將把90%以上的應(yīng)用轉(zhuǎn)換為Docker容器的形態(tài)運(yùn)行;近有國內(nèi)金融、制造、能源等領(lǐng)域企業(yè)客戶全面開花。云廠商和ISV的參與,微服務(wù)架構(gòu)的流行,也都印證了我之前文章的預(yù)言。
在本屆DockerCon,有兩個(gè)非常值得關(guān)注的細(xì)節(jié),也是我想跟大家探討的角度。
Docker公司的CEO名叫BenGolub,每一屆DockerCon,他都是第一個(gè)開場致辭的嘉賓。歷屆DockerCon,Ben的致辭時(shí)間都很短,內(nèi)容結(jié)構(gòu)高度一致:社區(qū)發(fā)展規(guī)模、代碼貢獻(xiàn)者人數(shù)、各地meetup建設(shè)、DockerHub鏡像數(shù)量、下載量,等等。
圈內(nèi)曾流傳這樣的笑話:Ben的DockerCon PPT模版近些年來從未曾改過,唯一變化的,就是其中的數(shù)字。但就是這些簡單的數(shù)字,描繪了Docker生態(tài)一騎絕塵的輪廓。在此我只提取一組數(shù)據(jù)與各位讀者分享:

上面這張表格,如果用普通直角坐標(biāo)系畫一張時(shí)間和數(shù)量的關(guān)系圖,將是一條極其陡峭向上的直線,即使采用對(duì)數(shù)坐標(biāo),也能呈現(xiàn)非常高的增長斜率。
“凡構(gòu)建平臺(tái),得開發(fā)者得天下”,Docker憑借其容器鏡像標(biāo)準(zhǔn),在開發(fā)者社區(qū)的普及程度呈幾何級(jí)數(shù)快速蔓延。過去兩年,有CoreOS、rkt等試圖挑戰(zhàn)Docker,另立標(biāo)準(zhǔn),但如同當(dāng)年的Intelx86+Windows的龐大生態(tài),一旦形成了“平臺(tái)-開發(fā)者-標(biāo)準(zhǔn)”這樣的三足鼎立,循環(huán)反饋的形態(tài),其他新興生態(tài)妄圖打破這樣的鐵三角,是及其困難的。
本屆DockerCon,另一個(gè)值得關(guān)注的細(xì)節(jié),是SwarmKit。有關(guān)SwarmKit的定位和架構(gòu),大家可以搜索孫宏亮撰寫的系列文章,這里我不再贅述。
SwarmKit的發(fā)布,使Docker Engine的能力大大增強(qiáng),開啟了Docker Engine“超大規(guī)模集成電路”的高度集成化之路。早年的Docker Engine,只是Linux LXC API的封裝,隨著Machine和Swarm這兩個(gè)項(xiàng)目的高速推進(jìn),Docker Engine完成了幾個(gè)實(shí)質(zhì)性的飛躍:
首先,Docker Engine通過Libcontainer項(xiàng)目,將LXC抽象,初步實(shí)現(xiàn)了操作系統(tǒng)的無關(guān)性,為今后支持Windows等非LXC/C Group內(nèi)核架構(gòu)提供了可能性;
第二,通過集成Volume Driver、內(nèi)建網(wǎng)絡(luò)虛擬化能力,在容器層屏蔽了底層存儲(chǔ)和網(wǎng)絡(luò)資源的細(xì)節(jié),為今后容器級(jí)別的軟件定義存儲(chǔ)和網(wǎng)絡(luò)打下了基礎(chǔ);
第三,本次發(fā)布的Swarm Kit項(xiàng)目和Swarm Node,使Docker Engine從單一節(jié)點(diǎn)走向了集群形態(tài)。
Docker項(xiàng)目雖然開源,但是Docker公司同時(shí)揮動(dòng)鏡像標(biāo)準(zhǔn)和DockerEngine這兩面大旗,互為犄角,相輔相成,不僅牢牢的控制了生態(tài),還在此基礎(chǔ)上發(fā)展壯大,根基日益牢固,不得不令人佩服。
歷史總是驚人的相似
“以史為鑒,可以知興替”,這句話在如今的IT行業(yè)同樣適用。當(dāng)年,Intel的x86架構(gòu)芯片并非市場上唯一的選擇?赡芎芏嗄贻p人并不了解,上世紀(jì)90年代初,微軟開發(fā)的WindowsNT操作系統(tǒng),曾同時(shí)支持IA-32、MIPS、DEC Alpha、PowerPC、Itanium、x86-64和ARM等多種處理器架構(gòu)。隨著Wintel聯(lián)盟的鞏固,Intelx86架構(gòu)芯片的能力逐漸加強(qiáng),迅速形成了壟斷的形態(tài),其他處理器架構(gòu),也隨之煙消云散。
每次提到Intel,大家都會(huì)想到耳熟能詳?shù)哪柖桑?ldquo;集成電路上可容納的元器件的數(shù)目,約每隔18-24個(gè)月便會(huì)增加一倍,性能也將提升一倍”。Docker鏡像的龐大生態(tài),其中以Docker標(biāo)準(zhǔn)交付的軟件,和Docker鏡像在全球范圍的下載使用數(shù)量,將成為新的“摩爾定律”,在相當(dāng)長的一段時(shí)間內(nèi),保持著線性高速的增長,帶動(dòng)“平臺(tái)-開發(fā)者-標(biāo)準(zhǔn)”這個(gè)三足鼎立的雪球滾滾向前,勢(shì)如破竹。
在最初的386時(shí)代,Intel的CPU僅僅完成整數(shù)型運(yùn)算,類似浮點(diǎn)數(shù)運(yùn)算等基本操作,都需要靠協(xié)處理器完成;如今,Intel的CPU(包括其南北橋芯片組),已經(jīng)把諸如浮點(diǎn)運(yùn)算、顯卡、聲卡、網(wǎng)卡等之前相對(duì)獨(dú)立的組件(部件)統(tǒng)統(tǒng)集于一身。本次Docker Engine的增強(qiáng)和Swarm Kit的發(fā)布,也預(yù)示了Docker開始走集成化的道路,Swarm Kit以原生插件的方式強(qiáng)勢(shì)進(jìn)入DockerEngine,結(jié)束了“Docker只能管理單機(jī)”這一困擾業(yè)界三年之久的難題。
隨著Docker Engine集成度的提升,存儲(chǔ)和網(wǎng)絡(luò)等底層資源適配對(duì)接范圍的擴(kuò)大,Docker將為云計(jì)算這臺(tái)巨大計(jì)算機(jī)插上“奔騰的芯”。
不論是Amazon AWS還是Microsoft Azure等公有云,還是VMware、OpenStack等私有云,其最終形態(tài)都是一組可以自動(dòng)化調(diào)度的計(jì)算、網(wǎng)絡(luò)和存儲(chǔ)資源的集合。
Docker容器技術(shù)的出現(xiàn),將在這一系列異構(gòu)資源之上,架設(shè)一個(gè)獨(dú)立、抽象、開發(fā)者認(rèn)可、應(yīng)用程序兼容的層級(jí)。如同當(dāng)年的x86芯片和其上的操作系統(tǒng)API,幫助開發(fā)者免除了以機(jī)器語言對(duì)接特定硬件的苦惱,Docker也將抹平各類公有和私有IaaS云平臺(tái)的差異,營造天下大同的云端新生態(tài):云上的應(yīng)用采取Docker鏡像構(gòu)建,通過Compose標(biāo)準(zhǔn)定義組件關(guān)系并聲明資源需求,借助SwarmKit完成部署,通過Docker Engine和Machine來調(diào)度底層的硬件(IaaS云平臺(tái))資源。
這畫面太美,恰似一江春水向東流,幾家歡喜幾家愁。
云計(jì)算廠商現(xiàn)在已經(jīng)開始加速擁抱容器,Docker Inside的格局,正在迅速形成。也許用不了多久,Amazon AWS視頻廣告的結(jié)尾,將會(huì)出現(xiàn)一只躍出海面的鯨魚。
當(dāng)正反饋形成時(shí),無人能夠阻擋
比爾·蓋茨在1995年出版的《未來之路》一書中提出了著名的正反饋循環(huán):事實(shí)標(biāo)準(zhǔn)常常通過經(jīng)濟(jì)機(jī)制在市場上發(fā)生演變,這種經(jīng)濟(jì)機(jī)制與推動(dòng)商業(yè)成功的正向螺旋的概念十分相似,它使一個(gè)成功推動(dòng)另一個(gè)成功,這一概念叫做正反饋,它說明事實(shí)標(biāo)準(zhǔn)之所以常常出現(xiàn)在人們尋求兼容性的時(shí)候的原因。
Docker就是處在正反饋循環(huán)的事實(shí)標(biāo)準(zhǔn),這樣的循環(huán),以巨大的生態(tài)勢(shì)能,裹挾大量的上下游廠商。未來,Docker的生態(tài)走向?qū)?huì)朝何處去?請(qǐng)容許我做一些大膽的預(yù)測(cè):
1、公有云廠商加速跟進(jìn)。
本次DockerCon發(fā)布的Docker for AWS和Docker for Azure就是一個(gè)鮮明的例子,當(dāng)Docker成為云端分布式應(yīng)用(Cloud Native)的編排和交付標(biāo)準(zhǔn),就已經(jīng)奠定了其公有云入口的高貴身份。
2、分布式存儲(chǔ)和網(wǎng)絡(luò)虛擬化廠商將加速Docker Native的支持步伐。
近些年來,隨著超融合概念和軟件定義網(wǎng)絡(luò)、軟件定義存儲(chǔ)的興起,產(chǎn)生了大量不依賴專用硬件,僅靠普通CPU運(yùn)算來完成的“純軟件”存儲(chǔ)和網(wǎng)絡(luò)廠商,這些廠商不僅撼動(dòng)了Cisco、EMC等老牌企業(yè)的市場份額,也正在加速對(duì)接Docker的龐大生態(tài)。
大家可以看一看這一屆DockerCon贊助商的名單,存儲(chǔ)和網(wǎng)絡(luò)領(lǐng)域涌現(xiàn)了大量的新生力量。DockerEngine為存儲(chǔ)和網(wǎng)絡(luò)廠商提供了一個(gè)入口,由于這兩個(gè)領(lǐng)域的復(fù)雜性和背后的企業(yè)級(jí)功能的需求,注定了將產(chǎn)生一個(gè)龐大的第三方市場。
3、容器編排、調(diào)度等開源社區(qū)將遭遇洗牌,以Docker目前的發(fā)展勢(shì)態(tài),形成了DockerEngine為核心,加上Machine、Swarm/Swarmkit和Compose三架馬車的布局。
“臥榻之側(cè),豈容他人鼾睡”,這幾個(gè)領(lǐng)域關(guān)系到了Docker未來發(fā)展,在這個(gè)領(lǐng)域的第三方項(xiàng)目,如實(shí)現(xiàn)集群管理的第三方工具M(jìn)esos、Kubernetes、各類開源Compose擴(kuò)展插件等,將會(huì)發(fā)生巨大的格局性變化。
4、微服務(wù)架構(gòu)的應(yīng)用開發(fā)將迅速流行,絕大多數(shù)從頭開始的全新互聯(lián)網(wǎng)應(yīng)用架構(gòu)選型,都會(huì)認(rèn)真考慮微服務(wù)架構(gòu)和容器化交付。
5、目前Docker容器技術(shù)在企業(yè)市場的托張將逐步走向“深水區(qū)”:
企業(yè)客戶的選擇,將從“人云亦云”、“是容器就要試試”的情況,過渡到全面評(píng)估,深入理解Docker原生生態(tài)的階段,也將從實(shí)驗(yàn)性的小規(guī)模測(cè)試,逐步過渡到打造Docker原生數(shù)據(jù)中心(Docker Native Data center)的階段。
結(jié)束語
當(dāng)每一朵云都貼上Docker Inside的標(biāo)簽,誰會(huì)是這場游戲的贏家?誰會(huì)在生態(tài)的大戰(zhàn)中獨(dú)善其身,謀求一席之地?讓我們拭目以待!
作者:牛透社特約撰稿人 喻勇

曾就職于微軟和VMware,從事技術(shù)布道師、開發(fā)者社區(qū)、ISV渠道及市場戰(zhàn)略負(fù)責(zé)人等工作。2014年末喻勇從VMware離職,與同事共同創(chuàng)立DaoCloud。目前,公司已經(jīng)完成兩輪超過千萬美元規(guī)模融資,產(chǎn)品被企業(yè)級(jí)客戶、互聯(lián)網(wǎng)公司等廣泛采用。