當(dāng)Docker開展的18個(gè)月前,我們就開始了一項(xiàng)任務(wù),以建立“按鈕”的方式,可以使任何應(yīng)用程序立即持續(xù)的運(yùn)行在任何地點(diǎn)的任何服務(wù)器上。
我們的第一個(gè)任務(wù)是定義一個(gè)標(biāo)準(zhǔn)的容器格式,將任何應(yīng)用程序打包在一個(gè)輕量級(jí)的容器中,可以讓它運(yùn)行在任何的基礎(chǔ)框架上。
正是有很多的辛勤工作者參與到了Docker的整個(gè)社區(qū),Docker的功能才會(huì)變得很強(qiáng)大,我們可以做出一些比較成功的Docker容器,讓其可以運(yùn)行在所有主要的基礎(chǔ)設(shè)施上;因此,我們建立一個(gè)強(qiáng)大的生態(tài)系統(tǒng),包括:
超過700個(gè)投稿人(其中95%人沒有工作于Docker.Inc.)超過65000個(gè)自由dockerized語言、框架和應(yīng)用程序(服務(wù))支持每個(gè)主要DevOps的工具、公共云,和所有主要的操作系統(tǒng)第三方工具建立在Docker一個(gè)強(qiáng)大的生態(tài)系統(tǒng)上。現(xiàn)在有超過18000個(gè)項(xiàng)目在GitHub上標(biāo)有Docker標(biāo)題在40多個(gè)國家,有超過175個(gè)以上的關(guān)于Docker的聚會(huì)團(tuán)體Docker用戶已達(dá)數(shù)百萬在這個(gè)過程中,我們構(gòu)建了一個(gè)健壯、開放的設(shè)計(jì)和治理結(jié)構(gòu),可以讓用戶、供應(yīng)商和貢獻(xiàn)者來幫忙指導(dǎo) Docker 項(xiàng)目的發(fā)展方向。
在過去的九個(gè)月,我們對(duì) Docker 進(jìn)行拓展,使之超出餓了一個(gè)簡單容器的范疇。不過 Docker 繼續(xù)定義著單一容器格式。很明顯,絕大多數(shù)我們的用戶和貢獻(xiàn)者以及供應(yīng)商都希望 Docker 可以支持在運(yùn)行在多個(gè)主機(jī)的多個(gè)離散容器中分發(fā)應(yīng)用程序。
我們認(rèn)為,當(dāng)我們轉(zhuǎn)向一個(gè)多容器、分布式應(yīng)用的世界時(shí),單個(gè)Docker容器應(yīng)用的簡單、開放的接口,無論何地的可移植性,健壯的生態(tài)工具集如果丟失,將是非常令人遺憾的。因此,我們一直在推廣更加全面的編排服務(wù)集(set of orchestration services),涵蓋網(wǎng)絡(luò)、調(diào)度、組合、集群等功能。更多細(xì)節(jié)可以在這周阿姆斯特丹舉辦的 DockerCon上獲取到,其中一些設(shè)計(jì)點(diǎn)值得注意:
多容器編排能力(multi-container orchestration capacibilities) - 與容器標(biāo)準(zhǔn)本身一樣,這種能力應(yīng)該由基于社區(qū)和生態(tài)系統(tǒng)內(nèi)的協(xié)作和反饋的開放設(shè)計(jì)流程(open design process)創(chuàng)建。這些編排功能應(yīng)該通過開放API來分發(fā),使用開放設(shè)計(jì)流程進(jìn)行公開開發(fā)這些能力不能是單一龐大的(monolithic)。每個(gè)人都應(yīng)該可以自由使用、修改,或者不使用這些服務(wù)及其高層API這些能力和API應(yīng)該支持插件(plug-ins),這樣大家可以選取最適合自身情況的調(diào)度、集群、日志或者其他服務(wù),而不應(yīng)該犧牲可移植性,跨基礎(chǔ)設(shè)計(jì)工作的能力,使用65K+ Docker化的應(yīng)用或者基于Docker的18K+工具的能力。這個(gè)插件模型在執(zhí)行引擎(比如libcontainer, LXC)和文件系統(tǒng)(BTRFS, 設(shè)備映射/device mapper,AUFS,XFS)下工作的非常好。期待下這周更多的發(fā)布說明吧。當(dāng)然,不同的人對(duì)開源項(xiàng)目如何開發(fā)有不同的看法。如上文提到的,絕大多數(shù)的用戶、貢獻(xiàn)者、生態(tài)系統(tǒng)內(nèi)的廠商都希望這個(gè)項(xiàng)目支持標(biāo)準(zhǔn)的、多Docker容器的分布式應(yīng)用。很多廠商,無論大小,都?xì)g迎并正在為此貢獻(xiàn)努力(關(guān)于Docker開放治理的更多信息,查看下這篇文章)。
我們?nèi)灾铝τ谏鷳B(tài)系統(tǒng)內(nèi)的用戶、廠商和貢獻(xiàn)者。無論大家向Docker貢獻(xiàn)的形式,是作為構(gòu)建Docker容器格式的獨(dú)立項(xiàng)目,還是作為Docker編排API的插件,或者其他形式,我們都希望開放、分層的方法都能給全部相關(guān)者提供選擇。但是,一小部分廠商不認(rèn)可這個(gè)方向。有些表達(dá)了他們的擔(dān)憂,當(dāng)Docker擴(kuò)大適用范圍,他們創(chuàng)造差異化、增值業(yè)務(wù)的空間就變小了。某些情況下,這些廠商甚至希望創(chuàng)建為他們特定基礎(chǔ)設(shè)施或業(yè)務(wù)量身定做的編排方案,因此不歡迎可移植性的概念。當(dāng)然在另外一些情況下,會(huì)有些技術(shù)性或者哲學(xué)意義上的區(qū)別,這些區(qū)別看上去與Rocker最近的發(fā)布聲明有關(guān)。我們希望能在后續(xù)的文章中解釋Rocker項(xiàng)目帶來的一些技術(shù)爭論。
這里,我們要強(qiáng)調(diào)這只是一個(gè)健康的,開源過程。就像 Docker 是開源的,并遵守Apache開源協(xié)議,人們可以自由使用,修改,或者為了自己的需求進(jìn)行改造。他們可以只把Docker作為一個(gè)簡單的容器。他們可以自由的將更高級(jí)別的服務(wù)加入到Docker。當(dāng)然他們也可以自由的推廣另外一種概念作為新標(biāo)準(zhǔn),就像Rocket團(tuán)隊(duì)已經(jīng)做的那樣。
盡管我們不同意一些質(zhì)疑、爭論以及Rocket發(fā)布時(shí)間,我們希望我們能繼續(xù)以用戶和開發(fā)者的利益作為我們的共同的導(dǎo)向。
原文鏈接:http://www.oschina.net/translate/initial-thoughts-on-the-rocket-announcement