致勝秘訣就在于知道如何建立一個成功的開源社區(qū),,另外在Linux容器中運行應(yīng)用程序方面擁有豐富的經(jīng)驗,谷歌在這方面可謂開了先河,。 圖片來源:Thinkstock 技術(shù)界日益充斥著諸多容器,,盡管競爭激烈,但業(yè)界似乎選定了Kubernetes作為默認的容器編排引擎,??紤]到市面上的諸多方案,包括Docker自己的Swarm,,有必要分析一下到底是什么原因讓Kubernetes如此大受歡迎,,尤其是考慮到它比較復雜。 與MongoDB和Linux等其他流行的開源軟件一樣,,答案似乎歸結(jié)為構(gòu)建社區(qū)方面的明智舉措――谷歌15年來的研發(fā)工作沒有白費,。最終,正是由于這種獨特的組合:出色技術(shù)加上愿意讓別人接管,,Kubernetes得以成為一個如此出類拔萃的開源項目,。 打造真正的社區(qū) 按理說,Kubernetes不該取得今日這樣的成績。畢竟,,作為一個公共開源項目,,Kubernetes問世只有短短兩年光景,而Apache Mesos已經(jīng)在市場上盤踞了七年之久,。Docker Swarm比Kubernetes來得年輕,,而且它得到了容器界的霸主:Docker公司的支持。 不過,,編排領(lǐng)域的競爭對手與Kubernetes的社區(qū)相比相形見絀――目前,,Kubernetes社區(qū)由云原生計算基金會(CNCF)管理,這個社區(qū)特別龐大而多樣化,。
到底是什么造就了這些大不一樣的社區(qū)結(jié)果?一言以蔽之:谷歌,,或者準確地說,,谷歌采取相對放手不管的做法。雖然其他每個編排項目各自對應(yīng)的廠商在業(yè)界都具有舉足輕重的地位,,但是Kubernetes得益于谷歌對日常開發(fā)采取了放手不管的做法以及原創(chuàng)性技術(shù),。 與此同時,雖然Docker擁有事實上的容器標準,,卻一直在為建立一個廣度和深度如Kubernetes的社區(qū)絞盡腦汁,。正如谷歌的凱爾西·海托華(Kelsey Hightower)指出的那樣,原因還是在于Docker本身,,Docker阻止競爭對手圍繞Docker標準展開合作,。 希特勒怒噴Docker
谷歌效仿者 Kubernetes社區(qū)能夠得到熱烈追捧,,離不開背后的出色技術(shù),。作為谷歌的Borg技術(shù),Kubernetes處于積極開發(fā),、大量投入到生產(chǎn)環(huán)境的狀態(tài)已有15年之久,。這項技術(shù)非常好,以至于谷歌幾個工程師建議開發(fā)Borg的一個版本,、開放源代碼時,,時任谷歌技術(shù)基礎(chǔ)設(shè)施一把手的烏爾斯·霍爾茲勒(Urs Holzle)做出了懷疑的反應(yīng): 還是讓我直截了當?shù)卣f吧。你們想要構(gòu)建Borg任務(wù)調(diào)度器的外部版本,。這是我們最重要的競爭優(yōu)勢之一,。這是我們甚至不在外面談?wù)摰募夹g(shù)。除此之外,,你還想要開放源代碼,? 那些工程師把Borg用作一種集群管理工具,以支持Gmail,、YouTube,、谷歌搜索及谷歌的其他流行服務(wù)背后的基礎(chǔ)設(shè)施。后來,,它被內(nèi)置到谷歌計算引擎中,,但是工程師們發(fā)現(xiàn),客戶啟用的處理器其利用率低得驚人,。需要一種容器管理系統(tǒng),,他們在后臺運行一套系統(tǒng)。難就難在將它公之于眾,。 據(jù)谷歌產(chǎn)品經(jīng)理馬丁·布爾(Martin Buhr)聲稱,,谷歌在Kubernetes背后的動機歸結(jié)為高尚的意圖以及開明的自利(enlightened self-interest)。谷歌希望開源Kubernetes可以極大地提高開發(fā)人員的生產(chǎn)力,因而使這個世界變得更美好,。說得自私些,,“我們認為,隨著時間的推移,,我們在谷歌云平臺上對于容器深入,、全面的支持會在市場上對基于容器的應(yīng)用程序產(chǎn)生一種強大的吸引力,其中相當多一部分最后會選擇我們的技術(shù),?!?/span> 換句話說,讓開發(fā)人員和運維團隊習慣于搗鼓Kubernetes,,那樣他們就會選擇讓谷歌云平臺可以使Kubernetes易于運行,。然而,如果谷歌熱衷于直接靠Kubernetes牟利,,這一切就玩不轉(zhuǎn),;對開源社區(qū)來說,赤裸裸地牟利好比是毒丸,。 簡而言之,,Kubernetes非常棒,不光是由于谷歌往其代碼投入了15年多的研發(fā)心血,,還由于谷歌渴望鼓勵社區(qū)來主導Kubernetes在下一個15年的發(fā)展,。 |
|