云計(jì)算和移動(dòng)化是互聯(lián)網(wǎng)的兩大發(fā)展趨勢,云計(jì)算(cloud computing)是多種技術(shù)整合的產(chǎn)物,這些技術(shù)主要包括虛擬化技術(shù)、分布式處理(distributed computing)、并行處理(parallel computing)、網(wǎng)格計(jì)算(grid computing)等。云計(jì)算屏蔽了技術(shù)實(shí)現(xiàn)的細(xì)節(jié),同時(shí)以服務(wù)的方式提供給用戶使用,使用戶的關(guān)注力從技術(shù)細(xì)節(jié)轉(zhuǎn)到自己的需求上。
云計(jì)算的特征可以歸結(jié)為無處不在的數(shù)據(jù)、無處不在的軟件、無處不在的計(jì)算,任何地點(diǎn)登錄系統(tǒng)后都可以使用軟件,使用數(shù)據(jù)和進(jìn)行計(jì)算。根據(jù)云計(jì)算的服務(wù)方式可以將云計(jì)算分為:基礎(chǔ)設(shè)施即服務(wù)(laaS)、平臺即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)。根據(jù)云計(jì)算的存在形式可以將云計(jì)算分為:公共云(public cloud)、混合云(hybrid cloud)、 私有云(private cloud)和社區(qū)云(community cloud)。
云計(jì)算到目前為止還沒有一個(gè)標(biāo)準(zhǔn)的定義,可以查詢到的定義有百種以上,最為公眾認(rèn)可和引用率較高的是美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)的定義,NIST的定義:“云計(jì)算是一種按使用量付費(fèi)的模式,這種模式提供可用的、便捷的、按需的網(wǎng)絡(luò)訪問,進(jìn)入可配置的計(jì)算資源共享池(資源包括網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用軟件、服務(wù)),這些資源能夠被快速提供,只需投入很少的管理工作,或與服務(wù)供應(yīng)商進(jìn)行很少的交互?!痹趪鴥?nèi)得到認(rèn)可的定義是中國云計(jì)算專家咨詢委員會(huì)副主任、秘書長劉鵬教授給出的定義:“云計(jì)算是通過網(wǎng)絡(luò)提供可伸縮的廉價(jià)的分布式計(jì)算能力。”Forester Research從云計(jì)算提供商的角色這樣定義:云計(jì)算是一種標(biāo)準(zhǔn)化的IT能力,將軟件、應(yīng)用平臺、基礎(chǔ)設(shè)施整合建立起來一個(gè)系統(tǒng),通過Internet技術(shù)以按需和自助的方式提供服務(wù)。云計(jì)算可以理解為在互聯(lián)網(wǎng)上通過虛擬化技術(shù)、并行處理技術(shù)以及分布式計(jì)算機(jī)技術(shù)將資源與設(shè)備整合起來,為用戶提供方便與快捷的、基于網(wǎng)絡(luò)的計(jì)算與存儲(chǔ)服務(wù)。云計(jì)算提供的服務(wù)包括軟件、硬件和平臺服務(wù),這種服務(wù)可以根據(jù)用戶需求進(jìn)行定制,即“按需服務(wù)”,這就是云計(jì)算創(chuàng)新與重要意義所在。
云計(jì)算類似于B/S結(jié)構(gòu)的系統(tǒng),用戶使用計(jì)算機(jī)、手機(jī)、平板等智能終端接入互聯(lián)網(wǎng)或內(nèi)部局域網(wǎng),向云計(jì)算服務(wù)端提出計(jì)算、應(yīng)用或存儲(chǔ)等需求,云端根據(jù)需求的內(nèi)容在虛擬的資源池內(nèi)進(jìn)行資源的組織與調(diào)配,動(dòng)態(tài)分配資源的使用,并將計(jì)算結(jié)果及時(shí)反饋給用戶。云計(jì)算服務(wù)包括了計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)、軟件和服務(wù)。用戶端不需要安裝任何應(yīng)用軟件和存儲(chǔ)任何數(shù)據(jù),所有操作都是在云端實(shí)現(xiàn)。用戶不論在任何地點(diǎn),只要接入互聯(lián)網(wǎng)或內(nèi)部局域網(wǎng)后,都可以使用云,就像用電用水一樣方便。云計(jì)算是通過網(wǎng)絡(luò)將用戶龐大的計(jì)算處理程序自動(dòng)分拆成無數(shù)個(gè)較小的子程序,再由多部服務(wù)器所組成的龐大系統(tǒng)搜索、計(jì)算分析之后將處理結(jié)果回傳給用戶。通過這項(xiàng)技術(shù),遠(yuǎn)程的服務(wù)供應(yīng)商可以在數(shù)秒之內(nèi),處理數(shù)以千萬計(jì)甚至億計(jì)的信息,達(dá)到和“超級計(jì)算機(jī)”同樣強(qiáng)大性能的網(wǎng)絡(luò)服務(wù)。
1983年提出“網(wǎng)絡(luò)既是電腦”(The Network is the computer)的SUN公司可以認(rèn)為是云計(jì)算發(fā)展的最早雛形。最早提出“云計(jì)算”概念的則是由Google首席執(zhí)行官埃里克·施密特與2006搜索引擎大會(huì)上首次提出來的。隨后,Google 采用與美國大學(xué)合作的方式進(jìn)行云計(jì)算的推廣工作。2008年雅虎、惠普和英特爾也加入到云計(jì)算行列。他們與合作伙伴創(chuàng)建6個(gè)數(shù)據(jù)中心作為研究試驗(yàn)平臺,每個(gè)數(shù)據(jù)中心配置1400 ~ 4000個(gè)處理器。同年戴爾開始申請“云計(jì)算”(cloud computing)商標(biāo),旨在加強(qiáng)對這一未來可能重塑技術(shù)架構(gòu)的術(shù)語的控制權(quán)。2010年美國國家航空航天局和包括Rackspace、AMD、Intel、戴爾等支持廠商共同宣布“OpenStack”開放源代碼計(jì)劃,微軟在2010年10月表示支持OpenStack 與Windows Server 2008 R2的集成;而Ubuntu已把OpenStack加至11.04版本中。2011年思科系統(tǒng)正式加入OpenStack,重點(diǎn)研制OpenStack的網(wǎng)絡(luò)服務(wù)。
云計(jì)算是隨著互聯(lián)網(wǎng)而發(fā)展起來的技術(shù),沒有高速、穩(wěn)定的網(wǎng)絡(luò)云計(jì)算就無從談起。除網(wǎng)絡(luò)之外,云計(jì)算的實(shí)現(xiàn)在技術(shù)層面上的關(guān)鍵技術(shù)包括虛擬化技術(shù)、分布式數(shù)據(jù)處理技術(shù)與存儲(chǔ)技術(shù)。云存儲(chǔ)技術(shù)是通過分布式存儲(chǔ)方式來實(shí)現(xiàn)用戶數(shù)據(jù)的有效存儲(chǔ)。分布式存儲(chǔ)既實(shí)現(xiàn)了冗余存儲(chǔ)帶來的可靠性需求,又可以高效地為大量并行用戶提供數(shù)據(jù)使用服務(wù)。在分布式存儲(chǔ)中,相同內(nèi)容的用戶數(shù)據(jù)通常有多個(gè)副本存儲(chǔ)在不同區(qū)域的存儲(chǔ)器內(nèi),保證了數(shù)據(jù)的高可用性。目前云計(jì)算領(lǐng)域內(nèi)最主要的數(shù)據(jù)存儲(chǔ)技術(shù)有GFS (Google file system)和Hadoop兩種分布式文件系統(tǒng),GFS主要是谷哥公司發(fā)明并使用的非開源技術(shù),其他大部分云計(jì)算公司采用的是Hadoop開源數(shù)據(jù)存儲(chǔ)技術(shù)。GFS是一個(gè)管理大型分布式數(shù)據(jù)密集型計(jì)算的可擴(kuò)展的分布式文件系統(tǒng)。它使用廉價(jià)的商用硬件搭建系統(tǒng)并向大量用戶提供容錯(cuò)的高性能的服務(wù)。虛擬化技術(shù)就是在現(xiàn)有資源的情況下實(shí)現(xiàn)所有資源的高效利用和有效整合,達(dá)到資源的快速部署,滿足用戶需求的不斷變化需求。這些特點(diǎn)和功能決定了虛擬化技術(shù)必將是云計(jì)算的核心技術(shù)。在虛擬化環(huán)境下,系統(tǒng)部署與分布式計(jì)算環(huán)境的搭建更易于實(shí)現(xiàn)和管理。云計(jì)算與大數(shù)據(jù)是密不可分的關(guān)系,大數(shù)據(jù)一般都存儲(chǔ)在云上,而云計(jì)算通常處理的都是大數(shù)據(jù)。云計(jì)算在數(shù)據(jù)管理上以數(shù)據(jù)的存儲(chǔ)、讀取與分析為主,與之相比,數(shù)據(jù)的更新操作處于次要地位。因此,云計(jì)算的數(shù)據(jù)管理技術(shù)主要以數(shù)據(jù)的讀優(yōu)化為主,這種模式通常采用數(shù)據(jù)庫領(lǐng)域中列存儲(chǔ)的管理模式,將數(shù)據(jù)表按列進(jìn)行劃分和存儲(chǔ)。與數(shù)據(jù)存儲(chǔ)一樣,谷歌的BigTable 數(shù)據(jù)管理技術(shù)也是行業(yè)的領(lǐng)導(dǎo)者,Hadoop具有自己的數(shù)據(jù)管理技術(shù),與谷歌的BigTable功能相似,并且開源。云計(jì)算將復(fù)雜的計(jì)算和任務(wù)的調(diào)度執(zhí)行隱藏在后臺,在前臺提供簡單的編程模型給用戶進(jìn)行編寫程序,大大降低了用戶在云上編程的難度,從而更加輕松的駕馭云。云計(jì)算采用的是類似MAP- Reduce的編程模式。這也是目前大部分云計(jì)算所采用的模型。與傳統(tǒng)編程模式相比,該編程模式更加適合編寫具有任務(wù)內(nèi)部松耦合,并且并行化程度很高的程序。