“我們”會(huì)幫助你忘記復(fù)雜系統(tǒng),擺脫服務(wù)器安裝困擾,不再擔(dān)心備份,也不會(huì)再因?yàn)榉N種出錯(cuò)而造成損失,專(zhuān)心一致地完善企業(yè)核心競(jìng)爭(zhēng)力。只要你將數(shù)據(jù)和信用卡拿出來(lái),為自己僅支付一點(diǎn)點(diǎn)費(fèi)用,其他的工作都可以交給云計(jì)算服務(wù)器商來(lái)完成。
這段宣傳已經(jīng)成為云計(jì)算的口號(hào)。更讓人動(dòng)心的是,其方便(在需要時(shí)購(gòu)買(mǎi),在需要時(shí)付費(fèi)),而且便宜(大部分服務(wù)和糖果價(jià)格差不多,不到5美元)。
不過(guò),業(yè)“外”人士也許想象的“云計(jì)算服務(wù)”:都是雷同的,或者像是樂(lè)高玩具一樣可以隨意搭配。但事實(shí)往往并非如此,這些服務(wù)一般都很“多姿多彩”。一方面,固然是因?yàn)樵朴?jì)算服務(wù)商的宣傳需求,希望將他們的服務(wù)與競(jìng)爭(zhēng)對(duì)手相比有所差異;另一方面在,針對(duì)細(xì)分市場(chǎng)需求,不同產(chǎn)品及服務(wù)差異匯總在一起,必然也有很大不同。
為此,針對(duì)美國(guó)重要的8家IaaS服務(wù)提供商:AWS、GCE、Azure、Rackspace、SoftLayer、Dell Cloud、HP Cloud、Joyent,InfoWorld特別發(fā)布了橫向評(píng)測(cè)報(bào)告。
基準(zhǔn)測(cè)
首先是操作系統(tǒng)。盡管Linux已經(jīng)無(wú)處不在,各類(lèi)標(biāo)準(zhǔn)版、發(fā)行版可供選擇,比如Ubuntu等。但仍有一些公司還是創(chuàng)建了自己的版本,即使僅是輕微或者一般意義上的增強(qiáng)。
AWS(Amazon Web Services )和GCE(Google Compute Engine)都有其自己版本的Linux。Rackspace則可以選擇一個(gè)數(shù)量的免費(fèi)版本或者像Red Hat Enterprise Linux按月付費(fèi)。Linux并非唯一選擇,很多云服務(wù)商可以提供 Microsoft Windows 等服務(wù),不過(guò)需要額外收費(fèi)。當(dāng)然,Microsoft的Windows Azure 和Dell Cloud可以除外(本身已提供相關(guān)服務(wù))。除了微軟和DELL以外,這些企業(yè)希望通過(guò)微軟商店等服務(wù),將那些已經(jīng)在微軟技術(shù)方面投入很多的企業(yè)逐步遷移到自己的云中。但并不容易。而另外一家,Joyent Cloud則通過(guò)對(duì)Open Solaris的改造形成了自己的SmartOS。
其次,不容易被看到的區(qū)別。也許有人認(rèn)為這些服務(wù)底層都是Intel主機(jī)被放到了各自的機(jī)架中,但事實(shí)卻是,通過(guò)不同虛擬化軟件將高性能硬件進(jìn)行切分后的一小部分才是給消費(fèi)者提供的服務(wù)基礎(chǔ)。換句話(huà)說(shuō),就你租的不是地,僅僅是其中一間公寓或分時(shí)度假(timeshare)。
最后,具體數(shù)據(jù)還是要以基準(zhǔn)測(cè)試為準(zhǔn)。
當(dāng)開(kāi)始計(jì)時(shí)后,這些機(jī)器之間的差異開(kāi)始變得很明顯。這些公司都嘗試幫助我們創(chuàng)建單位來(lái)測(cè)量CPU功率,但是很明顯,這些指導(dǎo)方針很粗略。通過(guò)DaCapo collection of Java routines來(lái)做測(cè)試,顯然對(duì)于構(gòu)建Java applications的測(cè)試非常合適。
DaCapo套件測(cè)試不同的工作就如同在Java中創(chuàng)建圖像和啟動(dòng)Tomcat服務(wù)器。而對(duì)那些不使用Java的也可以通過(guò)看到功能對(duì)比通用視圖得到一些參考,畢竟每個(gè)基準(zhǔn)都會(huì)在機(jī)器上產(chǎn)品一種不同的壓力測(cè)試。
詳細(xì)比較結(jié)果見(jiàn)下表。
圖 AWS、GCE、Azure、Rackspace、SoftLayer、Dell Cloud、HP Cloud、Joyent測(cè)試圖
注意虛擬化
如此戲劇性的對(duì)比結(jié)果真讓人難以相信是在同樣機(jī)器運(yùn)行同樣測(cè)試下得到的。追其根本原因,還是因?yàn)椴煌瑱C(jī)器采用了不同類(lèi)型的虛擬化層來(lái)處理不同的設(shè)備的驅(qū)動(dòng)程序。當(dāng)這些“不同”以有趣的方式來(lái)應(yīng)用時(shí),產(chǎn)生的結(jié)果自然也完全不同。
在考慮Lucene,一種常見(jiàn)的大量文本文檔索引工具。在創(chuàng)建索引測(cè)試時(shí),SoftLayer所提供的機(jī)器要比Amazon基本實(shí)例快上至少兩倍。但是在索引建成后,在搜索索引時(shí),SoftLayer僅比Amazon快30%多一點(diǎn)。
即使是同一個(gè)云計(jì)算服務(wù)商的云中,不同機(jī)器之間的結(jié)果也會(huì)顯著不同。比如Google, 舉個(gè)例子,提供一定數(shù)量的機(jī)器,但是表現(xiàn)卻與預(yù)期不符。比如在大多數(shù)的基準(zhǔn)測(cè)試中,High-CPU machine極有可能與 standard machine性能基本相當(dāng)或略有提升。而在Tomcat simulation中,前者速度是后者的兩倍;令人費(fèi)解的是,在Avrora benchmark中,前者則比后者要慢3倍。
當(dāng)然,在這些關(guān)于Google機(jī)器的測(cè)試中,可以添加更多的CPU來(lái)幫助多線程測(cè)試,但結(jié)果顯然與預(yù)期不符,有時(shí)候甚至?xí)p緩速度。增加RAM雖然可以加速,但結(jié)果顯示也不并非總是如此。這些明顯的增速措施有時(shí)候僅能增加一點(diǎn)速度,大部分測(cè)試還是維持結(jié)果不變,而少數(shù)(如XALAn解析器等)變化顯著。
所有這一切意味著你要一個(gè)博士學(xué)位和大量實(shí)踐經(jīng)驗(yàn)來(lái)確定一個(gè)基本問(wèn)題:這些機(jī)器究竟價(jià)值如何?這些測(cè)試顯然能夠幫助你精打細(xì)算。比如,如果是構(gòu)建Lucene而不是搜索索引,顯然通過(guò)SoftLayer更合算。而如果單純對(duì)比3美分/小時(shí)或者4美分/小時(shí)顯然沒(méi)有多大意義,因?yàn)橹挥袕V泛實(shí)際測(cè)試實(shí)例才能真正揭示出服務(wù)的價(jià)值。
數(shù)據(jù)存儲(chǔ)
虛擬化影響最深的是數(shù)據(jù)存儲(chǔ)。顯然,數(shù)據(jù)庫(kù)速度嚴(yán)重依賴(lài)磁盤(pán)驅(qū)動(dòng)器的I/0通道速度,每個(gè)額外的虛擬化都會(huì)降低其速度。有些云服務(wù)提供商沒(méi)有對(duì)此提出解決方案,是由于他們認(rèn)為客戶(hù)可以運(yùn)行自己的數(shù)據(jù)庫(kù)系統(tǒng)。
當(dāng)然,也有提供了特殊數(shù)據(jù)存儲(chǔ)服務(wù)的,可以按照字節(jié)來(lái)收費(fèi)。SoftLayer實(shí)例,可以提供 MongoDB的服務(wù)。而HP Cloud和Rackspace Cloud 提供的是類(lèi)似MySQL這類(lèi)服務(wù)。還有很多企業(yè)通過(guò)不同數(shù)據(jù)庫(kù)技術(shù),剝離虛擬化層之后構(gòu)建API,已提供按照字節(jié)而非機(jī)器收費(fèi)的存儲(chǔ)服務(wù)。其寓意就是通過(guò)高度調(diào)優(yōu)的操作系統(tǒng)提供超越你自己常規(guī)機(jī)器的性能表現(xiàn)。
其他服務(wù)強(qiáng)調(diào)的是不同性能屬性。亞馬遜有一個(gè)廣泛收集數(shù)據(jù)存儲(chǔ)的解決方案,其中Glacier就很有意思。其為檔案存儲(chǔ)服務(wù):可以按照“幾小時(shí)”檢索時(shí)間收費(fèi)。注意,不是毫秒、秒和分鐘,而是按照小時(shí)。(延伸:最初推出Glacier服務(wù)(冷存儲(chǔ))時(shí),存儲(chǔ) 1GB 大小的檔案,每月支付1美分。)
這些方案之外,一般還會(huì)有其他工具與之相對(duì)應(yīng)。比如為Glacier服務(wù)中會(huì)有AES-256 技術(shù)來(lái)為用戶(hù)數(shù)據(jù)加密。
網(wǎng)絡(luò)選項(xiàng)
網(wǎng)絡(luò)是另外一個(gè)需要重點(diǎn)關(guān)注的領(lǐng)域。一些云計(jì)算服務(wù)商,比如DELL,提供了私有網(wǎng)絡(luò)連接機(jī)器。這很容易創(chuàng)建數(shù)據(jù)庫(kù)機(jī)器,從安全性上看,可以回避一些公網(wǎng)攻擊。這并不是完美的技巧,不過(guò)云安全而言,起碼是一個(gè)好的開(kāi)始。
另外一些會(huì)提供云服務(wù)中更詳細(xì)的地理信息。這對(duì)于那些希望了解機(jī)器所在,進(jìn)而決定如何存儲(chǔ)數(shù)據(jù)的企業(yè)而言挺有吸引力。比如他們可以針對(duì)最寶貴的數(shù)據(jù)進(jìn)行多地容災(zāi)備份,以抵御那些不可抗拒的風(fēng)暴、火災(zāi)及其他災(zāi)難時(shí)的危險(xiǎn)。比如,谷歌針對(duì)帶寬的成本統(tǒng)計(jì)都很透明,便于在不同的數(shù)據(jù)中心,以及相同數(shù)據(jù)中心不同位置的選擇。
帶寬計(jì)量在認(rèn)可情況下都容易造成混亂。這一點(diǎn)一定要非常注意。
超越基礎(chǔ)的服務(wù)
在云的服務(wù)中,最有意思的是專(zhuān)有服務(wù)。比如Amazon有一組video cards (GPUs) 服務(wù)。你可以通過(guò)這些服務(wù)輕松實(shí)現(xiàn)構(gòu)想或者算法驗(yàn)證。物理學(xué)家、生物學(xué)家、計(jì)算機(jī)科學(xué)家都可以驗(yàn)證之前很難得以嘗試的設(shè)計(jì)。
這些特殊的堆棧并不需要特殊的硬件,這就是關(guān)鍵。大量的云——包括Amazon、Joyent和Windows Azure,都開(kāi)業(yè)提供特殊的Hadoop機(jī)器來(lái)支持一些奇思妙想。他們優(yōu)化底層操作系統(tǒng)并提供JVM更好的性能。Joyent甚至聲稱(chēng)可以提供“快三倍的速度”。
當(dāng)然,還有其他特殊的服務(wù)。一些特殊的工作和性能的指示版挺不錯(cuò),而對(duì)大多數(shù)的開(kāi)發(fā)人員而言,一般會(huì)自己來(lái)統(tǒng)計(jì)數(shù)據(jù),以便更好地感受吞吐量等關(guān)鍵數(shù)據(jù)。
而另外一個(gè)相似的特性也在浮出水面——自動(dòng)化管理。比如Amazon容許通過(guò)鏡像來(lái)創(chuàng)建數(shù)以百計(jì)的新機(jī)器,然后通過(guò)配置信息進(jìn)行修改。而不需要登陸每臺(tái)機(jī)器來(lái)進(jìn)行獨(dú)立配置。
這類(lèi)服務(wù)會(huì)幫助某種類(lèi)型的工作大幅提升效率,不過(guò)如果你的棧是靜態(tài)的,顯然意義不大。但是如果你要建立或取消大集合機(jī)器,這個(gè)自動(dòng)配置就至關(guān)重要了。而這類(lèi)特殊服務(wù)顯然越豐富越好。
總結(jié):需求越具體,可選的范圍就越廣泛。當(dāng)然,對(duì)有些企業(yè)適合的不一定就適合你。即使是下文對(duì)這8類(lèi)公有云服務(wù)提供商的測(cè)試報(bào)告,也僅供參考。
印象八家服務(wù)商
AWS:云之父。AWS提供了豪華的21項(xiàng)選項(xiàng),資源和服務(wù)(EC2和S3還是最基礎(chǔ)的, Simple Workflow Service ,SimpleDB等等)。而且這一系統(tǒng)還在不停的增加新成員,另一方面,Amazon通過(guò)種種市場(chǎng)活動(dòng)進(jìn)行促銷(xiāo),獲得更大市場(chǎng)份額。而從中成長(zhǎng)起來(lái)的創(chuàng)新企業(yè),比如Netfix,也實(shí)現(xiàn)了自身的成長(zhǎng)。有些客戶(hù)甚至吹噓自己每月要支付給AWS100萬(wàn)美元服務(wù)費(fèi)(這比多數(shù)自建數(shù)據(jù)中心的企業(yè)支出還多)。 由此也可以看出AWS的價(jià)值。但是具體到對(duì)比中,卻并非每一項(xiàng)都有壓倒性的優(yōu)勢(shì)。
Google Compute Engine:作為一種新IaaS服務(wù),GCE在Linux實(shí)例上為用戶(hù)提供了豐富的選擇。
Windows Azure:微軟云產(chǎn)品性?xún)r(jià)比很贊(虛擬機(jī)、數(shù)據(jù)庫(kù)、存儲(chǔ)塊以及增值類(lèi)服務(wù)如企業(yè)服務(wù)總線、網(wǎng)絡(luò)連接數(shù)據(jù)地址驗(yàn)證、位置數(shù)據(jù)、bing搜索引擎、調(diào)試代碼的工具、發(fā)送郵件、安裝MongoDB、ClearDB版本的MySQL數(shù)據(jù)庫(kù)等),集成了微軟大部分的工具和大量開(kāi)源選項(xiàng),使得企業(yè)應(yīng)用更為簡(jiǎn)單便利。其優(yōu)勢(shì)很明顯,Rackspace或許需要投入更多費(fèi)用用以搭建Microsoft Windows server,但是在Azure這一投入基本可以和Linux持平。Azure支持用戶(hù)啟動(dòng)虛擬機(jī)并安裝流行的Linux發(fā)行版,比如Ubuntu Server 12.04 或者OpenSuse 12.1。據(jù)悉,其價(jià)格與WindowsServer 2008 R2和Windows Server 2012產(chǎn)品相同。此外,還支持PHP,node.js,Python和Java,及更多免費(fèi)工具??紤]到5月,通過(guò)世紀(jì)互聯(lián),Windows Azure將落地中國(guó),感興趣的朋友不妨仔細(xì)看下。
Rackspace:一貫保持讓IaaS簡(jiǎn)單的理念,提供了成熟的工具、開(kāi)放標(biāo)準(zhǔn)和企業(yè)級(jí)服務(wù)支持。
SoftLayer:快速而靈活。其自帶了細(xì)粒度的配置選項(xiàng),高性能,有趣的自助服務(wù)。
Dell Cloud:通過(guò)與VMware的合作,使得在虛擬平臺(tái)方面靈活性和復(fù)雜性表現(xiàn)好。
HP Cloud:目標(biāo)就是企業(yè)市場(chǎng)?;贠penStack所建立的IaaS云在開(kāi)放性和可移植性方面優(yōu)勢(shì)明顯。
Joyent Cloud:速度。smartOS提供的云服務(wù)很好。
寫(xiě)在最后:
除了總表之外,這8家IaaS服務(wù)供應(yīng)商的背景、優(yōu)勢(shì)、基準(zhǔn)測(cè)試表現(xiàn)及其他都有分項(xiàng)介紹,沒(méi)有逐一詳細(xì)翻譯。感興趣的朋友們可以點(diǎn)擊鏈接來(lái)看。成文之時(shí),恰逢云計(jì)算微信群討論一話(huà)題“美國(guó)云計(jì)算是一堆領(lǐng)頭狼,中國(guó)是幾只領(lǐng)頭羊”,思考再三,將原定標(biāo)題“橫評(píng)美國(guó)8家IaaS服務(wù)提供商:AWS、GCE、Azure、Rackspace、SoftLayer、Dell、HP、Joyent”改成“橫評(píng)美國(guó)IaaS 8匹狼”。希望2013年,我們的領(lǐng)頭羊能成長(zhǎng)為真正有競(jìng)爭(zhēng)力的領(lǐng)頭狼。畢竟,Azure通過(guò)世紀(jì)互聯(lián)5月就會(huì)落地,而從目前頻道掌握的資料來(lái)看,頗重。