Mesos 和 Kubernetes:不是競爭者

Mesos 和 Kubernetes:不是競爭者

編譯自: https://www.linux.com/blog/2018/6/mesos-and-kubernetes-its-not-competition

作者: Swapnil Bhartiya

人們經常用 x 相對於 y 這樣的術語來考慮問題,但是它並不是一個技術對另一個技術的問題。Ben Hindman 在這裡解釋了 Mesos 是如何對另外一種技術進行補充的。

Mesos 的起源可以追溯到 2009 年,當時,Ben Hindman 還是加州大學伯克利分校研究並行編程的博士生。他們在 128 核的芯片上做大規模的並行計算,以嘗試去解決多個問題,比如怎麼讓軟件和庫在這些芯片上運行更高效。他與同學們討論能否借鑑並行處理和多線程的思想,並將它們應用到集群管理上。

Hindman 說 “最初,我們專注於大數據” 。那時,大數據非常熱門,而 Hadoop 就是其中的一個熱門技術。“我們發現,人們在集群上運行像 Hadoop 這樣的程序與運行多線程應用及並行應用很相似。”Hindman 說。

但是,它們的效率並不高,因此,他們開始去思考,如何通過集群管理和資源管理讓它們運行的更好。“我們查看了那個時期很多的各種技術” Hindman 回憶道。

然後,Hindman 和他的同事們決定去採用一種全新的方法。“我們決定對資源管理創建一個低級的抽象,然後在此之上運行調度服務和做其它的事情。” Hindman 說,“基本上,這就是 Mesos 的本質 —— 將資源管理部分從調度部分中分離出來。”

他成功了,並且 Mesos 從那時開始強大了起來。

將項目呈獻給 Apache

這個項目發起於 2009 年。在 2010 年時,團隊決定將這個項目捐獻給 Apache 軟件基金會(ASF)。它在 Apache 孵化,並於 2013 年成為頂級項目(TLP)。

為什麼 Mesos 社區選擇 Apache 軟件基金會有很多的原因,比如,Apache 許可證,以及基金會已經擁有了一個充滿活力的其它此類項目的社區。

與影響力也有關係。許多在 Mesos 上工作的人也參與了 Apache,並且許多人也致力於像 Hadoop 這樣的項目。同時,來自 Mesos 社區的許多人也致力於其它大數據項目,比如 Spark。這種交叉工作使得這三個項目 —— Hadoop、Mesos,以及 Spark —— 成為 ASF 的項目。

與商業也有關係。許多公司對 Mesos 很感興趣,並且開發者希望它能由一箇中立的機構來維護它,而不是讓它成為一個私有項目。

誰在用 Mesos?

更好的問題應該是,誰不在用 Mesos?從 Apple 到 Netflix 每個都在用 Mesos。但是,Mesos 也面臨任何技術在早期所面對的挑戰。“最初,我要說服人們,這是一個很有趣的新技術。它叫做‘容器’,因為它不需要使用虛擬機” Hindman 說。

從那以後,這個行業發生了許多變化,現在,只要與別人聊到基礎設施,必然是從”容器“開始的 —— 感謝 Docker 所做出的工作。今天再也不需要做說服工作了,而在 Mesos 出現的早期,前面提到的像 Apple、Netflix,以及 PayPal 這樣的公司。他們已經知道了容器替代虛擬機給他們帶來的技術優勢。“這些公司在容器成為一種現象之前,已經明白了容器的價值所在”, Hindman 說。

可以在這些公司中看到,他們有大量的容器而不是虛擬機。他們所做的全部工作只是去管理和運行這些容器,並且他們欣然接受了 Mesos。在 Mesos 早期就使用它的公司有 Apple、Netflix、PayPal、Yelp、OpenTable 和 Groupon。

“大多數組織使用 Mesos 來運行各種服務” Hindman 說,“但也有些公司用它做一些非常有趣的事情,比如,數據處理、數據流、分析任務和應用程序。“

這些公司採用 Mesos 的其中一個原因是,資源管理層之間有一個明晰的界線。當公司運營容器的時候,Mesos 為他們提供了很好的靈活性。

“我們嘗試使用 Mesos 去做的一件事情是去創建一個層,以讓使用者享受到我們的層帶來的好處,當然也可以在它之上創建任何他們想要的東西,” Hindman 說。 “我認為這對一些像 Netflix 和 Apple 這樣的大公司非常有用。”

但是,並不是每個公司都是技術型的公司;不是每個公司都有或者應該有這種專長。為幫助這樣的組織,Hindman 聯合創建了 Mesosphere 去圍繞 Mesos 提供服務和解決方案。“我們最終決定,為這樣的組織去構建 DC/OS,它不需要技術專長或者不想把時間花費在像構建這樣的事情上。”

Mesos vs. Kubernetes?

人們經常用 x 相對於 y 這樣的術語來考慮問題,但是它並不是一個技術對另一個技術的問題。大多數的技術在一些領域總是重疊的,並且它們可以是互補的。“我不喜歡將所有的這些東西都看做是競爭者。我認為它們中的一些與另一個在工作中是互補的,” Hindman 說。

“事實上,名字 Mesos 表示它處於 ‘中間’;它是一種中間的操作系統”, Hindman 說,“我們有一個容器調度器的概念,它能夠運行在像 Mesos 這樣的東西之上。當 Kubernetes 剛出現的時候,我們實際上在 Mesos 的生態系統中接受了它,並將它看做是在 Mesos 上的 DC/OS 中運行容器的另一種方式。”

Mesos 也復活了一個名為 Marathon (一個用於 Mesos 和 DC/OS 的容器編排器)的項目,它成為了 Mesos 生態系統中最重要的成員。但是,Marathon 確實無法與 Kubernetes 相比較。“Kubernetes 比 Marathon 做的更多,因此,你不能將它們簡單地相互交換,” Hindman 說,“與此同時,我們在 Mesos 中做了許多 Kubernetes 中沒有的東西。因此,這些技術之間是互補的。”

不要將這些技術視為相互之間是敵對的關係,它們應該被看做是對行業有益的技術。它們不是技術上的重複;它們是多樣化的。據 Hindman 說,“對於開源領域的終端用戶來說,這可能會讓他們很困惑,因為他們很難去知道哪個技術適用於哪種任務,但這是這個被稱之為開源的本質所在。“

這只是意味著有更多的選擇,並且每個都是贏家。


via: https://www.linux.com/blog/2018/6/mesos-and-kubernetes-its-not-competition

作者: Swapnil Bhartiya 選題: lujun9972 譯者: qhwdw 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出


分享到:


相關文章: