Docker 為什么輸給了Kubernetes?Docker 員工自述!
點(diǎn)擊關(guān)注公眾號(hào),Java干貨及時(shí)送達(dá)
Docker 如今的體量與當(dāng)初的潛在愿景相比實(shí)在太過(guò)渺小,本文將帶你了解 Docker“落得如此田地”的原因和真相的細(xì)節(jié)。
一、前言
二、“每件事都只能淺嘗輒止”
也有人認(rèn)為 Docker 過(guò)早把好東西免費(fèi)發(fā)布了出來(lái)。今年年初,谷歌的 Kelsey Hightower 在采訪中表示,“他們相當(dāng)于是免費(fèi)推出了自己最有份量的王牌。他們已經(jīng)解決了問(wèn)題,而且是全面解決:設(shè)計(jì)鏡像、構(gòu)建鏡像、存儲(chǔ)鏡像、運(yùn)行鏡像。之后還剩什么?沒(méi)有空間了呀?!?/span>
分享閱讀:Spring Boot 學(xué)習(xí)筆記。
三、與 Kubernetes 談不攏的合作:自負(fù)與傲慢
縱觀整個(gè)發(fā)展歷程,Docker 做出了很多令其追悔莫及的決定,但其中最嚴(yán)重的一個(gè)當(dāng)數(shù)拒絕接受 Kubernetes 作為首選新興容器編排工具。面對(duì)這位新朋友,Docker 擺出了敵對(duì)的架勢(shì)、一意孤行地推進(jìn)自己的專有 Docker Swarm 編排工具。
事實(shí)上,Docker 公司在 2014 年本來(lái)有機(jī)會(huì)與谷歌 Kubernetes 團(tuán)隊(duì)開展密切合作,并在過(guò)程當(dāng)中把控整個(gè)容器生態(tài)系統(tǒng)。推薦一個(gè) Spring Boot 基礎(chǔ)教程及實(shí)戰(zhàn)示例:https://www.javastack.cn/categories/Spring-Boot/
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)展開的緊張討論中包含眾多技術(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é)議。他在采訪中提到,“兩邊確實(shí)有點(diǎn)互相看不起的意思。我們從 Docker 那邊感受不到任何開發(fā)經(jīng)驗(yàn),感覺(jué)上這群年輕的暴發(fā)戶根本不理解分布式系統(tǒng)的管理秘訣?!逼渌趫?chǎng)人士也提到討論氛圍并不正式,當(dāng)時(shí)的主要訴求就是尋找聯(lián)合開發(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ì)之間充滿意義的合作就這樣胎死腹中了?!?/p>
Docker 公司最早的一批員工、前業(yè)務(wù)發(fā)展與技術(shù)聯(lián)盟副總裁 Nick Stinemates 表示,“我們本可以讓 Kubernetes 成為 GitHub 之上頭頂 Docker 名號(hào)的一流 Docker 項(xiàng)目。事后看來(lái),Swarm 的上市時(shí)間太晚,最終引發(fā)了無(wú)法挽回的失敗?!?/p>
“一方面是我們太過(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)。最新面試題整理好了,點(diǎn)擊Java面試庫(kù)小程序在線刷題。
但 Craig McLuckie 也強(qiáng)調(diào),他“不知道 Kubernetes 會(huì)發(fā)展到今天這個(gè)程度。事后分析太容易了,但人在局中時(shí)確實(shí)沒(méi)辦法看得那么清楚?!?/p>
四、高層的裂隙
在 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)向的路線創(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:面向開發(fā)人員、廣受歡迎的命令行工具兼開源項(xiàng)目 Docker 社區(qū)版,以及面向希望大規(guī)模采用容器的企業(yè)客戶的商業(yè)工具套件 Docker 企業(yè)版。遺憾的是,公司的行動(dòng)太慢了,沒(méi)辦法把二者明確拆分開來(lái)并分別提供發(fā)展資源。
到 2018 年,裂隙開始顯現(xiàn)。Docker 公司逐漸無(wú)法在日益不滿的開源社區(qū)及強(qiáng)大的合作伙伴,與要求在生產(chǎn)環(huán)境中運(yùn)行容器的苛刻企業(yè)客戶之間找到可行的路線。
不久之后的 2018 年 3 月,Hykes 離開了自己一手創(chuàng)立的公司。他在一篇博文中寫道,“作為創(chuàng)始人,我當(dāng)然有著復(fù)雜的情緒。任何一位創(chuàng)業(yè)者都希望自己的公司能夠在自己離去時(shí)仍能獲得成功。我的這一天也終于到來(lái),沒(méi)想到是以這樣苦樂(lè)參半的方式。對(duì)創(chuàng)始人來(lái)說(shuō),放棄一生追逐的夢(mèng)想確實(shí)是種煎熬?!?/p>
如今回望過(guò)去,Hykes 倒是超脫了出來(lái)?!拔乙庾R(shí)到自己并不屬于這家公司,繼續(xù)留下也沒(méi)有什么建設(shè)性貢獻(xiàn),所以我離開了……我已經(jīng)失去了創(chuàng)業(yè)的樂(lè)趣,所以要么留下當(dāng)個(gè) CEO、要么直接告別更好?!?/p>
推薦一個(gè) Spring Boot 基礎(chǔ)教程及實(shí)戰(zhàn)示例:https://www.javastack.cn/categories/Spring-Boot/
面對(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)柄。另外,Java 系列面試題和答案全部整理好了,微信搜索Java技術(shù)棧,在后臺(tái)發(fā)送:面試,可以在線閱讀。
五、現(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ā)者的實(shí)際需求”,希望以此幫助 Docker 公司回歸本源。“我們認(rèn)為 Docker 公司比以往任何時(shí)候都更強(qiáng)大,憑借的是三個(gè)核心:以客戶為中心、統(tǒng)一的上市規(guī)劃與更具生態(tài)系統(tǒng)友好度的商業(yè)模式?!?/p>
Johnston 決心不再重蹈過(guò)往的覆轍,專注為企業(yè)內(nèi)的核心軟件開發(fā)者受眾提供價(jià)值。
Johnston 認(rèn)為,“Docker 2.0”的增長(zhǎng)機(jī)會(huì)在于為安全、經(jīng)過(guò)驗(yàn)證的鏡像提供新的開發(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 年開發(fā)者調(diào)查》報(bào)告中,49% 的受訪者表示自己經(jīng)常使用 Docker Desktop 工具。
盡管如此,人們對(duì) Docker 的未來(lái)仍然不太看好。Stinemates 坦言,“直白一點(diǎn)的話,我會(huì)質(zhì)疑如今的 Docker 還算不算真的存在。從職業(yè)角度來(lái)看,這真的很可悲。我再也沒(méi)遇到過(guò)能像 Docker 那樣令人興奮、充滿活力而且時(shí)刻創(chuàng)造出火花的企業(yè)?!?/p>
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í)?!?/p>
編譯:核子可樂(lè)、燕珊
來(lái)源:公眾號(hào):InfoQ(ID:infoqchina)
原文:https://www.infoworld.com/article/3632142/how-docker-broke-in-half.html







關(guān)注Java技術(shù)棧看更多干貨


