結(jié)果的差異是如此的戲劇性,讓人很難相信這是同一個(gè)設(shè)備在進(jìn)行同一個(gè)測試。這是因?yàn)椴煌脑O(shè)備虛擬化的層不同,設(shè)備驅(qū)動(dòng)程序也就大不相同。單詞“不同”每次都以特別搞笑的方式出現(xiàn),卻造就了差異巨大的結(jié)果。
想想Lucene吧,這個(gè)常見的用于文本文件大集合索引的工具。在索引創(chuàng)建測試中,基礎(chǔ)的SoftLayer設(shè)備可以很輕易地達(dá)到Amazon基本速度的兩倍還多。但索引創(chuàng)建完成后,SoftLayer搜索該索引的速度只比Amazon快30%多一點(diǎn)點(diǎn)。
不同設(shè)備在同一個(gè)云中的表現(xiàn)結(jié)果同樣也能讓人震驚。比如說谷歌,提供了大量的不盡如你意的設(shè)備。高CPU設(shè)備的速度竟然與絕大多數(shù)標(biāo)準(zhǔn)的設(shè)備大略相同,最快也快不了多少。在Tomcat模擬實(shí)驗(yàn)中,Google下的設(shè)備跑出了兩倍的速度。令人費(fèi)解的是,在Avrora標(biāo)準(zhǔn)測試中,其速度比標(biāo)準(zhǔn)設(shè)備慢3倍之多。
在關(guān)于谷歌設(shè)備的測試中,舊的經(jīng)驗(yàn)法則總是真實(shí)的,但可能不是你所期待的真實(shí)。他們當(dāng)然也經(jīng)常出錯(cuò),增加CPU可以幫助多線程的某些測試,不過偶爾速度會(huì)減慢;增加內(nèi)存條也常常能起作用但不是每次都行。所有這些明顯的修復(fù)對測試速度中的變化更加困惑,大部分的測試容易在同一時(shí)段內(nèi)重復(fù),但一些(如XALAN解析器)變化巨大。
以上這些意味著你需要充分的知識和大量的實(shí)驗(yàn)來決定這個(gè)基本問題:設(shè)備價(jià)值多少?當(dāng)賬單到期時(shí),我們就該考慮用這些基礎(chǔ)標(biāo)準(zhǔn)來衡量(設(shè)備)了。如果是創(chuàng)建Lucene索引而非只是搜索索引,那么很顯然SoftLayer更有價(jià)值。這種差異表明,如果我們想要最大化我們的收益,那么盡可能擴(kuò)大設(shè)備測試時(shí)間是十分必要的。你沒法想當(dāng)然地認(rèn)為每小時(shí)3美分的云設(shè)備一定比每小時(shí)4美分的設(shè)備更劃得來。
數(shù)據(jù)存儲
虛擬化影響作用巨大的地方是數(shù)據(jù)存儲。數(shù)據(jù)庫強(qiáng)烈依賴磁盤驅(qū)動(dòng)器的輸入輸出信號速度,虛擬化的一點(diǎn)點(diǎn)額外增加都能降低該速度。某些云不會(huì)對此有太多表示因?yàn)樗麄兇蟾耪J(rèn)為所有人都希望使用他們自己的數(shù)據(jù)庫設(shè)備。
有些云平臺則提供以字節(jié)計(jì)費(fèi)的特殊數(shù)據(jù)存儲服務(wù)。比如SoftLayer,向那些單獨(dú)的設(shè)備提供特別優(yōu)化的用于讀寫數(shù)據(jù)的MongoDB,性能表現(xiàn)肯定優(yōu)于在企業(yè)自有設(shè)備上安裝的MongoDB。惠普云和Rackspace云則步調(diào)一致地提供MySQL服務(wù)。
許多企業(yè)嘗試用不同的數(shù)據(jù)庫技術(shù)做類似的工作。他們減少虛擬化層并創(chuàng)建API,幫助客戶以比特而不是設(shè)備的方式購買存儲量。他們相信基于高度優(yōu)化的運(yùn)營系統(tǒng)肯定比客戶的正規(guī)機(jī)器性能優(yōu)越。
其他服務(wù)則強(qiáng)調(diào)不同的性能屬性。Amazon推出數(shù)據(jù)存儲解決方案的一攬子集合,他們打包比特?cái)?shù)據(jù)之后返還,但最有趣的云服務(wù)可能是Glacier,專為檢索時(shí)間可能達(dá)到“數(shù)小時(shí)“而設(shè)計(jì)的一種數(shù)據(jù)存儲服務(wù)。不是毫秒、不是秒,也不是分鐘–而是小時(shí)。
客戶當(dāng)然可以選擇另外一種設(shè)備并安裝最喜歡的存儲方案,但這樣托管的解決方案足以誘惑到為你做出決定。如果某家云平臺有你偏好的數(shù)據(jù)存儲層,你可以偶爾使用其他工具。
網(wǎng)絡(luò)選擇
另一個(gè)讓人困擾的主題是網(wǎng)絡(luò)。某些云–如戴爾云和SoftLayer云–提供連接到設(shè)備的私人網(wǎng)絡(luò)??蛻艉苋菀讋?chuàng)建一個(gè)只聽取該私人網(wǎng)絡(luò)命令的數(shù)據(jù)庫設(shè)備,這也使數(shù)據(jù)庫能更安全地躲過來自公共網(wǎng)絡(luò)的攻擊。技術(shù)不夠完美因?yàn)樵频陌踩匀匀皇莻€(gè)“多云”的東西,但是個(gè)好的開始。
其他一些供應(yīng)商提供了更多關(guān)于他們的云的一些詳盡的地理上的區(qū)別。客戶知道對自己的設(shè)備放在哪里,方便決定將數(shù)據(jù)存儲在什么地方。尤其有些多疑的企業(yè)人員,他們管理著特別重要的數(shù)據(jù)。他們可以創(chuàng)建一個(gè)龐大的設(shè)備帝國,將數(shù)據(jù)備份存儲在不同地點(diǎn),以更好地抵御風(fēng)暴、火災(zāi)及其他洪澇災(zāi)害。比如谷歌公司對不同數(shù)據(jù)中心的帶寬成本十分清楚,因此,數(shù)據(jù)在不同帶寬間傳輸?shù)某杀緝r(jià)格高出在同一數(shù)據(jù)中心傳輸?shù)膬r(jià)格。
帶寬計(jì)量有可能造成混亂。例如戴爾云,不收取傳入流量的任何費(fèi)用,簡化測量與核算,而創(chuàng)建一種專門針對客戶信息的蟑螂汽車旅館,數(shù)據(jù)存入但不希望輸出。如果創(chuàng)建一個(gè)巨大的處理數(shù)據(jù)的機(jī)器,就像來自“銀河系漫游指南”的來客,吸收大批量數(shù)據(jù)卻只提供一個(gè)數(shù)據(jù)作為答案,類似的數(shù)據(jù)計(jì)劃頗具吸引力。
基礎(chǔ)知識之外
云最有趣的地方就是專門用途的設(shè)備。即便它們并不十分適用于當(dāng)前客戶常用的PHP碼,它們也可以更便捷地處理未來挑戰(zhàn)。如Amazon,有一組顯卡(GPU)用于任何你夢想和使用的算法,執(zhí)行簡單易操作。物理學(xué)家、生物學(xué)家以及計(jì)算機(jī)科學(xué)家都已經(jīng)改變算法,在這批顯卡上運(yùn)行。這僅僅只是云讓我們更方便地嘗試新架構(gòu)的一個(gè)例子。
這些特殊的計(jì)算機(jī)裝置也不是任何時(shí)候都需要特殊的硬件設(shè)備。好多云–包括Amazon、Joyent、Windows Azure等–提供特別的Hadoop設(shè)備來滿足狂熱的需求。他們協(xié)調(diào)基礎(chǔ)的運(yùn)營系統(tǒng)、優(yōu)化JVM,性能更加卓越。Joyent聲稱他們的設(shè)備速度比之前快3倍。真的嗎?這取決于你命令設(shè)備做些什么。如Amazon,在這部分,推出一種可以直接以Hadoop工作、幫助獲取備用機(jī)時(shí)間的云設(shè)備。
還有其他一些特征,于我而言最終無關(guān)緊要。有些云性能表現(xiàn)更優(yōu)異,更安全。最開始它們吸引了我,但之后我就對此不再關(guān)注。了解設(shè)備的整體組裝益處多多,但多數(shù)開發(fā)者需要侵入他們自己的統(tǒng)計(jì)數(shù)據(jù)以更清楚的了解設(shè)備組合的吞吐量??蛻粜枨罂赡茏兓療o常,盡管如此,其他額外的性能特質(zhì)也許才是客戶需要的。
其他類似的性能最后可能更加重要。云上的一些最新特征使自動(dòng)化設(shè)備大軍更方便,然后一點(diǎn)點(diǎn)的改變每一個(gè)設(shè)備的配置。Amazon云允許客戶以同樣的形象創(chuàng)建數(shù)百個(gè)新機(jī)器,然后配置信息,允許每臺設(shè)備自我修改,無需再單獨(dú)地登陸到每臺設(shè)備并配置相關(guān)信息。
類似這種的性能的價(jià)值主要取決于運(yùn)行的工作類型。如果你的設(shè)備僅用于統(tǒng)計(jì)數(shù)據(jù),各項(xiàng)特征間差異不大。但如果你想安裝和拆卸大型機(jī)組,自動(dòng)化配置的能力十分重要。對類似這種的性能的更多支持的期望支配著人們的選擇,他們的工作是處理偶爾爆發(fā)的大數(shù)據(jù)。
最適合你的云
如果有一門可以展示以上所有的課程,那肯定是答案永遠(yuǎn)不會(huì)被削減,毫無水分。你最便宜的設(shè)備,對我而言可能不是最便宜;你的最佳帶寬成本計(jì)劃也許對我來說有些昂貴;基礎(chǔ)標(biāo)準(zhǔn)隨著數(shù)據(jù)存儲的價(jià)格而變化。在做出決定前,我們都是被系統(tǒng)逼迫著耗時(shí)耗力處理數(shù)據(jù)、運(yùn)行測試。
這部分很有趣。云可能看起來像可以解決一串服務(wù)器上運(yùn)行的所有復(fù)雜問題,但提供商要做的是解決讓人困擾的所有難題,同時(shí)開放自由態(tài)度,允許客戶選擇其他不同的架構(gòu)設(shè)施。由于我們無需對備份生成件和機(jī)架容量產(chǎn)生過多擔(dān)心,企業(yè)選擇正變得越來越透明,也越來越便捷。在花費(fèi)數(shù)月時(shí)間在我那龐大的機(jī)器王國之后,我也僅僅只是意識到我還沒真正完成。