摘 要: 在分析現(xiàn)有定義的基礎(chǔ)上對(duì)云計(jì)算提出了較全面的參考性定義,并給出了云計(jì)算的六大特征、四種部署模式和三種服務(wù)模式,。此外,,通過(guò)對(duì)云環(huán)境中三種角色的責(zé)任分析和對(duì)主流云計(jì)算產(chǎn)品的研究,抽象出了支撐云計(jì)算的關(guān)鍵技術(shù),,最后指出云計(jì)算對(duì)未來(lái)軟件市場(chǎng)發(fā)展的影響,。
關(guān)鍵詞: 云計(jì)算;云服務(wù),;云部署
作為一種IT基礎(chǔ)設(shè)施交付和使用模式,、一種信息服務(wù)交付和使用模式、一種基于互聯(lián)網(wǎng)通過(guò)虛擬化方式共享信息資源的新型計(jì)算模式,,云計(jì)算為數(shù)據(jù)計(jì)算,、存儲(chǔ)和管理提供了虛擬資源空間和超強(qiáng)計(jì)算能力,可使用戶低成本,、高效率,、靈活地分享信息技術(shù)的發(fā)展成果,更好地獲取和使用知識(shí),,減少數(shù)字鴻溝,,加強(qiáng)科技創(chuàng)新,,提高公共服務(wù)水平,。
20世紀(jì)60年代John McCarthy提出“計(jì)算能力在未來(lái)將成為公共設(shè)施”,這是云計(jì)算概念的起源[1],。20世紀(jì)80年代末誕生了網(wǎng)格計(jì)算,,將大量的異構(gòu)計(jì)算機(jī)集成起來(lái)進(jìn)行復(fù)雜問(wèn)題(通常是科學(xué)問(wèn)題)的求解,。20世紀(jì)90年代,虛擬化的概念已經(jīng)從虛擬服務(wù)器發(fā)展到更高層次的抽象,,從虛擬平臺(tái)到虛擬應(yīng)用程序,。20世紀(jì)末21世紀(jì)初,Web Service和SOA等面向服務(wù)的概念和技術(shù)迅速發(fā)展,。云計(jì)算正是在上述各項(xiàng)技術(shù)的基礎(chǔ)上,,經(jīng)過(guò)數(shù)十載的發(fā)展演化逐漸成熟起來(lái)。
1 云計(jì)算概念
美國(guó)加州大學(xué)伯克利分校在指出云計(jì)算既指在互聯(lián)網(wǎng)上以服務(wù)形式提供的應(yīng)用,,也指在數(shù)據(jù)中心中提供這些服務(wù)的硬件和軟件,,而這些數(shù)據(jù)中心中的硬件和軟件則被稱為云[2]。美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院指出云計(jì)算由一個(gè)可配置的共享資源池組成,,該資源池提供網(wǎng)絡(luò),、服務(wù)器、存儲(chǔ),、應(yīng)用和服務(wù)等多種硬件和軟件資源[3],。資源池具備自我管理能力,用戶只需少量參與就可以方便快捷地按需獲取資源,。云計(jì)算提高了資源可用性,。
Wikipedia和NIST都強(qiáng)調(diào)云計(jì)算中資源的按需提供。在對(duì)云計(jì)算范圍的界定上,, UCB認(rèn)為云計(jì)算不包括私有云,,而NIST則認(rèn)為云計(jì)算包括私有云。本文認(rèn)為NIST的定義主要從云計(jì)算提供者的角度出發(fā),,比較全面地涵蓋了云計(jì)算的本質(zhì)特征,,但是缺乏對(duì)云計(jì)算使用者和云計(jì)算開(kāi)發(fā)者的闡述。
綜上所述,,本文提出自己的參考性定義:云計(jì)算是一種以提高資源利用率,、降低IT成本為驅(qū)動(dòng)的計(jì)算模式,在云計(jì)算中包括云服務(wù)使用者,、云服務(wù)提供者和云服務(wù)開(kāi)發(fā)者三類角色,。
云服務(wù)使用者可在不具備專業(yè)知識(shí)的情況下利用網(wǎng)絡(luò)通過(guò)交互技術(shù)以自服務(wù)的方式訪問(wèn)云端資源。
云服務(wù)提供者作為聯(lián)系服務(wù)使用者和服務(wù)開(kāi)發(fā)者的橋梁,,以按需使用,、按量計(jì)費(fèi)的方式通過(guò)網(wǎng)絡(luò)提供動(dòng)態(tài)可伸縮資源,云服務(wù)提供者負(fù)責(zé)安全管理,、運(yùn)營(yíng)支撐管理,、服務(wù)平臺(tái)以及資源平臺(tái),其中服務(wù)平臺(tái)包括軟件即服務(wù)SaaS(Software as a Service)、平臺(tái)即服務(wù)PaaS(Platform as a Service),、基礎(chǔ)設(shè)施即服務(wù)IaaS(Infrastructure as a Service)以及這三種服務(wù)的組合和管理,。資源平臺(tái)包括資源池、虛擬資源管理,、物理資源管理等,。
云服務(wù)開(kāi)發(fā)者負(fù)責(zé)將各種軟硬件資源封裝成服務(wù),并負(fù)責(zé)服務(wù)的創(chuàng)建,、發(fā)布和維護(hù),。
2 云計(jì)算特征
為了全面理解云計(jì)算,本文進(jìn)一步分析云計(jì)算的關(guān)鍵特征,,具體如下:
(1)網(wǎng)絡(luò)接入,。云計(jì)算通過(guò)網(wǎng)絡(luò)提供服務(wù)能力,支持各種標(biāo)準(zhǔn)設(shè)備接口,。
(2)按需提供,。云計(jì)算可以根據(jù)用戶需求的改變,快速動(dòng)態(tài)地分配和回收資源,,既保證忙時(shí)用戶需求的及時(shí)滿足,,又保證閑時(shí)資源的及時(shí)回收。
(3)按量計(jì)費(fèi),。云計(jì)算提供對(duì)計(jì)算,、存儲(chǔ)、網(wǎng)絡(luò)和其他各類資源的測(cè)量能力,,能夠統(tǒng)計(jì)某個(gè)用戶在某段時(shí)間對(duì)某類資源或者服務(wù)的使用情況,。
(4)用戶自服務(wù)。用戶可以自服務(wù)的方式配置和調(diào)用云服務(wù),。例如,,配置服務(wù)器時(shí)間和網(wǎng)絡(luò)存儲(chǔ)容量。
(5)多租戶,。云計(jì)算提供者可以同時(shí)為多個(gè)使用者提供服務(wù),,利用規(guī)模經(jīng)濟(jì)提高資源利用率。
(6)可靠性,。云計(jì)算通過(guò)異地備份,、多副本備份等策略增強(qiáng)服務(wù)可靠性。
這些關(guān)鍵特征一方面可以幫助理解云計(jì)算的內(nèi)涵和外延,,另一方面可以作為區(qū)別云計(jì)算和其他各類計(jì)算模式的依據(jù),。
3 云計(jì)算的服務(wù)模式
云服務(wù)[3]主要包括SaaS、PaaS,、IaaS以及三種服務(wù)的組合,。如圖1所示,。
(1) SaaS是指將某些特定應(yīng)用軟件功能封裝成服務(wù),對(duì)于服務(wù)使用者而言購(gòu)買的是軟件的使用權(quán)而不是其所有權(quán),。如Salesforce公司提供的在線客戶關(guān)系管理CRM服務(wù)。
(2) PaaS是指將一個(gè)完整的應(yīng)用開(kāi)發(fā)平臺(tái),包括應(yīng)用設(shè)計(jì),、應(yīng)用開(kāi)發(fā),、應(yīng)用測(cè)試和應(yīng)用托管都作為一種服務(wù)提供給客戶。典型的PaaS包括Google App Engine[4],、Microsoft Windows Azure,。
(3) IaaS將硬件設(shè)備等基礎(chǔ)資源,包括計(jì)算,、存儲(chǔ)和網(wǎng)絡(luò)等,,封裝成服務(wù)供用戶使用,典型的如亞馬遜的彈性計(jì)算云EC2和簡(jiǎn)單存儲(chǔ)服務(wù)S3[6],。
4 云計(jì)算的部署模式
云計(jì)算有四類典型的部署模式(如圖2所示):“公共云”,、“私有云”、“社區(qū)云”和“混合云”,。具體描述如下:
(1) 公共云,。云基礎(chǔ)設(shè)施對(duì)公眾或某個(gè)很大的業(yè)界群組提供云服務(wù)。
(2) 私有云,。云基礎(chǔ)設(shè)施特定為某個(gè)組織運(yùn)行服務(wù),,可以是該組織或某個(gè)第三方負(fù)責(zé)管理。
(3) 社區(qū)云,。云基礎(chǔ)設(shè)施由若干個(gè)組織分享,,以支持某個(gè)特定的社區(qū)。
(4) 混合云,。云基礎(chǔ)設(shè)施由兩個(gè)或多個(gè)云組成,,獨(dú)立存在,但是通過(guò)標(biāo)準(zhǔn)的或私有的技術(shù)綁定在一起,,這些技術(shù)可促成數(shù)據(jù)和應(yīng)用的可移植性,。
5 云計(jì)算關(guān)鍵技術(shù)
本文通過(guò)對(duì)云計(jì)算三種角色的責(zé)任研究和典型云計(jì)算產(chǎn)品的分析,抽象出了支撐云計(jì)算的七大關(guān)鍵技術(shù)。
5.1 系統(tǒng)虛擬化
系統(tǒng)虛擬化[5]是指將一臺(tái)物理計(jì)算機(jī)系統(tǒng)虛擬化為一臺(tái)或多臺(tái)虛擬計(jì)算機(jī)系統(tǒng),。通過(guò)虛擬化層的模擬,,虛擬機(jī)中的操作系統(tǒng)認(rèn)為自己仍然是獨(dú)占一個(gè)系統(tǒng)在運(yùn)行。這個(gè)虛擬化層被稱為虛擬機(jī)監(jiān)控器,。
5.2 虛擬化資源管理
虛擬化資源是云計(jì)算中最重要的組成部分之一,,它對(duì)虛擬化資源的管理水平直接影響著云計(jì)算的可用性、可靠性和安全性,。云資源池中應(yīng)用的需求不斷改變,,在線服務(wù)的請(qǐng)求經(jīng)常不可預(yù)測(cè),,這種動(dòng)態(tài)的環(huán)境要求云計(jì)算的數(shù)據(jù)中心或計(jì)算中心能夠?qū)Ω黝愘Y源靈活、快速,、動(dòng)態(tài)地按需進(jìn)行調(diào)度,。云計(jì)算中的虛擬化資源與以往的網(wǎng)絡(luò)資源相比,具有數(shù)量更為巨大,、數(shù)據(jù)分布更為離散,、數(shù)據(jù)調(diào)度更為頻繁的特征[6]。
5.3 分布式數(shù)據(jù)存儲(chǔ)
分布式數(shù)據(jù)存儲(chǔ)技術(shù)包含分布式文件存儲(chǔ)系統(tǒng),、分布式對(duì)象存儲(chǔ)系統(tǒng)和分布式數(shù)據(jù)庫(kù)技術(shù),。下面分別闡述這三方面的技術(shù):
(1) 分布式文件存儲(chǔ)系統(tǒng)
為了存儲(chǔ)和管理云計(jì)算中的海量數(shù)據(jù),Google提出分布式文件系統(tǒng)GFS[7](Google File System),。Google GFS的結(jié)點(diǎn)由廉價(jià)不可靠PC構(gòu)建,,因而硬件失敗是一種常態(tài)而非特例。
(2) 分布式對(duì)象存儲(chǔ)系統(tǒng)
對(duì)象存儲(chǔ)系統(tǒng)是傳統(tǒng)的塊設(shè)備的延伸,,具有更高的“智能”:上層通過(guò)對(duì)象ID來(lái)訪問(wèn)對(duì)象,,而不需要了解對(duì)象的具體空間分布情況。Amazon的S3就屬于對(duì)象存儲(chǔ)服務(wù),。
(3) 分布式數(shù)據(jù)庫(kù)技術(shù)
云計(jì)算環(huán)境下,,大部分應(yīng)用不需要支持完整的SQL語(yǔ)義,而只需要Key-Value形式或略復(fù)雜的查詢語(yǔ)義,。Google的BigTable[8]是一個(gè)典型的分布式結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)系統(tǒng),。
5.4 海量數(shù)據(jù)處理
并行計(jì)算模型是提高海量數(shù)據(jù)處理效率的常用方法。云計(jì)算環(huán)境下的并行計(jì)算模型屬于面向互聯(lián)網(wǎng)數(shù)據(jù)密集型應(yīng)用的并行編程模型,,云計(jì)算下把海量數(shù)據(jù)分布到多個(gè)結(jié)點(diǎn)(通常是廉價(jià)不可靠的PC機(jī))上,,將計(jì)算并行化,利用多機(jī)的計(jì)算資源,,加快數(shù)據(jù)處理的速度[9],。如Google的MapReduce模型、微軟的Dryad模型,。
5.5 用戶交互技術(shù)
隨著云計(jì)算的逐步普及,,瀏覽器已經(jīng)不僅僅是一個(gè)客戶端的軟件,而逐步演變?yōu)槌休d著互聯(lián)網(wǎng)的平臺(tái),。瀏覽器與云計(jì)算的整合技術(shù)主要體現(xiàn)在兩個(gè)方面:瀏覽器網(wǎng)絡(luò)化與瀏覽器云服務(wù),。瀏覽器都將網(wǎng)絡(luò)化作為其功能的標(biāo)配之一,主要功能體現(xiàn)在用戶可以登錄瀏覽器,,并通過(guò)自己的帳號(hào)將個(gè)性化數(shù)據(jù)同步到服務(wù)端,。而目前的云端服務(wù),主要體現(xiàn)在P2P下載,、視頻加速等單獨(dú)的客戶端軟件中,。
5.6 安全管理
安全問(wèn)題是用戶是否選擇云計(jì)算的主要顧慮之一,。傳統(tǒng)集中式管理方式下也有安全問(wèn)題,云計(jì)算的多租戶,、分布性,、對(duì)網(wǎng)絡(luò)和服務(wù)提供者的依賴性,為安全問(wèn)題帶來(lái)新的挑戰(zhàn)[10],。主要的數(shù)據(jù)安全問(wèn)題和風(fēng)險(xiǎn)包括:數(shù)據(jù)存儲(chǔ)及訪問(wèn)控制,、數(shù)據(jù)傳輸保護(hù)、數(shù)據(jù)隱私及敏感信息保護(hù),、數(shù)據(jù)可用性、依從性管理,;相應(yīng)的數(shù)據(jù)安全管理技術(shù)包括:數(shù)據(jù)保護(hù)及隱私,、身份及訪問(wèn)管理、可用性管理,、日志管理,、審計(jì)管理、依從性管理等,。
5.7 運(yùn)營(yíng)支撐管理
為了支持規(guī)模巨大的云計(jì)算環(huán)境,,需要成千上萬(wàn)臺(tái)服務(wù)器來(lái)支撐。如何對(duì)數(shù)以萬(wàn)計(jì)的服務(wù)器進(jìn)行穩(wěn)定高效的運(yùn)營(yíng)管理,,成為云服務(wù)被用戶認(rèn)可的關(guān)鍵因素之一,。 下面從云的部署、負(fù)載管理和監(jiān)控,、計(jì)量計(jì)費(fèi),、SLA服務(wù)水平協(xié)議(Service Level Agreement)、能效評(píng)測(cè)五個(gè)方面分別闡述云的運(yùn)營(yíng)管理,。
(1) 云計(jì)算的部署
云計(jì)算的部署是一個(gè)系統(tǒng)工程,,涉及到從機(jī)房建設(shè)、網(wǎng)絡(luò)優(yōu)化,、硬件選型,、軟件系統(tǒng)開(kāi)發(fā)和測(cè)試到運(yùn)維等各方面的技術(shù)。為了保證服務(wù)的健壯性,,需要將云計(jì)算以一定冗余部署在不同地域的若干機(jī)房,。為了應(yīng)對(duì)規(guī)模的不斷增長(zhǎng),云計(jì)算要具備便利的,、近乎無(wú)限的擴(kuò)展能力,,因而從數(shù)據(jù)存儲(chǔ)層、應(yīng)用業(yè)務(wù)層到接入層都需要采用相應(yīng)的措施,。為了保護(hù)云計(jì)算及其應(yīng)用的安全,,需要建立起各個(gè)層次的信息安全機(jī)制,。除此之外,還需要部署一些輔助的子系統(tǒng),,如管理信息系統(tǒng),、安全系統(tǒng)、監(jiān)控和計(jì)費(fèi)系統(tǒng)等,,使云計(jì)算的部署和運(yùn)營(yíng)管理達(dá)到高度自動(dòng)化和智能化的程度,。
(2) 負(fù)載管理和監(jiān)控
云計(jì)算的負(fù)載管理和監(jiān)控是一種大規(guī)模集群的負(fù)載管理和監(jiān)控技術(shù)[11]。對(duì)于結(jié)點(diǎn)粒度,,它需要能夠?qū)崟r(shí)地監(jiān)控集群中每個(gè)結(jié)點(diǎn)的負(fù)載狀態(tài),,報(bào)告負(fù)載的異常和結(jié)點(diǎn)故障,對(duì)出現(xiàn)過(guò)載或故障的結(jié)點(diǎn)采取既定的預(yù)案,。對(duì)于集群整體粒度,,通過(guò)對(duì)單個(gè)結(jié)點(diǎn)、單個(gè)子系統(tǒng)的信息進(jìn)行匯總和計(jì)算,,近乎實(shí)時(shí)地得到集群的整體負(fù)載和監(jiān)控信息,,為運(yùn)維、調(diào)度和成本提供決策,。
(3) 計(jì)量計(jì)費(fèi)
云計(jì)算的主要商業(yè)運(yùn)營(yíng)模式是采取按量計(jì)費(fèi)(pay-as-go)的收費(fèi)方式[3],。為了精確地度量“用了多少”,就需要準(zhǔn)確,、及時(shí)計(jì)算云計(jì)算上的每一個(gè)應(yīng)用服務(wù)使用了多少資源,,這稱為服務(wù)計(jì)量。在計(jì)量的基礎(chǔ)上,,選取若干合適的維度組合,,制定相應(yīng)的計(jì)費(fèi)策略并進(jìn)行計(jì)費(fèi)。
(4) SLA
SLA是在一定開(kāi)銷下為保障服務(wù)的性能和可靠性,,服務(wù)提供商與用戶間定義的一種雙方認(rèn)可的協(xié)定,。對(duì)于云服務(wù)而言,SLA是必不可少的,,因?yàn)橛脩魧?duì)云服務(wù)的性能和可靠性有不同的要求,。從用戶的角度而言,也需要從云服務(wù)提供商處得到具有法律效力的承諾,,來(lái)保證支付費(fèi)用之后得到應(yīng)有的服務(wù)質(zhì)量,。
(5) 能效評(píng)測(cè)
云計(jì)算提出的初衷是將資源和數(shù)據(jù)盡可能放在云端,降低能源消耗,。但是在實(shí)際應(yīng)用中,,為解決大型數(shù)據(jù)中心的散熱問(wèn)題造成了大量的能源消耗。如何有效降低能源消耗構(gòu)建綠色數(shù)據(jù)中心成為云服務(wù)提供商迫切需要解決的問(wèn)題之一,。顯性的能耗測(cè)試評(píng)價(jià)可以參照傳統(tǒng)
數(shù)據(jù)中心的評(píng)價(jià)體系,具體包括:能源效率指標(biāo),、IT設(shè)備的能效比,、IT設(shè)備的工作溫度和濕度范圍、機(jī)房基礎(chǔ)設(shè)施的利用率指標(biāo),。隱性能耗測(cè)試評(píng)價(jià)包括云計(jì)算服務(wù)模式節(jié)省了多少社會(huì)資源,,由于客戶需求的不同,云計(jì)算系統(tǒng)吞吐量的變化節(jié)省了IT設(shè)備的投資和資源的重復(fù)建設(shè),。
亞馬遜,、谷歌、雅虎,、IBM和微軟等跨國(guó)公司紛紛開(kāi)展云計(jì)算研究,,并在相關(guān)領(lǐng)域開(kāi)展部署,部分應(yīng)用已取得成功,。我國(guó)華為,、中興、浪潮等網(wǎng)絡(luò)設(shè)備提供商也積極投入相關(guān)設(shè)備研發(fā),。在電信領(lǐng)域,、基礎(chǔ)運(yùn)營(yíng)商和增值服務(wù)商也相繼開(kāi)展了相關(guān)的嘗試,,啟動(dòng)了相關(guān)研究工作,,這些都為我國(guó)云計(jì)算產(chǎn)業(yè)的創(chuàng)新發(fā)展提供了眾多有利的探索經(jīng)驗(yàn)。伴隨著云計(jì)算產(chǎn)業(yè)的發(fā)展,,云計(jì)算將為信息產(chǎn)業(yè)帶來(lái)廣闊的市場(chǎng)空間,,催生大量的市場(chǎng)發(fā)展新機(jī)遇,對(duì)IT產(chǎn)業(yè)鏈更是影響重大,。
參考文獻(xiàn)
[1] Wikipedia. Cloud Computing [EB/OL]. [2010-07-16].http://en.wikipedia.org/wiki/Cloudcomputing
[2] ARMBRUST M, FOX A. Above the clouds: a berkeley view of cloud computing[R/OL]. (2009-02-10)[2009-05-15].http://www.grid.pku.edu.cn/cloud/Berkeley-abovethe-clouds.pdf
[3] MELL P, GRANCE T. The NIST definition of cloud computing. [EB/OL]. (2009-10-7)[2010-4-9]. Http://csrc.nist.gov/groups/SNS/cloud-computing/index.html.
[4] GOOGLE.開(kāi)發(fā)人員指南. [EB/OL].[2010-05-15]http://code.google.com/intl/zh-CN/appengine/docs/
[5] 金海.計(jì)算系統(tǒng)虛擬化:原理與應(yīng)用[M].北京:清華大學(xué)出版社,,2008.
[6] PATERSON M. Dynamic resource distribution across clouds.V00214440[R].Victoria, University of Victo-ria Faculty of Engineering Winter 2010 Work Term Re-port. 2010.
[7] GHEMAWAT S, GOBIOFF H, Leung Shuntak. The google file system. In: Proc of the 19th ACM SOSP, New York, 2003.
[8] CHANG F, DEAN J, GHEMAWAT S, et al. Bigtable: a distributed storage system for structured data. In: Procfo the 7th USENIX Symp on OSDI, Berkeley, 2006.
[9] LAMMEL R. Google’s Map Reduce programming model Revisited. [EB/OL]. Http://www.cs.vu.nl/~ralf/Map Reduce/papa.pdf,2007.
[10] Cloud Security Alliance. Top threats cloud computing V1.0.[EB/OL]. http://www.cloudsecurityalliance.org/topthreats/csathreats.v1.0.pdf
[11] RANDLES M, LAMB D, et al. A comparative study into distributed load balancing algorithms for cloud computing. [C].//Proc of IEEE24th International Conference on Advanced Information Networking and Applications Workshops.2010.