(圖注:由于使用了伯格和后續(xù)的歐米茄系統(tǒng),谷歌不用在不同的服務(wù)器群組上運(yùn)行各自的軟件系統(tǒng),而是將所有的東西放在一個(gè)服務(wù)器群組上運(yùn)行。)
谷歌并未正式參與那個(gè)項(xiàng)目。但是它為巴克萊AMP試驗(yàn)室提供了資金,而AMP試驗(yàn)室正是Mesos項(xiàng)目的主要研究機(jī)構(gòu)。而且,那些參與了Mesos 項(xiàng)目的研究人員也經(jīng)常與威爾克斯那樣的谷歌員工交換想法。威爾克斯稱:“我們發(fā)現(xiàn)他們正在開發(fā)它,我開始安排自己的日程表,以便每6個(gè)月就可以跟他們碰一次頭,有時(shí)只是為了在一起聊聊。”
孔維因斯基也在谷歌臨時(shí)工作了一段時(shí)間,并且還在威爾克斯手下干了一段時(shí)間。孔維因斯基說(shuō):“我們從未針對(duì)谷歌內(nèi)部運(yùn)行的某些特定的系統(tǒng)交換過(guò)想法,因?yàn)楣雀柙谀切╉?xiàng)目的保密性上面管得非常嚴(yán)。但是我們還是得到了很多有用的反饋信息,都是在很高層面上的,比如具體的問(wèn)題是什么,我們應(yīng)該關(guān)注哪些問(wèn)題等等。”
Mesos項(xiàng)目與伯格系統(tǒng)有一點(diǎn)不同,后者的歷史要比前者長(zhǎng)一些。但是它們本質(zhì)性的問(wèn)題是一樣的。據(jù)海因德曼稱,谷歌的新版伯格系統(tǒng)即歐米茄與Mesos的模式更為接近。
這些系統(tǒng)被稱作“服務(wù)器群組管理系統(tǒng)”,它們與多年以前就在開發(fā)的很多被用來(lái)運(yùn)行超級(jí)電腦和Sun Grid Engine等服務(wù)的工具很相似。歐米茄和Mesos都可以讓你在同一個(gè)服務(wù)器群組上運(yùn)行多套分布式系統(tǒng)。你不需要專門為Hadoop分配一個(gè)服務(wù)器群組,然后為Storm(一種可以實(shí)時(shí)處理多條數(shù)據(jù)流的工具)分配另一個(gè)服務(wù)器群組,你可以將它們放在同一個(gè)服務(wù)器群組上運(yùn)行。威爾克斯稱:“這就是我們開發(fā)的方向,它可以提高效率,這也就是我們開發(fā)這些系統(tǒng)的原因。”
那些工具還提供了一個(gè)接口,軟件設(shè)計(jì)師們可以利用那個(gè)接口在伯格或Mesos平臺(tái)上運(yùn)行他們自己的應(yīng)用程序。在Twitter,這個(gè)接口被稱作 “Aurora”。例如,一組工程師可以利用Aurora來(lái)運(yùn)行Twitter的廣告系統(tǒng)。海因德曼當(dāng)時(shí)說(shuō),公司大約20%的服務(wù)都是以這種方式運(yùn)行在 Mesos平臺(tái)上的。
威爾克斯稱,現(xiàn)在谷歌提供了很多工具,幫助工程師們將各項(xiàng)資源分配給他們的應(yīng)用程序。但是歐米茄的目的是處理更多這樣的任務(wù),因此工程師們不必?fù)?dān)心細(xì)節(jié)問(wèn)題。他說(shuō):“你可以將它看作是自動(dòng)擋汽車與手動(dòng)擋汽車的對(duì)比,你想要跑得更快,你沒(méi)必要去調(diào)整壓縮比或進(jìn)口歧管。”
歐米茄項(xiàng)目仍處于開發(fā)狀態(tài),但是公司已經(jīng)開始在實(shí)際數(shù)據(jù)中心中進(jìn)行樣品測(cè)試了。
Twitter的本海因德曼
克隆的攻擊
據(jù)威爾克斯稱,谷歌打算發(fā)布一份關(guān)于伯格系統(tǒng)的研究報(bào)告。谷歌通常不愿意透露其支撐著它的網(wǎng)絡(luò)帝國(guó)的各種系統(tǒng)的資料。從競(jìng)爭(zhēng)的角度來(lái)說(shuō),那些技術(shù)具有非常重要的意義;但是一旦這些工具達(dá)到一定的成熟階段,谷歌就會(huì)向外公布。
在發(fā)布那樣一份研究報(bào)告和Mesos在Twitter的興起期間,伯格模式將在網(wǎng)絡(luò)上得到進(jìn)一步擴(kuò)散。其他一些公司如AirBNB、Conviva 和另外一家與加州伯克萊大學(xué)關(guān)系密切的公司已經(jīng)開始使用Mesos系統(tǒng),威爾克斯相信,Mesos項(xiàng)目背后的基本構(gòu)想可能會(huì)極大地改變企業(yè)運(yùn)行分布式系統(tǒng)的方式。
是的,還有很多其他方式可以高效地將工作負(fù)載分配到服務(wù)器群組中去。你可以使用虛擬化解決方案,在物理服務(wù)器上運(yùn)行虛擬服務(wù)器,然后把你想要加載的任何軟件加載到虛擬服務(wù)器上去。但是在伯格和Mesos平臺(tái)上,你不用擔(dān)心去擔(dān)心那些虛擬機(jī)。
海因德曼稱:“接口是最重要的東西。虛擬化解決方案給你的接口是一個(gè)新的虛擬機(jī),我們不想那樣,我們要想一種更簡(jiǎn)單的解決方案。我們希望人們可以管理數(shù)據(jù)中心,就象他們管理筆記本電腦一樣。”
威爾克斯稱:“如果你是一名工程師并建立起一個(gè)虛擬機(jī),你會(huì)得到一個(gè)看起來(lái)象是另一臺(tái)硬件的東西。你必須在它上面運(yùn)行一款操作系統(tǒng),你必須去管理它,你必須升級(jí)它,你必須去做需要對(duì)一臺(tái)物理設(shè)備做的所有工作。”
他接著說(shuō):“但那并不是一名工程師利用他的時(shí)間的最好方式。他們真正想要做的是運(yùn)行他們的應(yīng)用程序。我們?yōu)樗麄兲峁┝艘环N實(shí)現(xiàn)那個(gè)目標(biāo)的方法,而且不需要去使用虛擬機(jī)。”
顯然,很多工程師寧愿使用原始的虛擬機(jī)。這就是他們從亞馬遜EC2服務(wù)中獲得到的東西。亞馬遜的云計(jì)算服務(wù)已經(jīng)成為運(yùn)行軟件應(yīng)用程序最流行的方式,以致于無(wú)數(shù)公司都在努力為開發(fā)人員和企業(yè)用戶提供相似的工具。
畢業(yè)于加州巴克萊大學(xué)、同樣在威爾克斯手下干過(guò)一段時(shí)間臨時(shí)工的查理雷斯(Charles Reiss)并不認(rèn)為現(xiàn)在的這個(gè)系統(tǒng)能夠提供比其他可比解決方案更大的優(yōu)勢(shì)。但是他同時(shí)也補(bǔ)充說(shuō),歐米茄就不同了。
谷歌打算通過(guò)歐米茄項(xiàng)目讓整個(gè)流程變得更加順暢,就象Twitter利用Mesos平臺(tái)和Aurora實(shí)現(xiàn)的目標(biāo)一樣。從長(zhǎng)期角度來(lái)說(shuō),其他公司肯定會(huì)模仿它們。谷歌和Twitter將數(shù)據(jù)中心當(dāng)做一個(gè)超大型的計(jì)算機(jī)來(lái)看待,最終全世界也會(huì)這樣做。計(jì)算機(jī)科學(xué)總是利用這樣的方式向前發(fā)展。我們從一種復(fù)雜的接口起步,慢慢地開發(fā)出一種不再?gòu)?fù)雜的接口。這樣的事情在臺(tái)式機(jī)電腦、筆記本電腦和服務(wù)器領(lǐng)域都已經(jīng)發(fā)生過(guò)了?,F(xiàn)在,輪到數(shù)據(jù)中心了。