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