一旦云服務(wù)公司達(dá)到了一定規(guī)模,網(wǎng)絡(luò)規(guī)模的數(shù)據(jù)中心經(jīng)濟(jì)學(xué)開始有了很大的意義,最新的主要服務(wù)提供商Salesforce公司看起來像是已經(jīng)越過了這個門檻。
Salesforce公司基礎(chǔ)設(shè)施工程副總裁TJKniveton表示,該公司通過“大規(guī)模轉(zhuǎn)型”改變了其基礎(chǔ)設(shè)施運(yùn)行方式,從很多專業(yè)定制服務(wù)器規(guī)格到手動配置工作的做法,就像網(wǎng)絡(luò)規(guī)模數(shù)據(jù)中心運(yùn)營商像谷歌和Facebook那樣大量使用,在公司內(nèi)部規(guī)范裸機(jī)服務(wù)器,并實(shí)施先進(jìn)的數(shù)據(jù)中心自動化工具。
Kniveton將在舊金山舉行的DCD互聯(lián)網(wǎng)大會上與來自谷歌和Joyent的基礎(chǔ)設(shè)施技術(shù)專家一起探討數(shù)據(jù)中心技術(shù)。
在過去10年中,為了適應(yīng)自己的需要,Kniveton帶領(lǐng)的研究小組致力于網(wǎng)絡(luò)規(guī)模數(shù)據(jù)中心的所有基礎(chǔ)設(shè)施的創(chuàng)新工作。這將重新定義批發(fā)數(shù)據(jù)中心提供商、硬件和軟件供應(yīng)商(Salesforce使用數(shù)據(jù)中心提供商產(chǎn)品,而不是自己建造),以及運(yùn)行在基礎(chǔ)設(shè)施之上的軟件開發(fā)商之間的關(guān)系。
一個比較大的變化就是將適用于各種應(yīng)用類型不同的服務(wù)器配置過渡到一個單一的服務(wù)器規(guī)格范。當(dāng)微軟宣布將加入Facebook的開放計算項(xiàng)目時,就提出了開源數(shù)據(jù)中心和硬件設(shè)計的倡議,去年年初,微軟公司就開始實(shí)施了類似的策略改變,在其基礎(chǔ)設(shè)施上進(jìn)行規(guī)范的單一的服務(wù)器設(shè)計,以利用規(guī)模經(jīng)濟(jì)。
Facebook的做法略有不同,雖然它有具有高度的標(biāo)準(zhǔn)化的服務(wù)器,基于工作負(fù)載類型,在每個服務(wù)器進(jìn)程使用了幾種不同的配置。
Kniveton表示,要進(jìn)一步促進(jìn)Salesforce公司單一的規(guī)格標(biāo)準(zhǔn)化,他沒有提供有關(guān)設(shè)計細(xì)節(jié),但表示,減少到一個配置會有很多的好處。
另一個大的變化是更加依賴于軟件,像可靠性和通用服務(wù)器管理。像網(wǎng)絡(luò)規(guī)模經(jīng)營公司Salesforce依賴于軟件,使其應(yīng)用具有彈性,而不是保證每個單獨(dú)的硬件全天候運(yùn)行無事。
自動化:應(yīng)用程序和基礎(chǔ)設(shè)施之間的粘合劑
數(shù)據(jù)中心的大部分軟件工作促進(jìn)了自動化進(jìn)程,所以計算機(jī)可以代替系統(tǒng)管理員的手工工作。其目標(biāo)最終不僅僅是簡單的任務(wù)自動化,而是為應(yīng)用程序提供最佳的基礎(chǔ)設(shè)施,并建立自我管理系統(tǒng)。
Salesforce公司的努力在某種程度上依賴于開源技術(shù),但Kniveton的研究小組發(fā)現(xiàn),他們需要的一切并不都是開源的。他說:“雖然有很多困難,但是這個團(tuán)隊仍然在內(nèi)部創(chuàng)造出很多技術(shù),我希望未來在某些方面實(shí)現(xiàn)開源。”
數(shù)據(jù)中心自動化是網(wǎng)絡(luò)規(guī)模化方法的關(guān)鍵。谷歌公司企業(yè)基礎(chǔ)設(shè)施首席技術(shù)官GengLi表示,自動化是保持?jǐn)?shù)據(jù)中心一切設(shè)施融合在一起的粘合劑。“這不僅僅是向一個供應(yīng)商或一些供應(yīng)商購買技術(shù),”GengLi說。
自動化使一個管理員可以管理數(shù)千臺服務(wù)器,這是在這樣的尺度來管理基礎(chǔ)設(shè)施的唯一途徑。而在谷歌數(shù)據(jù)中心就沒有系統(tǒng)管理員,GengLi表示,谷歌數(shù)據(jù)中心這樣的角色稱之為可靠性工程師。“那些人都是軟件開發(fā)人員,”他說,“這樣的工程師可以得到服務(wù)支持,實(shí)現(xiàn)基礎(chǔ)設(shè)施自動化,以正確支持服務(wù),這是他們的責(zé)任。”
自動化也有助于提高基礎(chǔ)設(shè)施的利用率。它可以使物理設(shè)施實(shí)現(xiàn)虛擬化或抽象化,并將可以使用的應(yīng)用程序創(chuàng)建虛擬池資源。例如,服務(wù)器集群中所有可用的閃存容量,可以被視為一個單一的閃存資源,并進(jìn)行分享,而不是個別的應(yīng)用程序某些服務(wù)器上使用一些閃存資源,卻留下了大量的閑置容量。
漣漪效應(yīng)風(fēng)險
顯然,系統(tǒng)越大,系統(tǒng)的自動化程度越高,如果有問題的話,其影響也就越大。在一個高度自動化的系統(tǒng)中,每一件事都是相互關(guān)聯(lián)的,一個單一的軟件缺陷可以級聯(lián)的方式傳導(dǎo),如果沒有被軟件開發(fā)人員發(fā)現(xiàn)的話,將會引發(fā)廣泛的服務(wù)中斷。
云提供商Joyent公司首席技術(shù)官布萊恩•卡特瑞警告說,在整個數(shù)據(jù)中心基礎(chǔ)設(shè)施中,自動化程度越高,就會面臨著一個微小錯誤造成災(zāi)難性后果的局面。
Kniveton承認(rèn)確實(shí)存在這樣的風(fēng)險,并稱自動化方法意味著需要更多的思考,如何避免數(shù)據(jù)中心實(shí)現(xiàn)自動化后小錯釀大禍。他表示,“權(quán)力越大意味著責(zé)任越大。”