編譯|核子可樂(lè)、燕珊 Do
cker 如今的體量與當(dāng)初的潛在愿景相比實(shí)在太過(guò)渺小,本文將帶你了解 Docker“落得如此田地”的原因和真相的細(xì)節(jié)。 Docker 還活著。盡管它近兩三年的境況并不理想,但它還在苦苦掙扎,試圖找到自己的商業(yè)價(jià)值。就在上周,Docker 宣布更改 Docker 軟件的許可條款。在不久的將來(lái),為大企業(yè)工作的 Docker Desktop 專(zhuān)業(yè)用戶(hù)需要付費(fèi)訂閱才能繼續(xù)使用。
與此同時(shí),Docker 還推出了一項(xiàng)專(zhuān)門(mén)針對(duì)企業(yè)的新訂閱計(jì)劃,即 Docker Business。新條款于 8 月 31 日生效,但 Docker 給出了截至 2022 年 1 月 31 日的寬限期,以便開(kāi)發(fā)人員遵守新服務(wù)協(xié)議并在有需要的時(shí)候購(gòu)買(mǎi)付費(fèi)訂閱。
不出所料,Docker 的舉措引發(fā)了開(kāi)發(fā)者的討論。雖然許多人表示理解 Docker 新訂閱背后的考慮,但也表達(dá)了他們的不滿(mǎn)。批評(píng)主要分兩類(lèi),有些人認(rèn)為 Docker 的決定開(kāi)創(chuàng)了有潛在“危險(xiǎn)”的先例,未來(lái)它可能會(huì)增加訂閱成本。不過(guò),其他人表示,這種觀點(diǎn)并沒(méi)有考慮到團(tuán)隊(duì)如果不得不依賴(lài)“維護(hù)不善”的開(kāi)源軟件時(shí),會(huì)產(chǎn)生更高的成本。
另一方面,人們最擔(dān)心的是企業(yè)內(nèi)部采購(gòu)流程的難度,這可能會(huì)“勸退”開(kāi)發(fā)者繼續(xù)使用 Docker,自然而然地,不少人開(kāi)始探索替代方案,包括 Minikube、Canonical 的 MicroK8s 等。
至于開(kāi)發(fā)者和企業(yè)會(huì)不會(huì)覺(jué)得 Docker Desktop 的替代方案更方便,又或者選擇支付訂閱計(jì)劃所需的少量費(fèi)用從而保持現(xiàn)有工作流程不變,還有待觀察。
Docker 的商業(yè)嘗試無(wú)可厚非,但更遺憾的是,Docker 從未成功將技術(shù)創(chuàng)新轉(zhuǎn)化為可持續(xù)的商業(yè)模式,還被迫在 2019 年 11 月將企業(yè)業(yè)務(wù)出售給 Mirantis。
今天,廣受歡迎的開(kāi)源編排工具 K
ubernetes 已經(jīng)取代了 Docker 為自己設(shè)計(jì)的利潤(rùn)核心 Swarm 企業(yè)容器編排工具。于是,Docker 苦心經(jīng)營(yíng)多年的利潤(rùn)還是“泡了湯”,之后只能半死不活地掙扎求存。但是,真實(shí)的故事要比這復(fù)雜得多。近日,外媒 InfoWorld 采訪(fǎng)了數(shù)位前任及現(xiàn)任 Docker 員工、開(kāi)源貢獻(xiàn)者、客戶(hù)及行業(yè)分析師,試圖從這個(gè)分崩離析的故事中找尋真相。
1 “每件事都只能淺嘗輒止” 嚴(yán)重依賴(lài)巨額風(fēng)險(xiǎn)投資、競(jìng)爭(zhēng)格局不斷變化加上各大云巨頭都想分一杯羹,Docker 這家年輕企業(yè)面臨的壓力實(shí)際遠(yuǎn)遠(yuǎn)超過(guò)大多數(shù)人的想象。
Docker 從 2014 年左右開(kāi)始認(rèn)真考慮將自身的容器市場(chǎng)領(lǐng)先地位轉(zhuǎn)化為可變現(xiàn)商業(yè)戰(zhàn)略。2014 年與 2015 年,該公司分別用一部分風(fēng)險(xiǎn)投資收購(gòu)了 Koality 與 Tutum,同時(shí)也推出了 Docker 企業(yè)支持計(jì)劃的首個(gè)迭代版本。
這些投資后來(lái)催生出了 Docker Hub 等產(chǎn)品——大家可以把它理解成是 Docker 鏡像的 GitHub(目前仍然存在)——最終又成就了 Docker Enterprise。但這些產(chǎn)品一直沒(méi)能真正受到企業(yè)客戶(hù)的認(rèn)可,他們通常樂(lè)于同更成熟的合作伙伴攜手,或者是自主構(gòu)建而非直接采購(gòu)解決方案。因此 Docker 只能繼續(xù)努力開(kāi)發(fā)客戶(hù)真正想要的產(chǎn)品組合。
Docker 創(chuàng)始人
Solomon Hykes(于 2018 年 3 月宣布從 Docker 離職)在接受采訪(fǎng)時(shí)指出,
“我們一直拿不出優(yōu)秀的商業(yè)產(chǎn)品,原因是我們始終無(wú)法集中注意力。我們對(duì)每件事都只能淺嘗輒止。單是維持開(kāi)發(fā)者社區(qū)的增長(zhǎng)并構(gòu)建一款偉大的商業(yè)產(chǎn)品就已經(jīng)夠難了,當(dāng)時(shí)我們還需要同時(shí)開(kāi)發(fā)三到四款。很遺憾,我們?cè)谶@方面投入了大量精力和金錢(qián),但沒(méi)能在任何一條道路上走到終點(diǎn)?!?/strong>
事后來(lái)看,Hykes 認(rèn)為 Docker 不應(yīng)該急于開(kāi)發(fā)產(chǎn)品,而最好能更多傾聽(tīng)客戶(hù)的意見(jiàn)。Hykes 感嘆道,“我本來(lái)沒(méi)必要急著擴(kuò)大商業(yè)產(chǎn)品的規(guī)模,反倒該用更多資金從社區(qū)中收集洞察見(jiàn)解,并建立起一支理解需求、有能力解決需求的團(tuán)隊(duì)。我們?cè)?2014 年曾經(jīng)面對(duì)轉(zhuǎn)折點(diǎn),但我們覺(jué)得自己等不及了,所以在急切當(dāng)中做出了決定。實(shí)際上并沒(méi)那么急?!?
也有人認(rèn)為 Docker 過(guò)早把好東西免費(fèi)發(fā)布了出來(lái)。今年年初,谷歌的 Kelsey Hightower 在采訪(fǎng)中表示,“他們相當(dāng)于是免費(fèi)推出了自己最有份量的王牌。他們已經(jīng)解決了問(wèn)題,而且是全面解決:設(shè)計(jì)鏡像、構(gòu)建鏡像、存儲(chǔ)鏡像、運(yùn)行鏡像。之后還剩什么?沒(méi)有空間了呀?!?
Hykes 并不同意這樣的觀點(diǎn)?!拔艺J(rèn)為這說(shuō)法不對(duì)。一般來(lái)講,核心開(kāi)源產(chǎn)品先要?jiǎng)?chuàng)造巨大的增長(zhǎng),之后才能找到可行的商業(yè)化機(jī)會(huì)。很多企業(yè)都成功實(shí)現(xiàn)了 Docker 的商業(yè)化,只是 Docker 自己沒(méi)有。Docker 中的很多東西都可以成功商業(yè)化,只是 Docker 自己沒(méi)做成?!?
例如,Red Hat 與 Pivotal(現(xiàn)屬于 VMware)都是 Docker 的早期合作伙伴。他們將 Docker 容器集成至自己的商業(yè) PaaS 產(chǎn)品(分別是 OpenSHift 與 Cloud Foundry)當(dāng)中,并為開(kāi)源項(xiàng)目做出了貢獻(xiàn)。
如今回憶起來(lái),Hykes 還覺(jué)得他混淆了“社區(qū)與生態(tài)系統(tǒng)”這兩個(gè)概念。Red Hat 根本“不是社區(qū)中的一部分,他們也從來(lái)不真正在乎 Docker 到底能不能成功。我們錯(cuò)誤地希望讓 Red Hat 成為社區(qū)中的一部分?;叵肫饋?lái),這樣的伙伴關(guān)系永遠(yuǎn)不可能給 Docker 帶來(lái)助益?!?
因此,旅游科技企業(yè) Amadeus 等早期客戶(hù)從 2015 年起轉(zhuǎn)向 Red Hat,借此填補(bǔ) Docker 留下的企業(yè)應(yīng)用空白。其云平臺(tái)負(fù)責(zé)人 Edouard Hubin 表示,“我們直接從先驅(qū)用戶(hù)轉(zhuǎn)型為 Red Hat 的主要合作伙伴。我們?cè)谶@種模式下使用 Docker 開(kāi)源版本,并由 Red Hat 為我們提供容器技術(shù)支持。容器化是顛覆虛擬化的重大技術(shù)變革的第一步,而真正改變了企業(yè)游戲規(guī)則的是容器編排解決方案。很明顯,Docker 沒(méi)能壓制住 Kubernetes,最終被迫陷入極為困難的局面?!?
Docker 公司前 CEO(2013 年至 2017 年)Ben Golub 則表示,“正所謂「神仙打架、凡人遭殃」。我們都知道,這場(chǎng)風(fēng)暴的中心其實(shí)并不在于 Docker,而是各大云服務(wù)商之間的慘烈搏殺。他們都想把 Docker 拉向自己的方向,而選擇忠于我們最初設(shè)立的價(jià)值觀與業(yè)務(wù)根基簡(jiǎn)直像是在鋼絲上跳舞?!?
這位前任 CEO 指出,隨著 Docker 的不斷發(fā)展,這一切因素都自然而然造成一種“緊張”的氛圍。Golub 回憶道,“我們希望建立起偉大的社區(qū)并通過(guò)開(kāi)發(fā)者產(chǎn)品獲利,同時(shí)還希望打造一款出色的運(yùn)營(yíng)商產(chǎn)品,幫助客戶(hù)大規(guī)模構(gòu)建并部署容器。雖然愿景在此,但我們很快意識(shí)到自身必須迅速擴(kuò)大規(guī)模,而且拿不出太多時(shí)間來(lái)平衡社區(qū)發(fā)展與商業(yè)企業(yè)轉(zhuǎn)型這兩條路線(xiàn)……作為一家初創(chuàng)企業(yè),我們每天在匆忙中做出上百個(gè)決定,之后就是祈禱自己能少犯點(diǎn)錯(cuò)。”
2 與 Kubernetes 談不攏的合作:自負(fù)與傲慢 縱觀整個(gè)發(fā)展歷程,Docker 做出了很多令其追悔莫及的決定,但其中最嚴(yán)重的一個(gè)當(dāng)數(shù)拒絕接受 Kubernetes 作為首選新興容器編排工具。面對(duì)這位新朋友,Docker 擺出了敵對(duì)的架勢(shì)、一意孤行地推進(jìn)自己的專(zhuān)有 Docker Swarm 編排工具。
事實(shí)上,Docker 公司在 2014 年本來(lái)有機(jī)會(huì)與谷歌 Kubernetes 團(tuán)隊(duì)開(kāi)展密切合作,并在過(guò)程當(dāng)中把控整個(gè)容器生態(tài)系統(tǒng)。
Docker 最早一批員工、也是效力時(shí)間最長(zhǎng)的 Jér?me Petazzoni 表示,“我們最大的錯(cuò)誤就是錯(cuò)過(guò)了 Kubernetes。當(dāng)時(shí)我們正處于集體心態(tài)膨脹的狀態(tài),我們認(rèn)為 Kubernetes 太復(fù)雜了,Swarm 一定能獲得成功。這種錯(cuò)誤判斷也最終讓我們陷入了集體失敗?!?
據(jù)多位親歷者證實(shí),雙方在谷歌舊金山辦公室內(nèi)展開(kāi)的緊張討論中包含眾多技術(shù)細(xì)節(jié),兩邊對(duì)于容器編排的具體實(shí)現(xiàn)方法也都有著明確而強(qiáng)烈的己見(jiàn)。
Kubernetes 聯(lián)合創(chuàng)始人、現(xiàn)任 VMware 公司副總裁 Craig McLuckie 表示,他曾提出將 Kubernetes 捐贈(zèng)給 Docker,但雙方未能達(dá)成協(xié)議。他在采訪(fǎng)中提到,“兩邊確實(shí)有點(diǎn)互相看不起的意思。我們從 Docker 那邊感受不到任何開(kāi)發(fā)經(jīng)驗(yàn),感覺(jué)上這群年輕的暴發(fā)戶(hù)根本不理解分布式系統(tǒng)的管理秘訣?!逼渌趫?chǎng)人士也提到討論氛圍并不正式,當(dāng)時(shí)的主要訴求就是尋找聯(lián)合開(kāi)發(fā)的可能性。但無(wú)論如何,兩邊團(tuán)隊(duì)未能達(dá)成任何統(tǒng)一的意見(jiàn),于是最終分道揚(yáng)鑣。谷歌則在 2014 年的夏季推出了 Kubernetes。
Hykes 也承認(rèn),當(dāng)時(shí) Docker 與谷歌團(tuán)隊(duì)之間的關(guān)系非常緊張?!坝心敲匆豢?,我們的自負(fù)占據(jù)了上風(fēng)。谷歌擁有很多既聰明又富有經(jīng)驗(yàn)的人才,但 Docker 這位局外人卻被勝利沖昏了頭腦。我們沒(méi)在谷歌工作過(guò)、也沒(méi)上過(guò)斯坦福大學(xué)、更沒(méi)有計(jì)算機(jī)科學(xué)博士學(xué)位。有些人不想讓對(duì)方來(lái)瞎摻和,于是這就成了一場(chǎng)自我之戰(zhàn)、「反智」之戰(zhàn)。最終,Docker 與 Kubernetes 團(tuán)隊(duì)之間充滿(mǎn)意義的合作就這樣胎死腹中了?!?
Docker 公司最早的一批員工、前業(yè)務(wù)發(fā)展與技術(shù)聯(lián)盟副總裁 Nick Stinemates 表示,“我們本可以讓 Kubernetes 成為 GitHub 之上頭頂 Docker 名號(hào)的一流 Docker 項(xiàng)目。事后看來(lái),Swarm 的上市時(shí)間太晚,最終引發(fā)了無(wú)法挽回的失敗?!?
“一方面是我們太過(guò)自負(fù),另一方面則在于 Kubernetes 幾位聯(lián)合創(chuàng)始人 Joe Beda、Brendan Burns 以及 Craig McLuckie 的尖銳態(tài)度——他們對(duì)于服務(wù)層級(jí) API 的需求有著毫不讓步的堅(jiān)持,但 Docker 在技術(shù)上卻并不太關(guān)注單一 API。所以我們雙方根本無(wú)法達(dá)成一致?!盨tinemates 說(shuō)道。
無(wú)論如何,Kubernetes 最終贏得了容器編排之戰(zhàn)。
但 Craig McLuckie 也強(qiáng)調(diào),他“不知道 Kubernetes 會(huì)發(fā)展到今天這個(gè)程度。事后分析太容易了,但人在局中時(shí)確實(shí)沒(méi)辦法看得那么清楚。”
3 高層的裂隙 在 2015 年以 10 億美元的“獨(dú)角獸”估值完成 9500 萬(wàn)美元的巨額 D 輪融資之后,Docker 終于走到了炒作周期的頂峰。
Stinemates 表示,“這輪融資給 Docker 設(shè)下了極高的發(fā)展期望,也暴露出我們這家企業(yè)即將面臨的一系列根本難題。我認(rèn)為當(dāng)時(shí)擔(dān)任公司 CEO 的 Ben Golub 有很多想法跟 Hykes 不同,而且大家都知道兩個(gè)人出現(xiàn)了意見(jiàn)分歧。董事會(huì)大量參與、努力安撫創(chuàng)始人的情緒,同時(shí)也給了 CEO 足夠的回旋余地,希望推動(dòng)公司走向成功。如果由 Hykes 決定,那么他會(huì)堅(jiān)持以社區(qū)為導(dǎo)向的路線(xiàn)創(chuàng)造病毒式傳播。而在 Ben 看來(lái),越早轉(zhuǎn)向商業(yè)運(yùn)營(yíng)就越能掌握主動(dòng)權(quán)。這種緊張的局勢(shì),導(dǎo)致我們?cè)趦蓷l路上都沒(méi)能走到底?!?
這種態(tài)勢(shì)最終催生出兩個(gè) Docker:面向開(kāi)發(fā)人員、廣受歡迎的命令行工具兼開(kāi)源項(xiàng)目 Docker 社區(qū)版,以及面向希望大規(guī)模采用容器的企業(yè)客戶(hù)的商業(yè)工具套件 Docker 企業(yè)版。遺憾的是,公司的行動(dòng)太慢了,沒(méi)辦法把二者明確拆分開(kāi)來(lái)并分別提供發(fā)展資源。
到 2018 年,裂隙開(kāi)始顯現(xiàn)。Docker 公司逐漸無(wú)法在日益不滿(mǎn)的開(kāi)源社區(qū)及強(qiáng)大的合作伙伴,與要求在生產(chǎn)環(huán)境中運(yùn)行容器的苛刻企業(yè)客戶(hù)之間找到可行的路線(xiàn)。
不久之后的 2018 年 3 月,Hykes 離開(kāi)了自己一手創(chuàng)立的公司。他在一篇博文中寫(xiě)道,“作為創(chuàng)始人,我當(dāng)然有著復(fù)雜的情緒。任何一位創(chuàng)業(yè)者都希望自己的公司能夠在自己離去時(shí)仍能獲得成功。我的這一天也終于到來(lái),沒(méi)想到是以這樣苦樂(lè)參半的方式。對(duì)創(chuàng)始人來(lái)說(shuō),放棄一生追逐的夢(mèng)想確實(shí)是種煎熬?!?
如今回望過(guò)去,Hykes 倒是超脫了出來(lái)?!拔乙庾R(shí)到自己并不屬于這家公司,繼續(xù)留下也沒(méi)有什么建設(shè)性貢獻(xiàn),所以我離開(kāi)了……我已經(jīng)失去了創(chuàng)業(yè)的樂(lè)趣,所以要么留下當(dāng)個(gè) CEO、要么直接告別更好。”
面對(duì)日益嚴(yán)重的資金問(wèn)題,Docker 公司輪換了新的 CEO——Ben Golub 于 2017 年 5 月讓位于給前 SAP CEO Steve Singh;2019 年 6 月,前 Hortonworks CEO Rob Bearden 又從 Singh 手中接過(guò)權(quán)柄。
4 現(xiàn)在 Docker 的定位是什么 在初始投資者 Insight Venture Partners 與 Benchmark Capital 3500 萬(wàn)美元的現(xiàn)金支撐之下,如今 Docker 的“殘軀”正在七年資深人士 Scott Johnston 的領(lǐng)導(dǎo)下,由 Docker Engine 容器運(yùn)行時(shí)、Docker Hub 鏡像庫(kù)以及 Docker Desktop 軟件苦撐著。
Johnston 在采訪(fǎng)中表示,自己正努力“像激光般聚焦開(kāi)發(fā)者的實(shí)際需求”,希望以此幫助 Docker 公司回歸本源?!拔覀冋J(rèn)為 Docker 公司比以往任何時(shí)候都更強(qiáng)大,憑借的是三個(gè)核心:以客戶(hù)為中心、統(tǒng)一的上市規(guī)劃與更具生態(tài)系統(tǒng)友好度的商業(yè)模式?!?
Johnston 決心不再重蹈過(guò)往的覆轍,專(zhuān)注為企業(yè)內(nèi)的核心軟件開(kāi)發(fā)者受眾提供價(jià)值。
Johnston 認(rèn)為,“Docker 2.0”的增長(zhǎng)機(jī)會(huì)在于為安全、經(jīng)過(guò)驗(yàn)證的鏡像提供新的開(kāi)發(fā)者工具與可信內(nèi)容,同時(shí)為以容器技術(shù)為基礎(chǔ)的新興計(jì)算模型(例如無(wú)服務(wù)器、機(jī)器學(xué)習(xí)及物聯(lián)網(wǎng)工作負(fù)載)持續(xù)提供推動(dòng)力。
更重要的是,Docker 仍然是行業(yè)標(biāo)準(zhǔn)的容器運(yùn)行時(shí),目前 Docker Desktop 擁有 300 萬(wàn)的可觀裝機(jī)量。此外,在 Stack Overflow 的《2021 年開(kāi)發(fā)者調(diào)查》報(bào)告中,49% 的受訪(fǎng)者表示自己經(jīng)常使用 Docker Desktop 工具。
盡管如此,人們對(duì) Docker 的未來(lái)仍然不太看好。Stinemates 坦言,“直白一點(diǎn)的話(huà),我會(huì)質(zhì)疑如今的 Docker 還算不算真的存在。從職業(yè)角度來(lái)看,這真的很可悲。我再也沒(méi)遇到過(guò)能像 Docker 那樣令人興奮、充滿(mǎn)活力而且時(shí)刻創(chuàng)造出火花的企業(yè)?!?
Hykes 則總結(jié)道,“公平地說(shuō),Docker 沒(méi)能把自己的業(yè)務(wù)潛力轉(zhuǎn)化成實(shí)際價(jià)值……至少目前還沒(méi)有。但我很高興 Docker 在經(jīng)歷了這么多年的坎坷之后再次抓住了建立業(yè)務(wù)的機(jī)會(huì)。這證明了 Docker 項(xiàng)目的品牌和底子都很厚實(shí)。”