云計算的概念
云計算的想法并不難理解,就是要將應(yīng)用程序分散布置在由眾多硬件盒組成的一個大型網(wǎng)格中。每個盒子內(nèi)部系統(tǒng)相同,且規(guī)格均一。起平衡整個系統(tǒng)負(fù)載作用的負(fù)載均衡器發(fā)出的指令可以在各個盒間流水般無阻礙的通行,因此看似分散的盒子能運作如一體,迅速做出反應(yīng),宛如分散的小水滴在大氣壓作用下凝聚成一體終成浮動的白云,這就是"云"的概念。"云"之美還在于它的擴展性,你可以很容易地向"云"中添加更多的盒子。
在上圖中可以看出,計算云包括了三個最基本的組分:一個網(wǎng)站服務(wù)/應(yīng)用層,一個分布式存儲層,以及一個分布式隊列層。每一個層都可作為"云"本身,也就是說層的每一組分在功能和結(jié)構(gòu)上完全一致。在這最簡單的模型中,web tier就當(dāng)于LAMP中的bit概念,在"云"中,網(wǎng)絡(luò)服務(wù)器同樣可以采用Apache,同樣可以運行應(yīng)用程序的PHP代碼,但與LAMP根本不同的是數(shù)據(jù)庫不再是MySQL,而采用了分布式存儲系統(tǒng)系統(tǒng),如Amazon S3, Amazon SimpleDB或Amazon Dynamo。分布式隊列層除了在無法實時操作的情況下需要外,并不是必須的。
"云"最大的優(yōu)勢是它支持按需變化的運算商務(wù)模式。比如說,一個建立在"云"上的能支持1,000~10,000位客戶的網(wǎng)絡(luò)服務(wù)如果需要將客戶容量提高到10,000,000,那么僅僅只需向"云"中添加盒子的數(shù)量。從商業(yè)前景來說,這是非常具有吸引力的,因為采用"云"之后很容易計算出系統(tǒng)擴展所需要的成本。
云計算的現(xiàn)狀
"云"計算最好的例子無疑是Google。這個網(wǎng)絡(luò)世界的巨頭搭建和控制了數(shù)以百計、千計甚至于百萬計的硬件盒,構(gòu)成了一朵龐大的"云"。但為了應(yīng)對不斷增長的網(wǎng)絡(luò)用戶的服務(wù)請求,Google還在一刻不停地擴展著"云"的規(guī)模。
當(dāng)然,Google并不是唯一的實踐者,而是幾乎所有大型的網(wǎng)站包括Amazon, eBay, Yahoo! 和Facebook都采用了各種形式的云計算。尤其是Amazon,憑借著它在分布式計算領(lǐng)域的領(lǐng)先地位,在過去的15年一直完善著這項技術(shù),所以不難理解它要將未來的賭注壓在垂直網(wǎng)站服務(wù)上。他們相信未來屬于云計算,掌握了云計算的核心就掌握了生財之道,這一點上沒人比他們做的更好。
云計算的可靠性
對于Amazon的服務(wù)崩潰,也許有業(yè)內(nèi)人士會想:如果換成是我做的話,我一定能做的更好。這種設(shè)想一直存在于軟件業(yè)的發(fā)展史中,如計算機語言種類的重復(fù)發(fā)明、API不斷地推翻重寫,我們總認(rèn)為比前人更聰明、更富有創(chuàng)新性,但99.9%的事實證明我們是錯的。所以說這次錯不在于Amazon,在我們之前,他們已經(jīng)投入了巨大的財力和人力來試圖解決這些問題。大規(guī)模的運算服務(wù)是一個異常復(fù)雜和龐大的問題,即使對最具智慧和前途的工程師來說,也需花費數(shù)年來弄懂和解決它。
就目前來說,搭建云計算平臺可以通過獨立設(shè)計和技術(shù)購買兩種手段來實現(xiàn)。除非特定云計算結(jié)構(gòu)需要獨立設(shè)計外,大部分情況下,采用Amazon網(wǎng)絡(luò)服務(wù)的云計算結(jié)構(gòu)能滿足需要。如果要擊敗對手,必須要明白和突出自己的產(chǎn)品的獨特性,否則走重新設(shè)計的路線,你會發(fā)現(xiàn)你已失去時間和資源。
也許Amazon服務(wù)崩潰不僅僅是"云"的問題,是否還應(yīng)該考慮一下SLA(Service Level Agreements,服務(wù)品質(zhì)協(xié)議)?明明SLA上保證的是99.99%的網(wǎng)絡(luò)服務(wù)可用率,可當(dāng)服務(wù)使用3小時后就陷于癱瘓的情況該如何解釋呢?我們應(yīng)該知道,無論SLA上怎樣的承諾,它不可能保證電力供應(yīng)系統(tǒng)和"云"結(jié)構(gòu)的完美無瑕地運作。
所以我們不能盲目相信SLA,而是要動用自己的大腦。評價一個系統(tǒng)性能的穩(wěn)定性不是看它是否會崩潰,而是預(yù)測它出現(xiàn)崩潰現(xiàn)象的頻率。如果Amazon的網(wǎng)絡(luò)服務(wù)一年內(nèi)只有3小時的停工期,那么可以認(rèn)為是完美無缺的;如果是每個月,那么就是不可接受的;如果是每天,那將是令人抓狂的。
未來的發(fā)展
Amazon事件不會影響它的網(wǎng)絡(luò)服務(wù)計劃,更不會阻礙云計算發(fā)展的步伐。Amazon一直是云計算的先行者,它建立的大規(guī)模平行網(wǎng)站式計算服務(wù)正為世界上越來越多的人所接受。我們有理由相信這僅僅只是云計算的開始,它正在從根本上改變著人類運算的方式。
云計算解決了擴展性的問題,供應(yīng)商們就能把精力集中到自己產(chǎn)品和服務(wù)中去。隨著硬件成本、帶寬和服務(wù)費用不斷降低,云計算不再縹緲,而是觸手可得,人類將乘著云計算來到了另一個天空。