8年前,亞馬遜發(fā)布了第一個云計算產(chǎn)品。亞馬遜一直堅持云計算的目的,就是屏蔽底層的硬件,為開發(fā)者提供計算資源以運行應(yīng)用程序。 對于 AWS,還有其母公司亞馬遜,硬件都是一個競爭優(yōu)勢。亞馬遜一向不大愿意過多談?wù)撟约旱臄?shù)據(jù)中心和系統(tǒng)。 但是那些競爭對手們,包括 GOOGLE, MICROSOFT 和 IBM,則大肆宣傳在云計算上的投入和創(chuàng)新。亞馬遜也就不得不稍稍揭開一點自己的神秘面紗。
原因很簡單。亞馬遜的在線零售業(yè)務(wù),是一個700億美金的龐然大物,大雖大,但耗費現(xiàn)金并不多。 Jeff Bezos,亞馬遜的創(chuàng)始人兼 CEO,對于利潤的興趣很小,對于改變世界的興趣倒是很大。然而,云計算畢竟是這個世界上,資本最為密集的行業(yè)之一。Google 可以在數(shù)據(jù)中心上花費幾百億美金而毫不心痛,背后有壟斷性業(yè)務(wù)“搜索引擎”的支撐。 Microsoft,則在桌面軟件和數(shù)據(jù)中心軟件方面有著壟斷的地位,錢袋一樣深不可測,自然也一樣敢于一擲千金。
Google 和 Microsoft 在燒錢上的本事,無人能及。 但他們的基礎(chǔ)設(shè)施和平臺服務(wù),面對亞馬遜時的競爭力,還是令人生疑。 但若從長期來看,亞馬遜能否跟得上 google 和 microsoft 的腳步,卻很成問題了。 于是,AWS 的副總裁,卓越的工程師,James Hamilton 透露了AWS 云的規(guī)模和范圍。目的自然為了告訴大家,亞馬遜的領(lǐng)先地位以及對云計算的決心。
最重要的,永遠(yuǎn)是規(guī)模。做在線零售的亞馬遜,當(dāng)然清楚這個。 亞馬遜很少談及公有云,因為在亞馬遜的理論中,云計算就不該是私有云。亞馬遜認(rèn)為,長期來看,公有云的巨大規(guī)模,意味著大部分的組織和機構(gòu)都不需要運營自己的數(shù)據(jù)中心。
在 AWS 的 Re:Invent 大會上,jassy又一次強調(diào),自云計算業(yè)務(wù)開始以來,他和亞馬遜的 CTO Werner Vogels 就支持這個論點。(亞馬遜為美國中央情報局建設(shè)過一個特殊的 AWS 私有云,簽署了為期10 年,6.6 億美金的合同。但那只不過是一個例外。云計算本質(zhì)上還應(yīng)該是公有的)。 Jassy and Vogels的信念很簡單: 只有覆蓋了全區(qū)域,具備大容量,提供最豐富功能的云,才能勝出。會有一些例外,比如說金融服務(wù)云,或者那種100%運行特殊硬件和軟件的巨型計算中心。 公有云的資源不僅足夠好,而且一定會超越大部分的私有云。
AWS 將底層的計算能力、存儲和網(wǎng)絡(luò)功能,抽象出來,這樣開發(fā)者就可以專注于應(yīng)用開發(fā)。抽象出來的資源,要么形成純粹的基礎(chǔ)設(shè)施,要么在其上繼續(xù)抽象出一層平臺服務(wù),便于進一步實現(xiàn)自動化部署和對中間件、數(shù)據(jù)庫和支持應(yīng)用的其他服務(wù)的管理。但這并不是說底層的基礎(chǔ)設(shè)施不重要。 實際上,亞馬遜投入了巨大資金,用來設(shè)計和建設(shè)數(shù)據(jù)中心,并優(yōu)化各方面的設(shè)施從內(nèi)存條到數(shù)據(jù)中心的墻壁。基礎(chǔ)設(shè)施確實重要,絕對能夠形成競爭優(yōu)勢。
網(wǎng)絡(luò)的事,比服務(wù)器還麻煩
和許多超級數(shù)據(jù)中心一樣,亞馬遜的服務(wù)器,剛開始也是從一線的服務(wù)器制造商那里購買。亞馬遜成了rackable system(現(xiàn)在是 SGI 旗下公司)最大的客戶。 后來,亞馬遜決定自行制造系統(tǒng),以便針對自己的工作性質(zhì)進行精確調(diào)優(yōu)。尤為重要的,是為了能夠與其數(shù)據(jù)中心、電力、制冷系統(tǒng)嚴(yán)絲合縫的配合。數(shù)據(jù)中心在與時俱進的發(fā)展,系統(tǒng)也需要步調(diào)一致的前進。
過去,亞馬遜在其基礎(chǔ)設(shè)施的規(guī)模問題上,只含糊其辭,從不給出準(zhǔn)確的數(shù)據(jù)。從2004年開始,AWS 每一天都要安裝足夠多的服務(wù)器以支撐亞馬遜的在線零售業(yè)務(wù)。那個時候,亞馬遜的收入規(guī)模,僅為70億美金,僅為現(xiàn)在的1/10。
“去年發(fā)生的那些變化?”Hamilton反問道,然后開玩笑說:“我們都執(zhí)行過365次了。”
換句話說,去年 AWS 增添了足夠多的容量,以支撐2.55萬億的在線零售業(yè)務(wù)。
那么,AWS 到底容量多大? 答案是:比很多人想的還要大。
下面就是關(guān)于服務(wù)器的計算了。 亞馬遜在全球11個地區(qū)擁有數(shù)據(jù)中心。 每一個地區(qū)擁有最少2個可用區(qū),這樣所有地區(qū)一共擁有28個可用區(qū)。 (包括兩周前在德國法蘭克福啟動的新地區(qū))這些可用區(qū)為本地的工作負(fù)荷,提供隔離的和冗余的能力。類似那種串聯(lián)或者分層的容錯系統(tǒng),在數(shù)據(jù)中心和服務(wù)的層次上工作,而不是在兩個系統(tǒng)之間嚴(yán)格步調(diào)一致。每個可用區(qū)最少有一個數(shù)據(jù)中心,有些則多達6個數(shù)據(jù)中心。 (2013年1月,Hamilton 在 Re:Invent 會議上說,僅只美東地區(qū)便有超過10個數(shù)據(jù)中心,但在2014年的Re:Invent 會議上他的演講中,又說沒有可用區(qū)擁有超過6個數(shù)據(jù)中心。)目的是為了讓客戶能夠構(gòu)建自己的應(yīng)用,運行在不同的可用區(qū)上,以實現(xiàn)本地數(shù)據(jù)保護。更進一步,實現(xiàn)跨地區(qū)部署,達到更高層次的可用性。 亞馬遜通過增加新的數(shù)據(jù)中心,以為每個可用區(qū)提升容量。
基本上,和企業(yè)客戶增加的機架一樣,數(shù)據(jù)中心實際上就是 AWS 的新機架。
好了,這一切都還是很有意思的。 Hamilton 說 AWS 的每一個區(qū)域都最少有兩個可用區(qū),每個可用區(qū)則最少有1個數(shù)據(jù)中心。然后他又補充說,一個典型的數(shù)據(jù)中心最少有5萬臺服務(wù)器,有的超過8萬臺。 另外,數(shù)據(jù)中心的規(guī)模效益在到達頂峰后便即下降。隨著規(guī)模擴大,在某一個點,數(shù)據(jù)中心的邊際成本開始上升,而不是下降。 更重要的是,在到達某一個數(shù)值后,一旦發(fā)生災(zāi)難型事故導(dǎo)致數(shù)據(jù)中心失效,則殃及的“爆炸半徑”太大,使得過多的負(fù)載無法轉(zhuǎn)移。
做一點計算吧。 假設(shè) AWS 有28個可用分區(qū),每一個數(shù)據(jù)中心只有5萬服務(wù)器。這是 AWS 基礎(chǔ)設(shè)施最小的容量了。這樣,全球共有140萬服務(wù)器。如果你不相信,說每個分區(qū)有8萬臺服務(wù)器(我們知道這不是真的,只不過設(shè)置一個錯誤的最高界線),那么就是224萬機器。 為了更準(zhǔn)確的猜測 AWS 基礎(chǔ)設(shè)施的規(guī)模,你必須猜測可用區(qū)中,數(shù)據(jù)中心數(shù)量的分布情況。 我認(rèn)為很少情況下,只有一個數(shù)據(jù),大部分都是2個數(shù)據(jù)中心,擁有更多數(shù)據(jù)中心的情況則越來越少,直到到達最大值6個數(shù)據(jù)中心。我把數(shù)據(jù)擺弄來擺弄去,覺得 28個分區(qū),一共87個數(shù)據(jù)中心這樣的估算還是靠譜的。 每個分區(qū)平均3個數(shù)據(jù)中心還要多一點。 如果假設(shè)每個可用區(qū)平均6萬5千個服務(wù)器,那么你會看到數(shù)值很大:564萬服務(wù)器。如果平均5萬服務(wù)器,則降低到全球420萬機器。如果假設(shè)每個可用區(qū)的數(shù)據(jù)中心少一些-比如平均2個-那么一共280萬臺機器。 由此,答案是 AWS 可能擁有280萬到560萬服務(wù)器。 我也意識到很可能誤差很大,可是也只能這樣猜測了。









