Docker 為什么輸給了Kubernetes?Docker 員工自述

Docker 如今的體量與當初的潛在愿景相比實在太過渺小,本文將帶你了解 Docker“落得如此田地”的原因和真相的細節(jié)。
一、前言
至于開發(fā)者和企業(yè)會不會覺得 Docker Desktop 的替代方案更方便,又或者選擇支付訂閱計劃所需的少量費用從而保持現(xiàn)有工作流程不變,還有待觀察。
二、“每件事都只能淺嘗輒止”
嚴重依賴巨額風(fēng)險投資、競爭格局不斷變化加上各大云巨頭都想分一杯羹,Docker 這家年輕企業(yè)面臨的壓力實際遠遠超過大多數(shù)人的想象。
也有人認為 Docker 過早把好東西免費發(fā)布了出來。今年年初,谷歌的 Kelsey Hightower 在采訪中表示,“他們相當于是免費推出了自己最有份量的王牌。他們已經(jīng)解決了問題,而且是全面解決:設(shè)計鏡像、構(gòu)建鏡像、存儲鏡像、運行鏡像。之后還剩什么?沒有空間了呀?!?/span>
分享閱讀:Spring Boot 學(xué)習(xí)筆記。
三、與 Kubernetes 談不攏的合作:自負與傲慢
縱觀整個發(fā)展歷程,Docker 做出了很多令其追悔莫及的決定,但其中最嚴重的一個當數(shù)拒絕接受 Kubernetes 作為首選新興容器編排工具。面對這位新朋友,Docker 擺出了敵對的架勢、一意孤行地推進自己的專有 Docker Swarm 編排工具。
事實上,Docker 公司在 2014 年本來有機會與谷歌 Kubernetes 團隊開展密切合作,并在過程當中把控整個容器生態(tài)系統(tǒng)。推薦一個 Spring Boot 基礎(chǔ)教程及實戰(zhàn)示例:https://www.javastack.cn/categories/Spring-Boot/
Docker 最早一批員工、也是效力時間最長的 Jér?me Petazzoni 表示,“我們最大的錯誤就是錯過了 Kubernetes。當時我們正處于集體心態(tài)膨脹的狀態(tài),我們認為 Kubernetes 太復(fù)雜了,Swarm 一定能獲得成功。這種錯誤判斷也最終讓我們陷入了集體失敗。”
據(jù)多位親歷者證實,雙方在谷歌舊金山辦公室內(nèi)展開的緊張討論中包含眾多技術(shù)細節(jié),兩邊對于容器編排的具體實現(xiàn)方法也都有著明確而強烈的己見。
Kubernetes 聯(lián)合創(chuàng)始人、現(xiàn)任 VMware 公司副總裁 Craig McLuckie 表示,他曾提出將 Kubernetes 捐贈給 Docker,但雙方未能達成協(xié)議。他在采訪中提到,“兩邊確實有點互相看不起的意思。我們從 Docker 那邊感受不到任何開發(fā)經(jīng)驗,感覺上這群年輕的暴發(fā)戶根本不理解分布式系統(tǒng)的管理秘訣?!逼渌趫鋈耸恳蔡岬接懻摲諊⒉徽剑敃r的主要訴求就是尋找聯(lián)合開發(fā)的可能性。但無論如何,兩邊團隊未能達成任何統(tǒng)一的意見,于是最終分道揚鑣。谷歌則在 2014 年的夏季推出了 Kubernetes。
Hykes 也承認,當時 Docker 與谷歌團隊之間的關(guān)系非常緊張?!坝心敲匆豢蹋覀兊淖载撜紦?jù)了上風(fēng)。谷歌擁有很多既聰明又富有經(jīng)驗的人才,但 Docker 這位局外人卻被勝利沖昏了頭腦。我們沒在谷歌工作過、也沒上過斯坦福大學(xué)、更沒有計算機科學(xué)博士學(xué)位。有些人不想讓對方來瞎摻和,于是這就成了一場自我之戰(zhàn)、「反智」之戰(zhàn)。最終,Docker 與 Kubernetes 團隊之間充滿意義的合作就這樣胎死腹中了。”
Docker 公司最早的一批員工、前業(yè)務(wù)發(fā)展與技術(shù)聯(lián)盟副總裁 Nick Stinemates 表示,“我們本可以讓 Kubernetes 成為 GitHub 之上頭頂 Docker 名號的一流 Docker 項目。事后看來,Swarm 的上市時間太晚,最終引發(fā)了無法挽回的失敗?!?/p>
“一方面是我們太過自負,另一方面則在于 Kubernetes 幾位聯(lián)合創(chuàng)始人 Joe Beda、Brendan Burns 以及 Craig McLuckie 的尖銳態(tài)度——他們對于服務(wù)層級 API 的需求有著毫不讓步的堅持,但 Docker 在技術(shù)上卻并不太關(guān)注單一 API。所以我們雙方根本無法達成一致。”Stinemates 說道。
無論如何,Kubernetes 最終贏得了容器編排之戰(zhàn)。最新面試題整理好了,點擊Java面試庫小程序在線刷題。
但 Craig McLuckie 也強調(diào),他“不知道 Kubernetes 會發(fā)展到今天這個程度。事后分析太容易了,但人在局中時確實沒辦法看得那么清楚?!?/p>
四、高層的裂隙
在 2015 年以 10 億美元的“獨角獸”估值完成 9500 萬美元的巨額 D 輪融資之后,Docker 終于走到了炒作周期的頂峰。
Stinemates 表示,“這輪融資給 Docker 設(shè)下了極高的發(fā)展期望,也暴露出我們這家企業(yè)即將面臨的一系列根本難題。我認為當時擔(dān)任公司 CEO 的 Ben Golub 有很多想法跟 Hykes 不同,而且大家都知道兩個人出現(xiàn)了意見分歧。董事會大量參與、努力安撫創(chuàng)始人的情緒,同時也給了 CEO 足夠的回旋余地,希望推動公司走向成功。如果由 Hykes 決定,那么他會堅持以社區(qū)為導(dǎo)向的路線創(chuàng)造病毒式傳播。而在 Ben 看來,越早轉(zhuǎn)向商業(yè)運營就越能掌握主動權(quán)。這種緊張的局勢,導(dǎo)致我們在兩條路上都沒能走到底?!?/p>
這種態(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)始人,我當然有著復(fù)雜的情緒。任何一位創(chuàng)業(yè)者都希望自己的公司能夠在自己離去時仍能獲得成功。我的這一天也終于到來,沒想到是以這樣苦樂參半的方式。對創(chuàng)始人來說,放棄一生追逐的夢想確實是種煎熬?!?/p>
如今回望過去,Hykes 倒是超脫了出來?!拔乙庾R到自己并不屬于這家公司,繼續(xù)留下也沒有什么建設(shè)性貢獻,所以我離開了……我已經(jīng)失去了創(chuàng)業(yè)的樂趣,所以要么留下當個 CEO、要么直接告別更好?!?/p>
推薦一個 Spring Boot 基礎(chǔ)教程及實戰(zhàn)示例:https://www.javastack.cn/categories/Spring-Boot/
面對日益嚴重的資金問題,Docker 公司輪換了新的 CEO——Ben Golub 于 2017 年 5 月讓位于給前 SAP CEO Steve Singh;2019 年 6 月,前 Hortonworks CEO Rob Bearden 又從 Singh 手中接過權(quán)柄。另外,Java 系列面試題和答案全部整理好了,微信搜索Java技術(shù)棧,在后臺發(fā)送:面試,可以在線閱讀。
五、現(xiàn)在 Docker 的定位是什么
在初始投資者 Insight Venture Partners 與 Benchmark Capital 3500 萬美元的現(xiàn)金支撐之下,如今 Docker 的“殘軀”正在七年資深人士 Scott Johnston 的領(lǐng)導(dǎo)下,由 Docker Engine 容器運行時、Docker Hub 鏡像庫以及 Docker Desktop 軟件苦撐著。
Johnston 在采訪中表示,自己正努力“像激光般聚焦開發(fā)者的實際需求”,希望以此幫助 Docker 公司回歸本源?!拔覀冋J為 Docker 公司比以往任何時候都更強大,憑借的是三個核心:以客戶為中心、統(tǒng)一的上市規(guī)劃與更具生態(tài)系統(tǒng)友好度的商業(yè)模式?!?/p>
Johnston 決心不再重蹈過往的覆轍,專注為企業(yè)內(nèi)的核心軟件開發(fā)者受眾提供價值。
Johnston 認為,“Docker 2.0”的增長機會在于為安全、經(jīng)過驗證的鏡像提供新的開發(fā)者工具與可信內(nèi)容,同時為以容器技術(shù)為基礎(chǔ)的新興計算模型(例如無服務(wù)器、機器學(xué)習(xí)及物聯(lián)網(wǎng)工作負載)持續(xù)提供推動力。
更重要的是,Docker 仍然是行業(yè)標準的容器運行時,目前 Docker Desktop 擁有 300 萬的可觀裝機量。此外,在 Stack Overflow 的《2021 年開發(fā)者調(diào)查》報告中,49% 的受訪者表示自己經(jīng)常使用 Docker Desktop 工具。
盡管如此,人們對 Docker 的未來仍然不太看好。Stinemates 坦言,“直白一點的話,我會質(zhì)疑如今的 Docker 還算不算真的存在。從職業(yè)角度來看,這真的很可悲。我再也沒遇到過能像 Docker 那樣令人興奮、充滿活力而且時刻創(chuàng)造出火花的企業(yè)?!?/p>
Hykes 則總結(jié)道,“公平地說,Docker 沒能把自己的業(yè)務(wù)潛力轉(zhuǎn)化成實際價值……至少目前還沒有。但我很高興 Docker 在經(jīng)歷了這么多年的坎坷之后再次抓住了建立業(yè)務(wù)的機會。這證明了 Docker 項目的品牌和底子都很厚實?!?/p>
來源:公眾號:InfoQ(ID:infoqchina)?
原文:https://www.infoworld.com/article/3632142/how-docker-broke-in-half.html
歡迎關(guān)注“Java引導(dǎo)者”,我們分享最有價值的Java的干貨文章,助力您成為有思想的Java開發(fā)工程師!
