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