王彬
摘 要 云計算(Cloud computing)已經(jīng)成為了IT界的熱門技術,甚至被視為將根本改變生活方式和商業(yè)模式的革命技術。借助云計算,網(wǎng)絡服務提供者可以在瞬息之間,處理數(shù)以千萬計甚至億計的信息,實現(xiàn)和超級計算機同樣的效能。云計算可以被視為網(wǎng)絡計算和虛擬化的融合:即利用網(wǎng)格分布式計算處理能力,將IT資源構筑成一個資源池,再加上成熟的服務器虛擬化、存儲虛擬化技術,是用戶可以實時的監(jiān)控和調(diào)配資源。
關鍵詞 云計算 虛擬化 云存儲 分布式計算
中圖分類號:TP3 文獻標識碼:A
1云計算的概念
云計算的定義眾多,目前廣為認同的一點是,云計算是分布式處理、并行處理和網(wǎng)格計算的發(fā)展,或者說是這些計算機科學概念的商業(yè)實現(xiàn)。云計算是一種資源交付和使用模式,指通過網(wǎng)絡獲得應用所需的資源(硬件、軟件、平臺)。云計算將計算從客戶終端集中到“云端”,作為應用通過互聯(lián)網(wǎng)提供給用戶,計算通過分布式計算等技術由多臺計算機共同完成。用戶只關心應用的功能,而不關心應用的實現(xiàn)方式,應用的實現(xiàn)和維護由其提供商完成,用戶根據(jù)自己的需要選擇相應的應用。云計算不是一個工具、平臺或者架構,而是一種計算的方式。
2云計算在國內(nèi)外發(fā)展狀況
盡管云計算的思想孕育很久,但是在國外(主要是美國)取得蓬勃發(fā)展也是最近十來年的事情。2003年,美國國家科學基金(NSF)投資830萬美元支持由美國七所頂尖院校提出的“網(wǎng)絡虛擬化和云計算VGrADS”項目,由此正式啟動了云計算的研發(fā)工作。2009年4月,谷歌推出了Google應用軟件引擎(Google App Engine)運行大型并行應用程序。Apple是云計算領域的另一位角色,從近年來推出的iTunes服務,到MobileMe服務,到收購在線音樂服務商Lala,再到最近在美國北卡萊羅納州投資10億美元建立新數(shù)據(jù)中心的計劃,無不顯示其進軍云計算領域的巨大決心。
而國內(nèi)近幾年在云計算方面取得了長足的發(fā)展。國內(nèi)的云計算發(fā)展雖處于起步階段,但各大通信運營商都表現(xiàn)得異常活躍。中國移動推出了“大云”(Big Cloud)云計算基礎服務平臺,中國電信退出了“e云”云計算平臺,中國聯(lián)通則是推出了“互聯(lián)云”平臺。
3云計算的原理
云計算的基本原理是,通過使計算分布在大量的分布式計算機上,而非本地計算機或遠程服務器中,企業(yè)數(shù)據(jù)中心的運行將更相似于互聯(lián)網(wǎng)。這使得企業(yè)能夠?qū)①Y源切換到需要的應用上,根據(jù)需求訪問計算機和存儲系統(tǒng)。云計算就是把普通的服務器或者個人計算機連接起來,以獲得超級計算機也叫高性能和高可用性計算機的功能,但是成本更低。云計算的出現(xiàn)使高性能并行計算不再是科學家和專業(yè)人士的專利,普通的用戶也能通過云計算享受高性能并行計算所帶來的便利,使人人都有機會使用并行機,從而大大提高工作效率和計算資源的利用率。云計算模式可以簡單理解為不論服務的類型,或者是執(zhí)行服務的信息架構,通過因特網(wǎng)提供應用服務,讓使用者通過瀏覽器就能使用,不需要了解服務器在哪里,內(nèi)部如何運作。
4云計算的核心技術
云計算系統(tǒng)運用了許多技術,其中以編程模型、數(shù)據(jù)管理技術、數(shù)據(jù)存儲技術、虛擬化技術、云計算平臺管理技術最為關鍵。
(1)編程模型
MapReduce是Google開發(fā)的java、Python、C++編程模型,它是一種簡化的分布式編程模型和高效的任務調(diào)度模型,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運算。嚴格的編程模型使云計算環(huán)境下的編程十分簡單。MapReduce模式的思想是將要執(zhí)行的問題分解成Map(映射)和Reduce(化簡)的方式,先通過Map程序?qū)?shù)據(jù)切割成不相關的區(qū)塊,分配(調(diào)度)給大量計算機處理,達到分布式運算的效果,再通過Reduce程序?qū)⒔Y果匯整輸出。
(2)海量數(shù)據(jù)分布存儲技術
云計算系統(tǒng)由大量服務器組成,同時為大量用戶服務,因此云計算系統(tǒng)采用分布式存儲的方式存儲數(shù)據(jù),用冗余存儲的方式保證數(shù)據(jù)的可靠性。云計算系統(tǒng)中廣泛使用的數(shù)據(jù)存儲系統(tǒng)是Google的GFS和Hadoop團隊開發(fā)的GFS的開源實現(xiàn)HDFS。
(3)海量數(shù)據(jù)管理技術
云計算需要對分布的、海量的數(shù)據(jù)進行處理、分析,因此,數(shù)據(jù)管理技術必需能夠高效的管理大量的數(shù)據(jù)。云計算系統(tǒng)中的數(shù)據(jù)管理技術主要是Google的BT(BigTable)數(shù)據(jù)管理技術和Hadoop團隊開發(fā)的開源數(shù)據(jù)管理模塊HBase。
5云計算的挑戰(zhàn)和展望
云計算技術的發(fā)展面臨這一系列的挑戰(zhàn),例如:使用云計算來完成任務能獲得哪些優(yōu)勢;可以實施哪些策略、做法或者立法來支持或限制云計算的采用;如何提供有效的計算和提高存儲資源的利用率等等。此外,云計算宣告了低成本超級計算機服務的可能,一旦這些“云”被用來破譯各類密碼、進行各種攻擊,將會對用戶的數(shù)據(jù)安全帶來極大的危險。
云計算未來有兩個發(fā)展方向:一個是構建與應用程序緊密結合的大規(guī)模底層基礎設施,使得應用能夠擴展到很大的規(guī)模;另一個是通過構建新型的云計算應用程序。在網(wǎng)絡上提供更加豐富的用戶體驗,第一個發(fā)展趨勢能夠從現(xiàn)在得云計算研究狀況中體現(xiàn)出來,而在云計算應用的構造上,很多新型的社會服務型網(wǎng)絡,如Facebook等,已經(jīng)體現(xiàn)了這個趨勢,而在研究上則開始注重如何通過云計算基礎平臺將多個業(yè)務融合起來。
參考文獻
[1] 孟宏偉, 黃麗芳. 云計算解析[J]. 硅谷, 2010, (10) :35-36.