編者按:容器技術目前已經(jīng)成為技術圈內(nèi)的"常識",但是容器生態(tài)能否健康發(fā)展仍然任重道遠。在收獲最初的贊揚之后,領軍者 Docker 如今身陷非議:2016 年執(zhí)意壯大發(fā)展 Swarm 進軍編排領域,似乎 Docker 公司一方面惹毛了很多強勁的編排領域玩家,另一方面也并沒有收獲預料之中的成果。12月14日,Docker 計劃將其關鍵容器運行模塊之一 Containerd 貢獻給開源社區(qū)。
在周暉先生看來,這意味著 Docker 的重心將回歸到容器技術本身,或已放緩其在編排領域的步伐。一直從事 PaaS 和容器技術研究的周先生還認為,不管怎樣,Docker 都是一家有著特色的優(yōu)秀公司,Docker 成功地將容器技術理念深入人心,并且也增加了業(yè)界對 PaaS 的認識和信心。以下文章來自于 InfoQ 對 Pivotal 大中華區(qū)云計算首席架構(gòu)師周暉的采訪整理。
誕生與興起:Docker 贏得聲譽
容器技術被傳頌并深入人心,是因為 Docker;但是,其實技術積累由來已久,早期的容器技術是 Google、IBM 等公司貢獻出來的,Pivotal 也發(fā)展了 Warden 容器技術,這些公司都專注于在各自的常規(guī)業(yè)務中,并沒有重點投入容器技術;而 Docker 很好地將容器技術單獨形成項目產(chǎn)品推向社區(qū)。
為什么有同樣技術潛力的公司,會有如此迥異的產(chǎn)品決策?我認為是因為著眼點不一樣或者說基因不同,大公司著眼于規(guī)?;钠髽I(yè)應用,比如 Pivotal 把容器技術內(nèi)置在 PaaS 技術中,然后以完整的解決方案的形式提供出來。結(jié)合自身例子來看,其實 Warden 比 Docker 早,但是 Pivotal 從成立的第一天起,就是面向企業(yè)級的,產(chǎn)品代碼模塊很完整,Warden 容器的代碼量很可能少于整體 Cloud Foundry 的千分之一,單獨拿出來對企業(yè)客戶意義不大,并且目標客戶也不需要知道那么底層的技術細節(jié),他們需要更專注于業(yè)務創(chuàng)新。
而 Docker 公司具有開發(fā)者基因:Docker 的產(chǎn)品很適合開發(fā)者,快速升級以滿足新的功能需求,完全不用管和前面版本的兼容性,就像有故障重啟 Windows 那么簡單,但是你讓客戶去重啟他們生產(chǎn)系統(tǒng)的 Linux 就不會那么輕易了,并且 Docker 對開發(fā)者簡單易用。Cloud Foundry 提供的容器是黑盒子,對運維人員來說簡單易用,無需關注容器細節(jié),甚至都不需要直接操作容器;而 Docker 是白盒子,隨意增添組合特性,對于技術fans 很有價值。同樣 Docker 也有很多很棒的設計,舉例說明,鏡像倉庫,誰都可以把自己做好的 Docker 鏡像上傳上去,目前Docker的鏡像倉庫有海量的鏡像,這符合互聯(lián)網(wǎng)的分享精神并因此發(fā)展壯大。所以 Docker 之所以發(fā)展起來,可以說他摸到了市場的脈絡。
因此除了自身優(yōu)秀和容器界技術成熟之外,另外一個因素是 Docker 生逢其時。2013年Docker 誕生之時,正值企業(yè)應用轉(zhuǎn)向互聯(lián)網(wǎng)應用高速發(fā)展時期,應用小型化微服務化的需求正好是其用武之地,也就是適應了今天流行面更廣的微服務的一個方面——應用部署到容器中運行。
變形發(fā)展:急于盈利,引起生態(tài)圈的利益沖突
Docker 在2016這一年做了讓生態(tài)圈反感的事情:通過之前收購一些公司大張旗鼓地發(fā)展 Swarm,集中發(fā)力集群編排管理。
容器生態(tài)中有兩個領域:一類是容器本身的領域,另外一類編排集群管理領域。這兩個領域雖然會有重疊的部分不完全獨立,但是基本上各有各的發(fā)展方向,靶向用戶不同。
第一領域是 Docker 最開始在做的內(nèi)容,面向開發(fā)者、小型企業(yè)或者個人版嘗試測試,直接應用在大型企業(yè)中的還是比較少,最多是一個部門級別的應用(數(shù)量級一般為個位數(shù));用于開發(fā)和測試,在生產(chǎn)中用的比較少(設計時也沒有考慮到生產(chǎn)的復雜性)。
第二領域的領軍代表是 Mesos、Kubernetes 和 Cloud Foundry,或者說現(xiàn)在的 CaaS.在企業(yè)中的應用,這個派系更適合做成云,管理的是大規(guī)模的應用運行生產(chǎn)環(huán)境。
兩者的定位是不一樣的,但是第二類集群管理具有更多、更早的盈利空間;經(jīng)過多輪融資后的 Docker 對盈利愿望比較強烈,因為容器本身開源很難掙錢,都是不掏錢的客戶,所以希望打入企業(yè)級的容器集群管理市場來盈利。可是 Swarm 等一系列舉動被視為捆綁競爭,非但沒有讓人對其技術刮目相看,反而損還他與生態(tài)圈內(nèi)其他廠商的關系。在今年7月底,Google Kubernetes 布道師 Kelsey Hightower 和 Docker的 CTO Solomon Hykes在 Twitter 上發(fā)生了激烈爭論,爭論的主題是要不要用 RunC 或其他容器來取代 Docker 引擎以及 OCI 的意義。