
google 擁有許多資料中心,它如何進行管理呢?答案就是軟體系統 borg。通過 borg,公司可以将衆多資料中心視為一個電腦,進行統一管理。borg 是公司儲存最好的秘密之一。不過,twitter 工程師們開發了一個類似的系統,并且是開源的。這就是 mesos。wired
網站為我們揭開了 mesos 開發背後的故事。
borg 由工程師 john wilkes 主導開發。他并不喜歡 borg 這個名字,“我樂意稱其為那個不會被命名的系統”。google 使用這個系統已經有九到十年的時間,而且他的團隊正在開發新的版本,代号是 omega。
通過 borg,google 可以在大量的伺服器之間有效配置設定任務。根據 wilkes 的說法,這個系統非常有效,它為 google 節省了一個資料中心。
borg 是 google 的秘密。不過,twitter 的工程師已經建構了一個類似的系統:mesos。mesos 計劃的創始人是 ben hindman。
mesos 項目開始于 5 年前。當時 hindman 在加州大學伯克利分校攻讀計算機科學博士學位。他從英特爾那裡獲得了一些實驗性的計算機晶片。這些晶片是“多核處理器”。通過将晶片結合在一起,他建構了 64 核,甚至是 128 核的機器,并且編寫了軟體系統,以便在這些晶片間均衡地配置設定任務。在此過程中,他意識到,這個系統可以應用到整個資料中心,“單一晶片上的 64 核或者 128 核,看起來很像是一個資料中心的 64 台或 128 台機器”。
與此同時,他的一些朋友,包括 andy konwinsik 和 matei zaharia,正在開發跨資料中心的軟體平台,就是“分布式系統”。hindman 和朋友們決定一起開發項目。他們合作的成果是 mesos,一種更有效地運作分布式系統的方法。通過 mesos,他們可以在單一的伺服器叢集上運作多個分布式系統。
在 mesos 計劃開始一年後,hindman 和他的同僚在 twitter 進行了演講,并引起了 twitter 三位工程師的興趣。這三個人曾在 google 工作。他們告訴 hindman 說,他們懷念 borg,mesos 似乎是重構這個系統的完美方式。
很快,hindman 成為 twitter 的顧問,與這些前 google 工程師們一起擴充了 mesos 項目。他最終成為了 twitter 的全職員工。
mesos 項目引起了 google 的注意。john wilkes 說,“我們發現他們在做的事情,我開始安排他們到這裡,大概是每六個月來一次,隻是聊聊天”。
mesos 與 borg 的基礎理念是相同的。根據 hindman 的說法,google 建構的新版本 borg omega,會更接近 mesos 模式。
由于 mesos 的開源性質,一些公司已經開始使用它,包括 airbnb 和 conviva。borg 也會在不久的将來揭開面紗。john wilkes 說,google 近期會發表關于 borg 的論文,因為公司相信這類工具已經達到一定的成熟度了。
wired 網站認為,從長期來看,會有越來越多的公司跟随 google 和 twitter 的步伐。