薛慧麗
摘要:云計(jì)算的核心技術(shù)主要包括云架構(gòu)體系、云核心技術(shù)、云的未來走向等三各方面,其中云架構(gòu)體系部分,主要包括SaaS、PaaS、IaaS在內(nèi)的云服務(wù)層,以及包括用戶層、機(jī)制層、檢測(cè)層在內(nèi)的云管理層。云核心技術(shù)主要包括MAP-Reduce編程模型、海量數(shù)據(jù)分存技術(shù)、海量數(shù)據(jù)管理技術(shù)、虛擬化技術(shù)、云計(jì)算平臺(tái)管理技術(shù)等五大內(nèi)容?!霸朴?jì)算”的未來走向目前仍存在著挑戰(zhàn)與機(jī)遇。
關(guān)鍵詞:云計(jì)算; 架構(gòu)體系; 核心技術(shù)
中圖分類號(hào):TP308 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-2163(2014)04-0063-05
Abstract:The architecture of the system and its core technology of cloud computing are introduced and analyzed in the paper. Cloud architecture system is divided into two parts: cloud services, including SaaS, PaaS, IaaS layer and cloud management, including user layer, mechanism layer, detection layer. After that, the paper clarifies the top five core technologies of cloud computing, which are respectively: MAP-reduce programming model, mass data storage technology, massive data management technology, virtualization technology and cloud computing platform management technology. Finally, there still exist challenges and opportunities for the future of cloud computing.
Key words:Cloud Computing; Architecture System; Core Technology
0引言
云計(jì)算是近年來的一個(gè)熱門詞匯,其含義已經(jīng)跨越了學(xué)術(shù)和科技界,并且融入到許多社會(huì)行業(yè)之中。根據(jù)美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)的定義[1],云計(jì)算是一種利用互聯(lián)網(wǎng)實(shí)現(xiàn)隨時(shí)隨地、按需、便捷地訪問共享資源池(如計(jì)算設(shè)施、存儲(chǔ)設(shè)備、應(yīng)用程序等)的計(jì)算模式。
近年來,新一代大規(guī)模的互聯(lián)網(wǎng)應(yīng)用的發(fā)展勢(shì)頭極為迅猛,其中主要包括數(shù)字城市、網(wǎng)絡(luò)教育、網(wǎng)絡(luò)傳媒、搜索引擎、電子商務(wù)、電子政務(wù)、在線視頻、產(chǎn)業(yè)應(yīng)用、主題應(yīng)用等,這些應(yīng)用的最大特點(diǎn)就是數(shù)據(jù)存儲(chǔ)量大、增長(zhǎng)速度快、以及維護(hù)費(fèi)用高。據(jù)統(tǒng)計(jì),傳統(tǒng)企業(yè)在IT建設(shè)中所投入的費(fèi)用,用于軟硬件更新與商業(yè)價(jià)值提升的費(fèi)用僅占其中的20%,而用于系統(tǒng)維護(hù)的費(fèi)用則占到了80%。另據(jù)2006年IDC對(duì)200家企業(yè)的統(tǒng)計(jì),部分企業(yè)的信息技術(shù)人力成本已達(dá)到l 320美元(每人/每臺(tái)服務(wù)器),而部署一個(gè)新的應(yīng)用系統(tǒng)則需要花費(fèi)5.4周[2]。面對(duì)如此龐大的數(shù)據(jù)和高昂的成本等現(xiàn)實(shí)問題,如果能引入“云計(jì)算”的技術(shù)和方法,相應(yīng)問題即有望獲得根本性的解決。本文即對(duì)“云計(jì)算”的架構(gòu)體系及其核心技術(shù)展開深入的探討與剖析。
1云計(jì)算的架構(gòu)體系
云計(jì)算這種新的應(yīng)用技術(shù)雖然涉及到非常多的產(chǎn)品與技術(shù),且貌似錯(cuò)綜復(fù)雜,但是如果對(duì)云計(jì)算系統(tǒng)進(jìn)行深入分析,其架構(gòu)體系仍是清晰且確定的,云計(jì)算的具體架構(gòu)體系概略如圖1所示。該架構(gòu)體系主要分為“服務(wù)”和“管理”兩大組成部分。
1.1云計(jì)算的服務(wù)設(shè)計(jì)
在服務(wù)設(shè)計(jì)中,所提供的主要是基于云計(jì)算的各種云服務(wù),其中共包括三個(gè)服務(wù)層。一是Software as a Service層(簡(jiǎn)稱SaaS),軟件即是服務(wù),其作用就是將各種應(yīng)用軟件以Web的方式提供給廣大用戶;二是Platform as a Service(簡(jiǎn)稱PaaS),平臺(tái)就是服務(wù),其作用則是將應(yīng)用開發(fā)與部署這個(gè)大平臺(tái)作為一種服務(wù)提供給各種用戶;三是Infrastructure as a Service(簡(jiǎn)稱IaaS),基礎(chǔ)設(shè)施就是服務(wù),相應(yīng)作用就是將最底層、最基礎(chǔ)的各種計(jì)算和存儲(chǔ)等功能以及其他資源作為一種服務(wù)提供給廣大用戶。雖然這三個(gè)服務(wù)層所提供的服務(wù)完全不同,但是各層之間卻是相互獨(dú)立,又相互依存的關(guān)系。如:軟件服務(wù)層(SaaS)的產(chǎn)品和服務(wù),必須依賴平臺(tái)服務(wù)層(PaaS)以及基礎(chǔ)設(shè)施服務(wù)層(IaaS)的各種技術(shù)與資源。下面即對(duì)各層的功能性質(zhì)進(jìn)行全面的闡述和呈現(xiàn)。
1.1.1軟件服務(wù)層(SaaS)
這是最先出現(xiàn)、也是最常見的云計(jì)算服務(wù)。在該種服務(wù)模式下,用戶只要能進(jìn)入互聯(lián)網(wǎng),就可以通過瀏覽器直接使用或運(yùn)行放置于云層上的資源或應(yīng)用。云層上的軟件配置和硬件設(shè)施都由SaaS云供應(yīng)商負(fù)責(zé)統(tǒng)一的管理和維護(hù),供應(yīng)商可以設(shè)置用戶免費(fèi)使用,也可以設(shè)定用戶按需使用并收取一定的費(fèi)用。這種云服務(wù)最大的好處就是用戶勿需再為軟件的安裝、升級(jí)以及病毒防護(hù)等問題付出考慮,而且更重要的則是免除了用戶在硬件和軟件方面的高昂費(fèi)用支出。SaaS的前身其實(shí)就是ASP(Application Service Provider,應(yīng)用服務(wù)提供商),但是其概念和思想已經(jīng)和ASP相差甚遠(yuǎn)。Salesforce.com 和Netsuit都是最早的ASP廠商。直到2003年后,當(dāng)時(shí)的ASP 企業(yè)在Salesforce的帶領(lǐng)下轉(zhuǎn)向了SaaS的研發(fā),并隨著技術(shù)和商業(yè)的不斷成熟,國(guó)外的一些SaaS的企業(yè)(如Salesforce、WebEx和Zoho等)已經(jīng)獲得了可觀的成功,而國(guó)內(nèi)的一些企業(yè)(諸如用友、金算盤、金碟、阿里巴巴和八百客等)也正積極地加入到SaaS這一行列中來,以盡快提升其科研實(shí)力。
1.1.2平臺(tái)服務(wù)層(PaaS)
因?yàn)镻aaS的整合率非常驚人,諸如Google App Engine這樣的一臺(tái)服務(wù)器,即能夠支撐成千上萬個(gè)應(yīng)用,也就是說,PaaS是最經(jīng)濟(jì)的一種平臺(tái)服務(wù)模式,為此PaaS面向的用戶主要是技術(shù)開發(fā)人員。而且不論在什么時(shí)候、什么地點(diǎn),用戶都可以在PaaS這個(gè)平臺(tái)上編輯各種文檔,以及對(duì)SDK(Software Development Kit,軟件開發(fā)工具包)進(jìn)行測(cè)試和部署等。并且尤為重要的是用戶在使用過程中,已經(jīng)不再需要關(guān)注服務(wù)器、網(wǎng)絡(luò)、存儲(chǔ)以及操作系統(tǒng)等資源的運(yùn)行和維護(hù)。2007年由Salesforce公司開發(fā)的Force.com是業(yè)界的第一個(gè)PaaS服務(wù)平臺(tái),但在云計(jì)算三個(gè)服務(wù)層中卻是最晚出現(xiàn)。通過這個(gè)平臺(tái),用戶不僅可以對(duì)Salesforce所提供的各種開發(fā)工具進(jìn)行輕松的設(shè)計(jì)與應(yīng)用,而且還可以將各種應(yīng)用在Salesforce的基礎(chǔ)設(shè)施上進(jìn)行直接部署,并獲得良好實(shí)現(xiàn)。2008年4月,Google公司推出了Google App Engine,由此PaaS平臺(tái)的服務(wù)范圍,開始從在線商業(yè)應(yīng)用層面擴(kuò)展到普通的Web應(yīng)用層面,這就使得越來越多的用戶開始了解、熟悉并逐漸體驗(yàn)到了PaaS服務(wù)的強(qiáng)大功能。
1.1.3基礎(chǔ)設(shè)施服務(wù)層(IaaS)
用戶可以通過IaaS基礎(chǔ)設(shè)施服務(wù)層,從云計(jì)算供應(yīng)商處獲得所需要的計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)、服務(wù)器以及操作系統(tǒng)等資源及應(yīng)用,并且用戶只需按資源租用量付費(fèi),而其余所有的維護(hù)與管理工作只需要交給IaaS供應(yīng)商去完成即可。其實(shí),類似于IaaS的想法早就問世,諸如VPS(Virtual Private Server,虛擬專用服務(wù)器)和IDC(Internet Data Center,互聯(lián)網(wǎng)數(shù)據(jù)中心)等,只是,在IaaS出現(xiàn)前,相應(yīng)的關(guān)鍵技術(shù)并未得到有效解決,因而使得該種服務(wù)除了價(jià)格高昂之外,在其性能和使用等方面都還存在許多問題,這就決定了基礎(chǔ)設(shè)施服務(wù)層(IaaS)在大中型企業(yè)的用戶中并未獲得廣泛采用。直到2006年底,Amazon權(quán)威發(fā)布了EC2(Elastic Compute Cloud)這一IaaS云服務(wù)之后,并且由于EC2具有著技術(shù)、價(jià)格和性能等諸多方面的明顯優(yōu)勢(shì),才使該種服務(wù)得到了業(yè)界的廣泛認(rèn)可和接受,隨之IaaS就開啟了其高速發(fā)展之路,紐約時(shí)報(bào)就是率先采用IaaS技術(shù)與服務(wù)的著名大型企業(yè)之一。
1.2云計(jì)算的管理設(shè)計(jì)
整個(gè)云計(jì)算中心能否得到有效的管理,能否安全、穩(wěn)定地運(yùn)行,這就是云計(jì)算管理層的任務(wù),相應(yīng)地也是其功能所在。云計(jì)算管理層屬于云計(jì)算的核心部分,而與過去的數(shù)據(jù)中心相比,云計(jì)算的鮮明優(yōu)勢(shì)即在于云管理具有出眾的優(yōu)越性。同時(shí),這一層也是前面三個(gè)云服務(wù)層的重要基礎(chǔ),可為云服務(wù)的每一個(gè)層面提供管理、維護(hù)、安全、運(yùn)行等多方面的功能和各種重要的技術(shù)支持。具體實(shí)現(xiàn)如圖2所示,云計(jì)算管理層一共由九個(gè)模塊組成,而這九個(gè)模塊又可以再分為三層——用戶層、機(jī)制層和檢測(cè)層。下面即對(duì)各層展開逐一的分析和介紹。
1.2.1用戶層
這是面向云用戶的功能管理層,云管理人員通過各種不同的功能為用戶提供優(yōu)質(zhì)的服務(wù)。該層面共包括四個(gè)模塊:用戶管理、客戶支持、服務(wù)管理和計(jì)費(fèi)管理。具體地,用戶管理是各個(gè)系統(tǒng)的通用問題,云計(jì)算也概莫能外。并且云計(jì)算中最為核心的關(guān)鍵問題就是要使每一個(gè)云用戶均能得到舒暢、而又方便的客戶體驗(yàn)。客戶支持模塊的主要任務(wù)則是要建設(shè)一套基于云計(jì)算技術(shù)的、非常完善的客戶支持系統(tǒng),能夠按照問題的輕重緩急或者用戶的優(yōu)先級(jí)別依次幫助用戶解決各類疑難問題。而服務(wù)管理模塊就是按照SOA(Service-Oriented Architecture,面向服務(wù)的架構(gòu))的設(shè)計(jì)規(guī)范,將云上各種應(yīng)用的不同功能進(jìn)行服務(wù)拆分,再通過定義良好的接口和契約將已經(jīng)拆分出來的服務(wù)進(jìn)行排列,這樣做就可使整個(gè)系統(tǒng)更加靈活,從而能夠更具效果地、以及更方便、快捷地為各種不同類型、多種不同需要的客戶實(shí)現(xiàn)高效、定制的服務(wù)。此外,計(jì)費(fèi)管理模塊即是利用檢測(cè)層的監(jiān)控系統(tǒng)采集到的相關(guān)數(shù)據(jù),有針對(duì)、有目的地將不同用戶所使用的不同資源或者不同服務(wù)進(jìn)行有效統(tǒng)計(jì),并通過完善、詳細(xì)的報(bào)表形式向各個(gè)用戶收取準(zhǔn)確費(fèi)用。
1.2.2機(jī)制層
要對(duì)云計(jì)算進(jìn)行有效的管理,就離不開云管理的機(jī)制層。如果沒有云管理機(jī)制的有效運(yùn)維與整體部署,云計(jì)算中心內(nèi)部就不可能擁有更安全、更環(huán)保、更自動(dòng)的現(xiàn)代管理。和上面的用戶層一樣,機(jī)制層也包含了四個(gè)模塊:運(yùn)維管理、資源管理、安全管理和容災(zāi)支持。其中,機(jī)制層的運(yùn)維系統(tǒng)越強(qiáng)健,自動(dòng)化程度越高,云計(jì)算的運(yùn)行就會(huì)越出色。資源管理模塊主要是對(duì)服務(wù)器、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備等物理節(jié)點(diǎn)的管理,其功能分別表現(xiàn)為自動(dòng)部署、資源調(diào)度、資源池管理等三個(gè)方面。而安全管理模塊主要實(shí)現(xiàn)對(duì)用戶賬號(hào)、數(shù)據(jù)以及服務(wù)平臺(tái)上的各種應(yīng)用等IT資源的全面保護(hù),并且能夠保證云上的各種基礎(chǔ)設(shè)施以及云中心所提供的各種資源,可以由用戶合法地訪問和使用,另外更重要的還要使這些設(shè)施和資源免受犯罪分子、惡意程序的侵害。安全管理模塊在具體細(xì)分上則有訪問授權(quán)、數(shù)據(jù)加密、數(shù)據(jù)備份、安全審計(jì)、安全策略、物理安全、網(wǎng)絡(luò)隔離等七種機(jī)制。最后的容災(zāi)支持就主要涉及了數(shù)據(jù)中心級(jí)別和物理節(jié)點(diǎn)級(jí)別兩個(gè)層面。
1.2.3檢測(cè)層
這一層涉及到云計(jì)算中心各個(gè)方面的檢測(cè)與監(jiān)控,其主要功能是采集各種相關(guān)數(shù)據(jù),以供應(yīng)云管理中的用戶層和機(jī)制層的選擇和使用。對(duì)云計(jì)算中心的檢測(cè)與監(jiān)控主要牽涉三個(gè)層面。一是物理資源層,主要任務(wù)是檢測(cè)與監(jiān)控物理資源的運(yùn)行狀況,比如CPU使用率、內(nèi)存利用率和網(wǎng)絡(luò)帶寬利用率等;二是虛擬資源層,主要任務(wù)是檢測(cè)與監(jiān)控虛擬機(jī)的CPU使用率和內(nèi)存利用率等;三是應(yīng)用層,主要任務(wù)是檢測(cè)與記錄每個(gè)應(yīng)用每次請(qǐng)求的響應(yīng)時(shí)間(Response Time)和吞吐量(Throughput),以判斷相關(guān)應(yīng)用是否可以滿足預(yù)先設(shè)定的SLA(Service Level Agreement,服務(wù)級(jí)別協(xié)議)。
2云計(jì)算的核心技術(shù)
云計(jì)算系統(tǒng)運(yùn)用了多種實(shí)用技術(shù),最為關(guān)鍵的則有五種,分別是:MAP-Reduce編程模型、海量數(shù)據(jù)分存技術(shù)、海量數(shù)據(jù)管理技術(shù)、虛擬化技術(shù)和云計(jì)算平臺(tái)管理技術(shù)。下面即對(duì)這五大核心技術(shù)進(jìn)行重點(diǎn)研究,并給出綜述。
2.1MAP-Reduce編程模型
云計(jì)算中編程模型的最高原則與要求就是簡(jiǎn)單易用。編程模型只有簡(jiǎn)單,用戶的操作才會(huì)輕松,編程模型也只有易用,用戶才能享受到云服務(wù)的更大便利,才能對(duì)其善加利用,并根據(jù)自己的某種特定需要或某個(gè)特定目的編寫一些簡(jiǎn)單而且易于實(shí)現(xiàn)的小程序,但是前提卻必須對(duì)用戶和編程人員保證后臺(tái)復(fù)雜任務(wù)調(diào)度和并行執(zhí)行的完全透明。
例如,針對(duì)用戶大規(guī)模數(shù)據(jù)集(大于1TB)的并行運(yùn)算,Google公司就開發(fā)了java、Python、C++等編程模型,這不僅是一種簡(jiǎn)化了的分布式編程模型,而且也是一種高效的任務(wù)調(diào)度模型。云計(jì)算環(huán)境下的編程在嚴(yán)格、良好、實(shí)用的編程模型的支持下即變得十分簡(jiǎn)單、便捷。Map-Reduce編程模型就是基于Map(映射)和Reduce(化簡(jiǎn))的理論和技術(shù)對(duì)要執(zhí)行的問題予以分解,其中的Map程序?qū)⑾嚓P(guān)數(shù)據(jù)區(qū)進(jìn)行塊式切割,并調(diào)度或分配給大量的計(jì)算機(jī)實(shí)現(xiàn)相應(yīng)的數(shù)據(jù)處理,進(jìn)一步地Reduce程序即將分布式運(yùn)算所得到的結(jié)果進(jìn)行匯總與輸出。
正是因?yàn)镸AP-Reduce存在著嚴(yán)格、良好、實(shí)用等許多優(yōu)勢(shì),可以使云用戶享受到更簡(jiǎn)單、易用、便捷的服務(wù),為此幾乎所有的IT廠商當(dāng)前采用的編程模型,都是基于MAP-Reduce的先進(jìn)思想而開發(fā)得到的編程工具。Map-Reduce編程模型不僅對(duì)云計(jì)算來說高度適用,而且對(duì)多核、多處理器、cellprocessor、異構(gòu)機(jī)群也具有良好的適用性,并表現(xiàn)了與云計(jì)算同樣良好的性能。Map-Reduce編程模型的缺點(diǎn)則是只適用于內(nèi)部松耦合的編寫任務(wù),以及能夠高度并行化的程序。所以改進(jìn)編程模式,使其也可適用于內(nèi)部緊耦合的編寫任務(wù),并且能夠更為高效地調(diào)度和執(zhí)行任務(wù),就成為Map-Reduce編程模型在未來很長(zhǎng)一段時(shí)間內(nèi)研究及發(fā)展的重要方向。
2.2海量數(shù)據(jù)分存技術(shù)
數(shù)據(jù)量的發(fā)展已不容忽視,目前的數(shù)據(jù)庫(kù)技術(shù)已經(jīng)無法應(yīng)對(duì)這些蜂擁而至的數(shù)據(jù)浪潮,并且在各個(gè)領(lǐng)域均呈現(xiàn)嚴(yán)峻的挑戰(zhàn)趨勢(shì)。這就是人們積極尋找構(gòu)建新的云存儲(chǔ),即云數(shù)據(jù)庫(kù)的原因,期待藉此來容納海量數(shù)據(jù)?,F(xiàn)有的云數(shù)據(jù)庫(kù)系統(tǒng)大體可劃分為三類:一類是基于Google開創(chuàng)的GFS(Google File System谷歌文件系統(tǒng))[3],主要運(yùn)用了分布式儲(chǔ)存的方式;另一類是以DYNAMO為主體,采用了P2P處理結(jié)構(gòu);第三類則是Hadoop團(tuán)隊(duì)開發(fā)的HDFS(Hadoop Distributed File System,Hadoop分布式文件系統(tǒng))[4]。大部分IT廠商,包括yahoo、Intel的“云”計(jì)劃采用的都是HDFS的數(shù)據(jù)存儲(chǔ)技術(shù)。迄至目前為止,該領(lǐng)域開發(fā)的具有代表性的云數(shù)據(jù)庫(kù)系統(tǒng)主要有:HADOOPDB、HBASE和CASSANDRA。
當(dāng)前,數(shù)據(jù)管理面臨的挑戰(zhàn)在于:如何去應(yīng)對(duì)不斷發(fā)展的數(shù)據(jù)規(guī)模,如何提供一種良好的可擴(kuò)展性,并且如何提供一種有著良好成本效益的服務(wù),同時(shí)如何去支持在這種模式下具備的良好容錯(cuò)能力,以及形成一種可持續(xù)研發(fā)的機(jī)制。因此未來的數(shù)據(jù)管理系統(tǒng),其主要的研究方向即定位在:可擴(kuò)展性、成本效益和容錯(cuò)性,持續(xù)的簡(jiǎn)化能力和易于管理等等,更重要的還有構(gòu)造的云數(shù)據(jù)管理必須能支持多種形式的應(yīng)用,但這卻是一個(gè)很復(fù)雜的問題,因?yàn)槊糠N應(yīng)用需求都不一樣,目前構(gòu)建的云存儲(chǔ)只是針對(duì)某種應(yīng)用或者某種情況而具體設(shè)置的,帶有一定的局限性,所以支持多種形式的應(yīng)用將是云數(shù)據(jù)庫(kù)研究的核心重點(diǎn)內(nèi)容。
2.3海量數(shù)據(jù)管理技術(shù)
海量的數(shù)據(jù)應(yīng)該怎樣進(jìn)行處理、分析,這就是云計(jì)算數(shù)據(jù)管理技術(shù)必須解決的重要問題。而海量的數(shù)據(jù)集群要怎樣才能更好、更快地找到某個(gè)特定的數(shù)據(jù),則成為云計(jì)算數(shù)據(jù)管理技術(shù)首要攻關(guān)的技術(shù)難題。云計(jì)算的最大特點(diǎn)就是對(duì)自身存儲(chǔ)的海量數(shù)據(jù),需要進(jìn)行大規(guī)模的讀取、處理和分析,也就是說云數(shù)據(jù)的讀操作頻率非常之高,所以云計(jì)算海量數(shù)據(jù)的管理其實(shí)就是一種讀優(yōu)化的數(shù)據(jù)管理模式。
在目前,云計(jì)算的海量數(shù)據(jù)管理技術(shù)主要包括由Goog1e公司開發(fā)的BT(BigTable)數(shù)據(jù)管理技術(shù),以及由Hadoop團(tuán)隊(duì)開發(fā)的開源數(shù)據(jù)管理技術(shù)(HBase)。針對(duì)BigTable,Google公司給出了如下定義:BigTable是一種為了管理結(jié)構(gòu)化數(shù)據(jù)而設(shè)計(jì)的分布式存儲(chǔ)系統(tǒng),這些數(shù)據(jù)可以擴(kuò)展到非常大的規(guī)模,例如在數(shù)千臺(tái)商用服務(wù)器上達(dá)到PB(Petabytes)規(guī)模的數(shù)據(jù)。實(shí)際上,云計(jì)算海量數(shù)據(jù)的管理就是一種讀優(yōu)化的數(shù)據(jù)管理模式,所以BigTable需解決的關(guān)鍵問題就是采用列存儲(chǔ)的方式,對(duì)海量數(shù)據(jù)的讀操作進(jìn)行最大限度的優(yōu)化,從而最充分地提高海量數(shù)據(jù)的準(zhǔn)確讀取率。BigTable管理的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)為:
綜上所述,云計(jì)算海量數(shù)據(jù)管理技術(shù)在未來的發(fā)展進(jìn)程中需要解決的關(guān)鍵問題則是應(yīng)如何提高列存儲(chǔ)方式的數(shù)據(jù)更新速率和隨機(jī)讀取速率。
2.4虛擬化技術(shù)
虛擬化技術(shù)不僅是云計(jì)算基礎(chǔ)設(shè)施服務(wù)層(IaaS)的重要組成部分,而且更是云計(jì)算所表現(xiàn)出來的最為重要的特性。根據(jù)對(duì)象的不同,云計(jì)算系統(tǒng)中的虛擬化技術(shù)可分為計(jì)算虛擬化、存儲(chǔ)虛擬化、網(wǎng)絡(luò)虛擬化等。其中,計(jì)算虛擬化還可進(jìn)一步細(xì)分為應(yīng)用虛擬化、系統(tǒng)虛擬化及桌面虛擬化。鑒于海量數(shù)據(jù)為云計(jì)算提供了規(guī)模龐大的各種資源,為了使基礎(chǔ)設(shè)施服務(wù)實(shí)現(xiàn)按需分配,最有效的解決方法就是采用虛擬化技術(shù)。虛擬化技術(shù)最強(qiáng)大的作用就在于可以讓軟件應(yīng)用與底層硬件彼此隔離的情況下,不但可以通過裂分模式實(shí)現(xiàn)將單個(gè)資源劃分為多個(gè)虛擬資源,還可以通過聚合模式實(shí)現(xiàn)將多個(gè)資源接合成一個(gè)虛擬資源。在這里主要介紹虛擬機(jī)在線遷移技術(shù)和虛擬機(jī)快速部署技術(shù)。
2.4.1虛擬機(jī)在線遷移技術(shù)
在線遷移技術(shù)是在2005年由Clark等人提出的一種具有重大意義的IT技術(shù),當(dāng)時(shí)主要是采用了迭代的預(yù)復(fù)制(pre-copy)策略進(jìn)行遷移的。虛擬機(jī)的在線遷移技術(shù)對(duì)整個(gè)云計(jì)算系統(tǒng)的有效管理,以及云平臺(tái)中各種服務(wù)的實(shí)現(xiàn)都具有決定性的重要意義。所謂在線遷移就是指虛擬機(jī)在運(yùn)行狀態(tài)下實(shí)現(xiàn)從這臺(tái)物理機(jī)移動(dòng)到另一臺(tái)物理機(jī)上的技術(shù)。該技術(shù)主要有以下三個(gè)優(yōu)點(diǎn),分別是:
(1)有利于提高云系統(tǒng)的可靠性。這種可靠性主要體現(xiàn)在兩個(gè)方面,一是當(dāng)物理機(jī)要進(jìn)行維護(hù)時(shí),在線遷移技術(shù)可以將該物理機(jī)的虛擬機(jī)轉(zhuǎn)移到另外的物理機(jī)上。二是當(dāng)主虛擬機(jī)發(fā)生異?;虺霈F(xiàn)錯(cuò)誤時(shí),在線遷移技術(shù)可將云服務(wù)無縫切換至備份虛擬機(jī),Remus系統(tǒng)即是實(shí)現(xiàn)虛擬機(jī)在線備份的先行者。這一技術(shù)最可稱道之處就是當(dāng)主虛擬機(jī)出現(xiàn)異?;蝈e(cuò)誤時(shí),系統(tǒng)的無縫切換不但不會(huì)影響任務(wù)的執(zhí)行,而且還將提高系統(tǒng)的可靠性。
(2)有利于優(yōu)化性能、均衡負(fù)載。當(dāng)物理機(jī)的負(fù)載過重時(shí),在線遷移技術(shù)可以將過重的負(fù)載進(jìn)行部分轉(zhuǎn)移,此時(shí)的虛擬機(jī)即起到了均衡負(fù)載,優(yōu)化性能的作用。
(3)有利于節(jié)能、環(huán)保。在線遷移技術(shù)還可將零散、空閑的虛擬機(jī)予以集中,并進(jìn)行充分利用,而在虛擬機(jī)運(yùn)行與工作的同時(shí),部分的物理機(jī)則可相應(yīng)地關(guān)閉或進(jìn)入休眠,從而達(dá)到節(jié)能、環(huán)保的目的。
此外,在線遷移技術(shù)還可以在不影響服務(wù)質(zhì)量的情況下對(duì)云計(jì)算的數(shù)據(jù)中心進(jìn)行全面的優(yōu)化和管理。
2.4.2虛擬機(jī)快速部署技術(shù)
針對(duì)怎樣的速度才算快這一實(shí)際問題,Lagar-Cavilla等人研究了分布式環(huán)境下的并行虛擬機(jī)fork技術(shù)[5],這種技術(shù)最大限度可以在1s內(nèi)完成32臺(tái)虛擬機(jī)的快速部署。
一般情況下,傳統(tǒng)的虛擬機(jī)部署要經(jīng)過創(chuàng)建虛擬機(jī)、安裝操作系統(tǒng)與應(yīng)用程序、配置主機(jī)屬性(如網(wǎng)絡(luò)、主機(jī)名等)、啟動(dòng)虛擬機(jī)等四個(gè)階段,這就導(dǎo)致部署速度太慢,完全達(dá)不到云服務(wù)的高強(qiáng)度、高彈性的性能要求。于是因?yàn)槭艿讲僮飨到y(tǒng)fork原語的啟發(fā),即有學(xué)者提出了基于fork思想的虛擬機(jī)部署方式,也就是利用父虛擬機(jī)迅速克隆出大量子虛擬機(jī)的部署方式?;趂ork思想方式下的子虛擬機(jī)可以完全繼承父虛擬機(jī)的所有內(nèi)存狀態(tài)信息,還可以在創(chuàng)建后即時(shí)可用??焖俨渴鸺夹g(shù)最需要解決的就是速度,為此當(dāng)虛擬機(jī)要進(jìn)行大規(guī)模的部署時(shí),可以并行創(chuàng)建多個(gè)子虛擬機(jī),而且能在不依賴于父虛擬機(jī)的情況下,維持其獨(dú)立的內(nèi)存和空間。為了進(jìn)一步提高速度,就要減少文件的復(fù)制開銷,“寫時(shí)復(fù)制”(COW:copy-Oil-write)技術(shù)則提供了該問題的解決之道:子虛擬機(jī)在執(zhí)行“讀操作”與“寫操作”時(shí),將會(huì)判斷該文件是否已被更新,若已更新即將更新后的文件寫入本機(jī)磁盤。
基于fork思想的虛擬機(jī)部署技術(shù)是一種即時(shí)(on-demand)部署技術(shù),雖然提高了部署速度與執(zhí)行效率,但通過這種技術(shù)所部署的子虛擬機(jī)卻不能實(shí)現(xiàn)持久性保存。
2.5云計(jì)算平臺(tái)管理技術(shù)
因?yàn)樵朴?jì)算所聚集的資源非常之多,要處理的數(shù)據(jù)更是非常龐大,所以云計(jì)算系統(tǒng)需要的服務(wù)器數(shù)量也是非常驚人的,并且這些服務(wù)器都可能放置在不同的地點(diǎn),還要同時(shí)運(yùn)行著成百上千種不同的應(yīng)用。怎樣才能更有效地管理這眾多的服務(wù)器,怎樣才能更好地保證整個(gè)系統(tǒng)隨時(shí)隨地都能提供不間斷的云服務(wù),這對(duì)于云計(jì)算來說是一個(gè)堪稱嚴(yán)峻的巨大挑戰(zhàn)。云計(jì)算平臺(tái)管理技術(shù)所要解決的最為關(guān)鍵的問題就是怎樣才能使眾多的服務(wù)器可以協(xié)同工作,從而以最便捷方式的進(jìn)行各種業(yè)務(wù)部署,并以最快的速度發(fā)現(xiàn)和恢復(fù)系統(tǒng)的故障,再通過智能化、自動(dòng)化的手段使規(guī)模龐大的系統(tǒng)實(shí)現(xiàn)并獲得最可靠、穩(wěn)定的運(yùn)營(yíng)。
云計(jì)算管理系統(tǒng)中至為關(guān)鍵的一環(huán)是如何解決系統(tǒng)的可擴(kuò)展性問題。系統(tǒng)的可擴(kuò)展性包含兩個(gè)維度。第一個(gè)維度是節(jié)點(diǎn)規(guī)模的可擴(kuò)展性,管理系統(tǒng)應(yīng)該能夠管理幾萬甚至幾十萬節(jié)點(diǎn)規(guī)模的云計(jì)算平臺(tái);第二個(gè)維度是網(wǎng)絡(luò)拓?fù)涞目蓴U(kuò)展性,由于監(jiān)控系統(tǒng)、部署系統(tǒng)等模塊需要通過多種網(wǎng)絡(luò)協(xié)議直接對(duì)硬件資源進(jìn)行管理,因此管理系統(tǒng)必須能夠適應(yīng)各種不同的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),甚至能夠管理跨數(shù)據(jù)中心的云計(jì)算平臺(tái)。
搭建一套云計(jì)算平臺(tái),強(qiáng)大的監(jiān)控管理系統(tǒng)是必不可少的。當(dāng)然,任何工具都不是萬能的,專業(yè)人員在實(shí)際維護(hù)過程中發(fā)現(xiàn),云計(jì)算平臺(tái)管理的三大利器Nagios、Ganglia和Splunk也經(jīng)常會(huì)出現(xiàn)誤報(bào),如果規(guī)則定義得不好,大量的警報(bào)郵件將如潮水一樣涌來,反而掩蓋了真正的問題。可以說,在云計(jì)算平臺(tái)的運(yùn)維管理上,表現(xiàn)了明顯的動(dòng)態(tài)性質(zhì),也就是隨著規(guī)模的不斷增大和應(yīng)用的日益多樣,還需要進(jìn)一步地實(shí)踐和不斷總結(jié)[6]。
3云計(jì)算的挑戰(zhàn)與機(jī)遇
我國(guó)《北京“祥云工程”行動(dòng)計(jì)劃》提出將在2015年,使“云計(jì)算”的三類典型服務(wù)——基礎(chǔ)設(shè)施服務(wù)、平臺(tái)服務(wù)及軟件服務(wù)形成500億元產(chǎn)業(yè)規(guī)模,由此帶動(dòng)云計(jì)算產(chǎn)業(yè)鏈形成2 000億元產(chǎn)值[7]。據(jù)IDC預(yù)測(cè),用于云計(jì)算服務(wù)上的支出在接下來的5年間可能會(huì)出現(xiàn)3倍的增長(zhǎng),2012年可達(dá)420億美元的市場(chǎng)規(guī)模,并占據(jù)IT支出增長(zhǎng)總量的25%份額。Gartner公司也同時(shí)預(yù)測(cè),云計(jì)算服務(wù)將在2014年得到強(qiáng)勢(shì)增長(zhǎng),全球云計(jì)算服務(wù)市場(chǎng)營(yíng)收總額將達(dá)到1 000億英鎊[8]。這一切均已表明,云計(jì)算已經(jīng)成為IT產(chǎn)業(yè)未來發(fā)展的重要趨勢(shì)和潮流方向。如今,亞馬遜的云計(jì)算系統(tǒng)已經(jīng)完成了從理論到應(yīng)用的轉(zhuǎn)化,其云計(jì)算部門(AWS)2010年的銷售收入即已達(dá)到5億美元,2011年的銷售收入也達(dá)到了7.50億美元,到2014年,亞馬遜AWS部門的銷售收入可將達(dá)到大約25億美元。
4結(jié)束語
雖然云計(jì)算模式擁有眾多優(yōu)點(diǎn),但是存在的問題也非常明顯,比如數(shù)據(jù)的隱私問題、信息的安全問題、軟件的許可證問題、網(wǎng)絡(luò)的傳輸速度問題等等,而這些都需要IT業(yè)界公司在今后的產(chǎn)業(yè)化進(jìn)程中對(duì)其不斷地發(fā)展和完善,從而避免一些不必要糾紛與問題的發(fā)生。
參考文獻(xiàn):
[1]MELLP,GRANCE.The NIST definition of cloud computing[R]. National Institute of Standards and Technology,2011.
[2]GILLENA,BROUSSARDFW,PERRY R,et at. Optimizing infrastructure:the relationship between it labor costs and best practices for managing the windows desktop[EB/OL]. http://download.Microsoft.corn/download/a/4/4/a4474b0c-57d8-41a2-afe6-32037fa93ea6/IDC-windesktop_IO_whitepaper.pdf 2007.
[3]GHEMAWAT S,GOBIOFF H,LEUNG P-N-T. The Google file system[C]// Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles, Oct. 2003.
[4]Hadoop:http://hadoop.apache.org/.
[5]ANDRH,LAGAR-CAVILLAS,WHITYJA,et at.Snow Flock: virtual machine cloning as a first class cloud primitive[J].ACM Trans Comput Syst,201l,29(1):1-45.
[6]張志宏.云計(jì)算平臺(tái)管理系統(tǒng)的研究與實(shí)現(xiàn)[J].電信工程技術(shù)與標(biāo)準(zhǔn)化,2012(4):21-25.
[7]新華網(wǎng)[EB/OL].http://news.xinhuanet.com/2010-10/06/c_12632881.htm.
[8]eNet硅谷動(dòng)力[EB/OL].http://www.enet.com.cn/article/2010/0624/ A20100624674376.shtml.