李艷華
摘要:”云應(yīng)用”使用大規(guī)模的數(shù)據(jù)中心以及功能強(qiáng)勁的服務(wù)器來運(yùn)行網(wǎng)絡(luò)應(yīng)用程序與網(wǎng)絡(luò)服務(wù)。任何一個(gè)用戶通過合適的互聯(lián)網(wǎng)接入設(shè)備以及一個(gè)標(biāo)準(zhǔn)的瀏覽器都能夠訪問一個(gè)云計(jì)算應(yīng)用程序。當(dāng)前,工業(yè)界已經(jīng)有很多公司聚集在云計(jì)算這樣一個(gè)新型計(jì)算概念下面,分別提出了自己針對云計(jì)算的理解,用不同的技術(shù)來實(shí)現(xiàn)上述目標(biāo)。
關(guān)鍵詞:云計(jì)算;應(yīng)用;發(fā)展
1 簡介
所謂的云計(jì)算可以被看成是網(wǎng)格計(jì)算和虛擬化技術(shù)的融合:即利用網(wǎng)格分布式計(jì)算處理的能力,將IT資源構(gòu)筑成一個(gè)資源池,再加上成熟的服務(wù)器虛擬化、存儲虛擬化技術(shù),以便用戶可以實(shí)時(shí)地監(jiān)控和調(diào)配資源。
云計(jì)算更多的是指,通過千萬臺互聯(lián)的電腦和服務(wù)器進(jìn)行大量數(shù)據(jù)運(yùn)算,為搜索引擎、金融行業(yè)建模、醫(yī)藥模擬等應(yīng)用提供超級計(jì)算能力。這種云計(jì)算是為IT行業(yè)創(chuàng)造虛擬的數(shù)據(jù)中心使得其能夠把內(nèi)存、I/O設(shè)備、存儲和計(jì)算能力集中起來成為一個(gè)虛擬的資源池來為整個(gè)網(wǎng)絡(luò)提供服務(wù)。
簡言之,云計(jì)算是一種基于因特網(wǎng)的超級計(jì)算模式,在遠(yuǎn)程的數(shù)據(jù)中心里,成千上萬臺電腦和服務(wù)器連接成一片電腦云—一個(gè)浪漫的比喻—用戶通過電腦、筆記本、手機(jī)等方式接入數(shù)據(jù)中心,按自己的需求進(jìn)行運(yùn)算?!霸朴?jì)算”與傳統(tǒng)以電腦為中心的計(jì)算模式相區(qū)別,它將計(jì)算和數(shù)據(jù)分布在大量的分布式計(jì)算機(jī)上,人們通過手機(jī)、電腦上網(wǎng)后就能檢索到。
從IBM的定義中我們看到,云計(jì)算的含義有兩個(gè)方面。它一方面描述了一種方便的基礎(chǔ)設(shè)施,用來構(gòu)造應(yīng)用程序,其地位相當(dāng)于PC機(jī)上的操作系統(tǒng); 另外一方面則描述了建立在這種基礎(chǔ)設(shè)施之上的云計(jì)算應(yīng)用。一個(gè)計(jì)算云是虛擬化的計(jì)算資源池,用來容納各種不同的工作模式,并且這些工作模式可以通過快速部署的方式部署到物理設(shè)施上。由于使用了分布式的計(jì)算技術(shù),云計(jì)算能夠?qū)⒂?jì)算擴(kuò)展到更多的計(jì)算資源,以及使用冗余的資源進(jìn)行容錯(cuò)處理。
2 云計(jì)算:工業(yè)界觀點(diǎn)
在應(yīng)用方面,云計(jì)算描述了一種可以通過互聯(lián)網(wǎng)進(jìn)行訪問的可擴(kuò)展的應(yīng)用程序。在IBM的白皮書中我們還可以看到,云計(jì)算能夠通過快速提供物理以及虛擬服務(wù)器來支持網(wǎng)格應(yīng)用的運(yùn)行。網(wǎng)格程序能夠?qū)⒁粋€(gè)大的任務(wù)分解成很多小的任務(wù)并行地運(yùn)行在不同的集群以及服務(wù)器上。我們可以把云計(jì)算看做是一個(gè)具有更廣泛含義的計(jì)算平臺,除了能夠支持網(wǎng)格的應(yīng)用之外,云計(jì)算還能夠支持非網(wǎng)格的應(yīng)用,例如在網(wǎng)絡(luò)服務(wù)程序中的網(wǎng)絡(luò)服務(wù)器、應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器三層應(yīng)用程序架構(gòu)模式。特別值得注意的是云計(jì)算模型支持當(dāng)前Web 2.0模式的網(wǎng)絡(luò)應(yīng)用程序。云計(jì)算是能夠提供動態(tài)資源池、虛擬化和高可用性的下一代計(jì)算平臺
云計(jì)算被視為科技業(yè)的下一次革命,它將帶來工作方式和商業(yè)模式的根本性改變。 首先,對中小企業(yè)和創(chuàng)業(yè)者來說,云計(jì)算意味著巨大的商業(yè)機(jī)遇,他們可以借助云計(jì)算在更高的層面上和大企業(yè)競爭。自1989年微軟推出Office辦公軟件以來,我們的工作方式已經(jīng)發(fā)生了極大變化,而云計(jì)算則帶來了云端的辦公室——更強(qiáng)的計(jì)算能力但無須購買軟件,省卻本地安裝和維護(hù)。
其次,從某種意義上說,云計(jì)算意味著硬件之死。至少,那些對計(jì)算需求量越來越大的中小企業(yè),不再試圖去買價(jià)格高昂的硬件,而是從云計(jì)算供應(yīng)商那里租用計(jì)算能力。在避免了硬件投資的同時(shí),公司的技術(shù)部門也無須為忙亂不堪的技術(shù)維護(hù)而頭痛,節(jié)省下來的時(shí)間可以進(jìn)行更多的業(yè)務(wù)創(chuàng)新。
云計(jì)算對商業(yè)模式的影響體現(xiàn)在對市場空間的創(chuàng)新上。哈佛商學(xué)院教授克里斯滕森認(rèn)為,Google Apps是他關(guān)于創(chuàng)新的理論中的新市場創(chuàng)新。他在接受一家中國商業(yè)媒體采訪時(shí)說:“我在哈佛商學(xué)院的學(xué)生做文字處理時(shí)用Google Docs,他們將文件存儲在Google的服務(wù)器上,而不是自己的電腦上。這是一個(gè)典型的新市場破壞,當(dāng)互聯(lián)網(wǎng)變得越來越快和更可依賴,用戶正從桌面電腦上的軟件應(yīng)用轉(zhuǎn)向基于互聯(lián)網(wǎng)的應(yīng)用?!?/p>
同時(shí),云計(jì)算開發(fā)新產(chǎn)品拓展新市場的成本非常低。比如,如果用戶對Gmail的需求突然出現(xiàn)猛增,谷歌的云計(jì)算系統(tǒng)會自動為Gmail增加容量和處理器的數(shù)量,無需人工干預(yù),而且增加和調(diào)整都不增加成本。依賴云計(jì)算,谷歌能以幾乎可以忽略不計(jì)的成本增加新的服務(wù)。如果新增的服務(wù)失敗了,那沒關(guān)系,關(guān)掉并且忘掉它就可以。如果成功了,系統(tǒng)會自動為它增加空間和處理能力。
2.1 相關(guān)產(chǎn)品及介紹
Google的搜索引擎,生產(chǎn)力程序是云計(jì)算初期的產(chǎn)品,但它們主要是在大型計(jì)算機(jī)服務(wù)器集群上完成的,而不是普通的臺式機(jī)。微軟已經(jīng)公布了Windows Lives網(wǎng)絡(luò)軟件,它包括相片分享,文件存儲等,它也是建立在數(shù)據(jù)中心之上的。雅虎也有類似的動作。
從2003年開始,Google連續(xù)幾年在計(jì)算機(jī)系統(tǒng)研究領(lǐng)域的最頂級會議與雜志上發(fā)表論文,揭示其內(nèi)部的分布式數(shù)據(jù)處理方法,向外界展示其使用的云計(jì)算核心技術(shù)。從其近幾年發(fā)表的論文來看,Google使用的云計(jì)算基礎(chǔ)架構(gòu)模式包括四個(gè)相互獨(dú)立又緊密結(jié)合在一起的系統(tǒng)。包括Google建立在集群之上的文件系統(tǒng) Google File System,針對Google應(yīng)用程序的特點(diǎn)提出的Map/Reduce編程模式,分布式的鎖機(jī)制Chubby以及Google開發(fā)的模型簡化的大規(guī)模分布式數(shù)據(jù)庫BigTable。
2.1.1 Google File System 文件系統(tǒng)
為了滿足Google迅速增長的數(shù)據(jù)處理需求,Google設(shè)計(jì)并實(shí)現(xiàn)了Google文件系統(tǒng)(GFS,Google File System)。GFS與過去的分布式文件系統(tǒng)擁有許多相同的目標(biāo),例如性能、可伸縮性、可靠性以及可用性。然而,它的設(shè)計(jì)還受到Google應(yīng)用負(fù)載和技術(shù)環(huán)境的影響。主要體現(xiàn)在以下四個(gè)方面:
1)集群中的節(jié)點(diǎn)失效是一種常態(tài),而不是一種異常。由于參與運(yùn)算與處理的節(jié)點(diǎn)數(shù)目非常龐大,通常會使用上千個(gè)節(jié)點(diǎn)進(jìn)行共同計(jì)算,因此,每時(shí)每刻總會有節(jié)點(diǎn)處在失效狀態(tài)。需要通過軟件程序模塊,監(jiān)視系統(tǒng)的動態(tài)運(yùn)行狀況,偵測錯(cuò)誤,并且將容錯(cuò)以及自動恢復(fù)系統(tǒng)集成在系統(tǒng)中。
2)Google系統(tǒng)中的文件大小與通常文件系統(tǒng)中的文件大小概念不一樣,文件大小通常以G字節(jié)計(jì)。另外文件系統(tǒng)中的文件含義與通常文件不同,一個(gè)大文件可能包含大量數(shù)目的通常意義上的小文件。所以,設(shè)計(jì)預(yù)期和參數(shù),例如I/O操作和塊尺寸都要重新考慮。
3)Google文件系統(tǒng)中的文件讀寫模式和傳統(tǒng)的文件系統(tǒng)不同。在Google應(yīng)用(如搜索)中對大部分文件的修改,不是覆蓋原有數(shù)據(jù),而是在文件尾追加新數(shù)據(jù)。對文件的隨機(jī)寫是幾乎不存在的。對于這類巨大文件的訪問模式,客戶端對數(shù)據(jù)塊緩存失去了意義,追加操作成為性能優(yōu)化和原子性(把一個(gè)事務(wù)看做是一個(gè)程序。它要么被完整地執(zhí)行,要么完全不執(zhí)行)保證的焦點(diǎn)。
4)文件系統(tǒng)的某些具體操作不再透明,而且需要應(yīng)用程序的協(xié)助完成,應(yīng)用程序和文件系統(tǒng)API的協(xié)同設(shè)計(jì)提高了整個(gè)系統(tǒng)的靈活性。例如,放松了對GFS一致性模型的要求,這樣不用加重應(yīng)用程序的負(fù)擔(dān),就大大簡化了文件系統(tǒng)的設(shè)計(jì)。還引入了原子性的追加操作,這樣多個(gè)客戶端同時(shí)進(jìn)行追加的時(shí)候,就不需要額外的同步操作了。
總之,GFS是為Google應(yīng)用程序本身而設(shè)計(jì)的。據(jù)稱,Google已經(jīng)部署了許多GFS集群。有的集群擁有超過1000個(gè)存儲節(jié)點(diǎn),超過300T的硬盤空間,被不同機(jī)器上的數(shù)百個(gè)客戶端連續(xù)不斷地頻繁訪問著。