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