20年前,我們總能在個人電腦的廣告結(jié)尾,聽到標志性的“IntelInside”音樂。隨著云計算和移動互聯(lián)網(wǎng)的的興起,個人電腦的黃金時代早已一去不復(fù)返,可是“IntelInside”的模式,仍在繼續(xù)上演。作為國內(nèi)Docker創(chuàng)業(yè)大潮的一份子,借新一屆DockerCon召開之際,提筆回顧過去兩年的所見所感,撰文一篇,與諸君探討和共勉。
IaaS is the BIOS of Cloud
在我的職業(yè)生涯中,有幸先后在個人電腦時代的霸主微軟,和云計算時代的新貴VMware這兩家偉大的公司工作。他們都是靠平臺起家:憑借Wintel聯(lián)盟,比爾·蓋茨獨霸市場三十余載;依靠獨特的虛擬化技術(shù),和Intelx86體系對VT技術(shù)的全面支持,VMware成為企業(yè)云計算市場的弄潮兒。
2012年初我加入VMware時,也算趕上了一段黃金時代:
彼時VMware投入大量資金,網(wǎng)羅全球最頂尖的開發(fā)者,全力打造CloudFoundry這一開源PaaS平臺,我也有幸作為團隊成員,參與和目睹當(dāng)時這一極具前瞻性平臺的發(fā)展壯大。
Cloud Foundry早期的架構(gòu)師Mark Lucovsky(他曾擔(dān)任Windows NT核心架構(gòu)師,Google技術(shù)元老)在一次內(nèi)部的分享會上語出驚人,Mark說:“IaaS is the BIOS of Cloud”。這一句話對我印象極其深刻,從那時起,我開始思考,如果今天的公有云、私有云,其本質(zhì)就是一臺(堆)機器,那么在它之上的生態(tài)如何構(gòu)建?誰又能夠主宰未來?
VMware打造Cloud Foundry時,早在2011年就引入了類似Docker的容器技術(shù),這項技術(shù)當(dāng)年被命名為Warden,由于種種原因,Warden技術(shù)被作為Cloud Foundry的一項后臺技術(shù)和部署工具,并未提升到任何戰(zhàn)略層面。
在推廣Cloud Foundry時,業(yè)界已經(jīng)普遍認為,在PaaS類云平臺上運行的應(yīng)用(當(dāng)時還并無Cloud Native一詞),其理想的載體應(yīng)該是類似Warden這樣的“容器”,而不是虛擬機。
Docker公司的前身dot Cloud,也是當(dāng)年開放式PaaS大軍中的一員,在進軍PaaS市場未果的情況下,Solomon Hykes將dot Cloud的PaaS底層容器技術(shù)開源,無心插柳,卻成就了今天大家看到的Docker生態(tài)。
2014年的夏天,我請了一個星期的年休假,在上海浦東圖書館認真的觀看和閱讀了所有能夠找到的有關(guān)Docker的資料。當(dāng)時,第一屆DockerCon正在舊金山舉辦,Solomon Hykes放出了“Upgrade the Internet”的豪言壯語,并公布了libcontainer、libchan和libswarm這三個重要的項目。在平臺廠商工作多年養(yǎng)成的直覺告訴我,Docker將是一個比“the BIOS of Cloud”強大很多的東西。
我曾把這一周的學(xué)習(xí)筆記,總結(jié)成《Docker的生態(tài)系統(tǒng)和未來》一文,洋洋灑灑寫了將近7000字,刊登在當(dāng)年9月出版發(fā)行的《程序員》雜志上。文章付梓之后,我即向VMware公司提出了辭職,義無反顧地踏上了Docker的創(chuàng)業(yè)之路。
如今,大約兩年的時間過去了,再次提筆撰寫此文時,新一屆的DockerCon正在西雅圖召開,4000余人的參會規(guī)模,也又一次刷新了紀錄。
一騎絕塵的Docker
相信本文的讀者都是Docker技術(shù)和生態(tài)的密切關(guān)注者,代碼和架構(gòu)層面的細節(jié),我也就不班門弄斧了。我嘗試帶領(lǐng)大家,從兩個獨特的角度,分析Docker技術(shù)和社區(qū)這兩年的發(fā)展歷程。2014年我寫《Docker的生態(tài)系統(tǒng)和未來》一文時,曾提出可能影響Docker發(fā)展的幾個領(lǐng)域的預(yù)言,它們分別是:
1.開源的獨立性
2.企業(yè)客戶的接受度
3.云廠商和ISV的參與
4.上層架構(gòu)的支持
Docker公司過去兩年做了幾輪非常漂亮的融資,在毫不盈利的情況下成功躋身十億美元估值的獨角獸俱樂部,并且仰賴以財務(wù)投資者為主的股權(quán)架構(gòu),成功維持了自己的獨立性。坊間曾盛傳微軟開出數(shù)十億美元的價格意圖入主Docker,但今天看來,Docker公司在相當(dāng)長的一段時間內(nèi),都有能力繼續(xù)保持自身的獨立性。
頻繁融資的同時,Docker公司這兩年的一系列漂亮的收購,如Tutum、Unikernel、Conductant,每一項都是神來之筆,都為自己的Docker生態(tài)打下更加厚重的基石。有人曾在朋友圈評論,雖然是100%的開源軟件,卻又牢牢地控制了生態(tài)。如此這般,無人能及。
2015年DockerCon的口號是“Ready for Production”,這并不是一句空話。近一年來,容器技術(shù)快速在企業(yè)市場滲透,遠有美國著名投行高盛公司宣布將把90%以上的應(yīng)用轉(zhuǎn)換為Docker容器的形態(tài)運行;近有國內(nèi)金融、制造、能源等領(lǐng)域企業(yè)客戶全面開花。云廠商和ISV的參與,微服務(wù)架構(gòu)的流行,也都印證了我之前文章的預(yù)言。
在本屆DockerCon,有兩個非常值得關(guān)注的細節(jié),也是我想跟大家探討的角度。
Docker公司的CEO名叫BenGolub,每一屆DockerCon,他都是第一個開場致辭的嘉賓。歷屆DockerCon,Ben的致辭時間都很短,內(nèi)容結(jié)構(gòu)高度一致:社區(qū)發(fā)展規(guī)模、代碼貢獻者人數(shù)、各地meetup建設(shè)、DockerHub鏡像數(shù)量、下載量,等等。
圈內(nèi)曾流傳這樣的笑話:Ben的DockerCon PPT模版近些年來從未曾改過,唯一變化的,就是其中的數(shù)字。但就是這些簡單的數(shù)字,描繪了Docker生態(tài)一騎絕塵的輪廓。在此我只提取一組數(shù)據(jù)與各位讀者分享:
上面這張表格,如果用普通直角坐標系畫一張時間和數(shù)量的關(guān)系圖,將是一條極其陡峭向上的直線,即使采用對數(shù)坐標,也能呈現(xiàn)非常高的增長斜率。
“凡構(gòu)建平臺,得開發(fā)者得天下”,Docker憑借其容器鏡像標準,在開發(fā)者社區(qū)的普及程度呈幾何級數(shù)快速蔓延。過去兩年,有CoreOS、rkt等試圖挑戰(zhàn)Docker,另立標準,但如同當(dāng)年的Intelx86+Windows的龐大生態(tài),一旦形成了“平臺-開發(fā)者-標準”這樣的三足鼎立,循環(huán)反饋的形態(tài),其他新興生態(tài)妄圖打破這樣的鐵三角,是及其困難的。
本屆DockerCon,另一個值得關(guān)注的細節(jié),是SwarmKit。有關(guān)SwarmKit的定位和架構(gòu),大家可以搜索孫宏亮撰寫的系列文章,這里我不再贅述。
SwarmKit的發(fā)布,使Docker Engine的能力大大增強,開啟了Docker Engine“超大規(guī)模集成電路”的高度集成化之路。早年的Docker Engine,只是Linux LXC API的封裝,隨著Machine和Swarm這兩個項目的高速推進,Docker Engine完成了幾個實質(zhì)性的飛躍:
首先,Docker Engine通過Libcontainer項目,將LXC抽象,初步實現(xiàn)了操作系統(tǒng)的無關(guān)性,為今后支持Windows等非LXC/C Group內(nèi)核架構(gòu)提供了可能性;
第二,通過集成Volume Driver、內(nèi)建網(wǎng)絡(luò)虛擬化能力,在容器層屏蔽了底層存儲和網(wǎng)絡(luò)資源的細節(jié),為今后容器級別的軟件定義存儲和網(wǎng)絡(luò)打下了基礎(chǔ);
第三,本次發(fā)布的Swarm Kit項目和Swarm Node,使Docker Engine從單一節(jié)點走向了集群形態(tài)。
Docker項目雖然開源,但是Docker公司同時揮動鏡像標準和DockerEngine這兩面大旗,互為犄角,相輔相成,不僅牢牢的控制了生態(tài),還在此基礎(chǔ)上發(fā)展壯大,根基日益牢固,不得不令人佩服。
歷史總是驚人的相似
“以史為鑒,可以知興替”,這句話在如今的IT行業(yè)同樣適用。當(dāng)年,Intel的x86架構(gòu)芯片并非市場上唯一的選擇。可能很多年輕人并不了解,上世紀90年代初,微軟開發(fā)的WindowsNT操作系統(tǒng),曾同時支持IA-32、MIPS、DEC Alpha、PowerPC、Itanium、x86-64和ARM等多種處理器架構(gòu)。隨著Wintel聯(lián)盟的鞏固,Intelx86架構(gòu)芯片的能力逐漸加強,迅速形成了壟斷的形態(tài),其他處理器架構(gòu),也隨之煙消云散。
每次提到Intel,大家都會想到耳熟能詳?shù)哪柖桑?ldquo;集成電路上可容納的元器件的數(shù)目,約每隔18-24個月便會增加一倍,性能也將提升一倍”。Docker鏡像的龐大生態(tài),其中以Docker標準交付的軟件,和Docker鏡像在全球范圍的下載使用數(shù)量,將成為新的“摩爾定律”,在相當(dāng)長的一段時間內(nèi),保持著線性高速的增長,帶動“平臺-開發(fā)者-標準”這個三足鼎立的雪球滾滾向前,勢如破竹。
在最初的386時代,Intel的CPU僅僅完成整數(shù)型運算,類似浮點數(shù)運算等基本操作,都需要靠協(xié)處理器完成;如今,Intel的CPU(包括其南北橋芯片組),已經(jīng)把諸如浮點運算、顯卡、聲卡、網(wǎng)卡等之前相對獨立的組件(部件)統(tǒng)統(tǒng)集于一身。本次Docker Engine的增強和Swarm Kit的發(fā)布,也預(yù)示了Docker開始走集成化的道路,Swarm Kit以原生插件的方式強勢進入DockerEngine,結(jié)束了“Docker只能管理單機”這一困擾業(yè)界三年之久的難題。
隨著Docker Engine集成度的提升,存儲和網(wǎng)絡(luò)等底層資源適配對接范圍的擴大,Docker將為云計算這臺巨大計算機插上“奔騰的芯”。
不論是Amazon AWS還是Microsoft Azure等公有云,還是VMware、OpenStack等私有云,其最終形態(tài)都是一組可以自動化調(diào)度的計算、網(wǎng)絡(luò)和存儲資源的集合。
Docker容器技術(shù)的出現(xiàn),將在這一系列異構(gòu)資源之上,架設(shè)一個獨立、抽象、開發(fā)者認可、應(yīng)用程序兼容的層級。如同當(dāng)年的x86芯片和其上的操作系統(tǒng)API,幫助開發(fā)者免除了以機器語言對接特定硬件的苦惱,Docker也將抹平各類公有和私有IaaS云平臺的差異,營造天下大同的云端新生態(tài):云上的應(yīng)用采取Docker鏡像構(gòu)建,通過Compose標準定義組件關(guān)系并聲明資源需求,借助SwarmKit完成部署,通過Docker Engine和Machine來調(diào)度底層的硬件(IaaS云平臺)資源。
這畫面太美,恰似一江春水向東流,幾家歡喜幾家愁。
云計算廠商現(xiàn)在已經(jīng)開始加速擁抱容器,Docker Inside的格局,正在迅速形成。也許用不了多久,Amazon AWS視頻廣告的結(jié)尾,將會出現(xiàn)一只躍出海面的鯨魚。
當(dāng)正反饋形成時,無人能夠阻擋
比爾·蓋茨在1995年出版的《未來之路》一書中提出了著名的正反饋循環(huán):事實標準常常通過經(jīng)濟機制在市場上發(fā)生演變,這種經(jīng)濟機制與推動商業(yè)成功的正向螺旋的概念十分相似,它使一個成功推動另一個成功,這一概念叫做正反饋,它說明事實標準之所以常常出現(xiàn)在人們尋求兼容性的時候的原因。
Docker就是處在正反饋循環(huán)的事實標準,這樣的循環(huán),以巨大的生態(tài)勢能,裹挾大量的上下游廠商。未來,Docker的生態(tài)走向?qū)翁幦ィ?strong>請容許我做一些大膽的預(yù)測:
1、公有云廠商加速跟進。
本次DockerCon發(fā)布的Docker for AWS和Docker for Azure就是一個鮮明的例子,當(dāng)Docker成為云端分布式應(yīng)用(Cloud Native)的編排和交付標準,就已經(jīng)奠定了其公有云入口的高貴身份。
2、分布式存儲和網(wǎng)絡(luò)虛擬化廠商將加速Docker Native的支持步伐。
近些年來,隨著超融合概念和軟件定義網(wǎng)絡(luò)、軟件定義存儲的興起,產(chǎn)生了大量不依賴專用硬件,僅靠普通CPU運算來完成的“純軟件”存儲和網(wǎng)絡(luò)廠商,這些廠商不僅撼動了Cisco、EMC等老牌企業(yè)的市場份額,也正在加速對接Docker的龐大生態(tài)。
大家可以看一看這一屆DockerCon贊助商的名單,存儲和網(wǎng)絡(luò)領(lǐng)域涌現(xiàn)了大量的新生力量。DockerEngine為存儲和網(wǎng)絡(luò)廠商提供了一個入口,由于這兩個領(lǐng)域的復(fù)雜性和背后的企業(yè)級功能的需求,注定了將產(chǎn)生一個龐大的第三方市場。
3、容器編排、調(diào)度等開源社區(qū)將遭遇洗牌,以Docker目前的發(fā)展勢態(tài),形成了DockerEngine為核心,加上Machine、Swarm/Swarmkit和Compose三架馬車的布局。
“臥榻之側(cè),豈容他人鼾睡”,這幾個領(lǐng)域關(guān)系到了Docker未來發(fā)展,在這個領(lǐng)域的第三方項目,如實現(xiàn)集群管理的第三方工具Mesos、Kubernetes、各類開源Compose擴展插件等,將會發(fā)生巨大的格局性變化。
4、微服務(wù)架構(gòu)的應(yīng)用開發(fā)將迅速流行,絕大多數(shù)從頭開始的全新互聯(lián)網(wǎng)應(yīng)用架構(gòu)選型,都會認真考慮微服務(wù)架構(gòu)和容器化交付。
5、目前Docker容器技術(shù)在企業(yè)市場的托張將逐步走向“深水區(qū)”:
企業(yè)客戶的選擇,將從“人云亦云”、“是容器就要試試”的情況,過渡到全面評估,深入理解Docker原生生態(tài)的階段,也將從實驗性的小規(guī)模測試,逐步過渡到打造Docker原生數(shù)據(jù)中心(Docker Native Data center)的階段。
結(jié)束語
當(dāng)每一朵云都貼上Docker Inside的標簽,誰會是這場游戲的贏家?誰會在生態(tài)的大戰(zhàn)中獨善其身,謀求一席之地?讓我們拭目以待!
作者:牛透社特約撰稿人 喻勇
曾就職于微軟和VMware,從事技術(shù)布道師、開發(fā)者社區(qū)、ISV渠道及市場戰(zhàn)略負責(zé)人等工作。2014年末喻勇從VMware離職,與同事共同創(chuàng)立DaoCloud。目前,公司已經(jīng)完成兩輪超過千萬美元規(guī)模融資,產(chǎn)品被企業(yè)級客戶、互聯(lián)網(wǎng)公司等廣泛采用。