對於Docker公司而言,將2017年形容為艱難的一年恐怕都有些輕描淡寫。事實上,除了Uber之外,我真的想不到其它哪家被沸沸揚揚的炒作新聞所包圍的矽谷初創企業會像Docker這樣經歷糟糕透頂的一年。未來的人們在回顧Docker公司的發展歷程時,會將2017年視為這家重要軟體公司被糟糕商業慣例所摧毀,並最終走向滅亡的起點。透過今天的這篇文章,我們將對Docker公司的錯誤作法進行回顧,並探討其為何已經很難或者說太遲於解決這一切難題。
需要明確的是,Docker公司確實在軟體開發的這一波革新當中發揮了重要作用。能夠將cgroups、名稱空間、行程隔離等Linux原語納入至同一工具當中絕對是個了不起的成就。2012年,我曾經嘗試弄清如何讓開發環境變得更具可移植性。Docker的崛起使得開發環境最終轉化為一個簡單且具備版本控制能力的Dockerfile。其工具鏈將Packer、Vagrant、VirtualBox以及其它多種基礎設施共同轉移至Docker陣營當中。Docker UI實際上也做得相當出彩!總而言之,我認為Docker團隊的成員應該為他們所打造出的工具而自豪!
Docker公司的早期成功使其快速以產品為核心建立起一套龐大的社群。此外,快速發展同樣帶來了極為順利的資金流引入。高盛、格雷洛克風投、紅杉資本以及洞見風投等紛紛為Docker公司提供大量資金。截至目前,Docker公司的融資總額已經達到2.42億到2.5億美元之間。
不過同其它不少資金充裕且誕生於2010年代的初創企業類似,Docker公司同樣遭遇到一系列人力資源失誤。Docker公司對其中的一些蹩腳成員盲目加以保護[1],這導致我個人對其領導層並不欣賞。雖然產品本身的質量值得肯定,但公司的行為則令我無法認同。更遺憾的是,很多矽谷寵兒都存在這樣的問題,且顯然有必要作出改變。
隨著Kubernete的興起,Docker公司的厄運可謂加速降臨。Docker公司一直未能找到應對開源社群容器編排新寵Kubernetes的好辦法。Docker公司旗下的Docker Swarm是其所擁有的惟一容器編排工具。儘管Kubernetes率先向Docker容器示好,但Docker仍然拿出了自己的競爭性方案。而且根據記錄,Docker方面曾在2017年年初透過文章、會議乃至其它大型活動對Kubernetes表達不滿。
但透過本屆於奧斯汀召開的DockerCon 17大會來看,Docker方面突然決定全力支援Kubernetes。這種突然的變化顯然是承認了Kubernetes的崛起已經不可阻擋。而Docker在2017年KubeCon + CloudNativeCon北美大會上再次陳述此項決定,無疑更進一步強調了這一結論。
沒人瞭解Docker在今年4月的DockerCon 17大會上到底為什麼要宣佈Moby。Moby據稱屬於Docker專案的新上游,然而考慮到事前毫無先兆,因此當Solomon Hykes在DockerCon 17大會上加以宣佈時引發了大範圍的震驚與爭議性情緒。為瞭解決這波衝突,GitHub方面的工作人員甚至選擇直接加以幹預[2]。
事實上,此項轉變不僅管理水平低下,且訊息傳達也沒有得到很好的考慮。Docker方面隨後就此事作出道歉,並作出了進一步解釋。但這進一步混淆了已經令人摸不清頭腦的容器空間與Docker(或者應該說是Moby?)生態系統之間的關係。Moby部署的處理工作仍然困擾著從來者們,而Docker品牌亦可能因此受到損害。
Docker公司對於Kubernetes在最後一刻才張開的遲到且尷尬的擁抱,代表著其即將遭遇崩潰。在被問及Docker Swarm實際上是否已經無以為繼時,Solomon Hykes在推文中表示:“Docker將繼續將Kubernetes與Swarm作為首選方案中以支援,並鼓勵二者間的交叉補充。開放性與選擇性將為每個人創造出更為健康的生態系統。”但這裡的問題在於,Docker Swarm還遠遠稱不上成熟。事實上,Docker Swarm產品團隊及其少數開源貢獻者根本無法跟上Kubernetes社群那迅猛的發展步伐。而且與Docker UI一樣,Kubernetes UI同樣非常出色。就目前來看,Docker公司本身似乎正開始淪為一家容器領域中的邊緣諮詢企業。
Docker公司的真正問題在於缺乏連續的領導。在該公司當中,每一任領導者都擁有自己的戰略重點設定。這種斷代性雖然距離公司的核心越來越遠,但卻仍然存在。透過重組,Docker公司已經將業務重心轉移到企業領域。這種轉變對於Docker的投資者們具有現實意義(畢竟該公司肩負有信託責任),但這種轉變同時也會削減原本推動該品牌取得重大成功的根基。有人曾說過,“偉大的文明不是被消滅的,而只是在自取滅亡。”很明顯,Docker再次印證了這種論斷。
陰謀論:Docker公司知道自己已經沒戲唱了。技術人員們決定大規模推出Moby,並突然接納Kubernetes,這些都是為了給自己爭取一點喘息之機。 #Docker #DevOps
——Chris Short (@ChrisShort) 2017年12月29日
我曾在推文當中提到Docker公司在2017年遭遇失利的理論性猜想。Docker方面很可能意識到自己已經沒戲唱了。目前該公司的一系列組織性變革已經證明,其很可能即將退出市場(可能透過接受收購),而其技術核心也在對各類變化進行考量。如果能夠將所掌握的成果捐贈給CNCF[3],使Moby成為真正的Docker上游,同時積極擁抱Kubernetes,那麼Docker公司的這些貢獻將流芳百世。在這樣的背景下,甲骨文或微軟這類巨頭將可能對其進行收購,且不必擔心因許可問題導致Docker員工無法作出更進一步的技術貢獻。這無疑為Docker公司現有技術人員與收購方提供了兩全其美的解決方法。不用說,2018年將成為Docker公司發展歷程當中極為重要的一年。
相關連結:
-
https://twitter.com/mipsytipsy/status/723565091598147584
-
https://www.theregister.co.uk/2017/04/21/docker_renames_open_source_code_moby/
-
https://blog.docker.com/2017/03/docker-donates-containerd-to-cncf/
原文連結:https://chrisshort.net/docker-inc-is-dead/
基於Kubernetes的容器雲平臺實踐培訓
本次培訓包含:Kubernetes核心概念;Kubernetes叢集的安裝配置、運維管理、架構規劃;Kubernetes元件、監控、網路;針對於Kubernetes API介面的二次開發;DevOps基本理念;Docker的企業級應用與運維等,點選識別下方二維碼加微信好友瞭解具體培訓內容。
長按二維碼向我轉賬
受蘋果公司新規定影響,微信 iOS 版的贊賞功能被關閉,可透過二維碼轉賬支援公眾號。