物聯(lián)網(wǎng)技術(shù)與應(yīng)用開發(fā)第10章ppt課件_第1頁
物聯(lián)網(wǎng)技術(shù)與應(yīng)用開發(fā)第10章ppt課件_第2頁
物聯(lián)網(wǎng)技術(shù)與應(yīng)用開發(fā)第10章ppt課件_第3頁
物聯(lián)網(wǎng)技術(shù)與應(yīng)用開發(fā)第10章ppt課件_第4頁
物聯(lián)網(wǎng)技術(shù)與應(yīng)用開發(fā)第10章ppt課件_第5頁
已閱讀5頁,還剩174頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第10章云計算,10.1云計算概述10.2云計算系統(tǒng)的組成及其技術(shù)10.3典型云計算系統(tǒng)簡介10.4云計算的應(yīng)用示例,10.1云計算概述,當今社會,PC依然是日常工作生活中的核心工具我們用PC處理文檔、存儲資料,通過電子郵件或U盤與他人分享信息。如果PC硬盤壞了,我們會因為資料丟失而束手無策。而在“云計算”時代,“云”會替我們做存儲和計算的工作。“云”就是計算機群,每一群包括了幾十萬臺、甚至上百萬臺計算機。“云”的好處還在于,其中的計算機可以隨時更新,保證“云”長生不老。,大約在2007年,包括IBM、Google、亞馬遜等在內(nèi)的知名企業(yè)紛紛提出云計算的概念。在“2009云計算中國論壇”上,成都信息工程學院副教授王鵬(走進云計算的作者)指出,這些企業(yè)在提出云計算概念的時候,往往依據(jù)自己已有的技術(shù)基礎(chǔ)和自己商業(yè)的利益,從不同的角度提出了云計算模型。盡管如此,這些知名企業(yè)的推動,促使了整個云計算的概念明確和出現(xiàn)。,在云計算市場,Google的應(yīng)用引擎(GoogleAppEngine)和微軟的LiveMesh為開發(fā)云計算應(yīng)用提供了截然不同的平臺。LiveMesh是微軟推出的基于云計算的數(shù)據(jù)同步和設(shè)備管理平臺。LiveMesh把用戶數(shù)據(jù)的原版拷貝保留在自己的服務(wù)器上,這樣用戶就能從與互聯(lián)網(wǎng)相連的任何設(shè)備訪問最新版本的文件。在傳統(tǒng)的計算模式中,使用應(yīng)用程序來創(chuàng)建文檔(無論是打字稿、電子表格、數(shù)據(jù)庫還是其他文檔),當需要保存文檔時,應(yīng)用程序就把它交給操作系統(tǒng),操作系統(tǒng)會在本地存儲設(shè)備中以文件的形式保留一份文檔拷貝。,Google的模式卻截然不同。在這種模式中,云計算是多計算機環(huán)境下的計算。用戶不需要維護任何磁盤,也不需要“文件”或者用來保存文件的文件系統(tǒng)這種人工概念。Google的云計算還有其他優(yōu)勢,Google免費提供應(yīng)用程序。由于這些應(yīng)用程序存在于云計算環(huán)境中,所以用戶不需要安裝軟件,也不需要管理程序升級或者安全補丁。實際上,用戶完全擺脫了與操作系統(tǒng)之間的所有日常交互。當然,服務(wù)器底層運行著某種操作系統(tǒng),負責運行Google的諸多應(yīng)用程序;還有某種有組織的存儲系統(tǒng)。但這些僅僅是技術(shù)細節(jié),不需要用戶操心。,雖然Google基于互聯(lián)網(wǎng)的應(yīng)用程序確實給人留下了深刻印象,但其中缺乏像微軟Office這類桌面軟件的高級功能。正由于如此,這種方式很難讓習慣于Office的忠實用戶改變立場,轉(zhuǎn)身投向Google。另外,在云計算環(huán)境中,而不是在本地驅(qū)動器上保存及管理文檔這種方式也可能讓企業(yè)客戶心生疑慮。比較而言,Google的云計算方案是革命性的,微軟的云計算方案卻是演進性的。LiveMesh迎合的是現(xiàn)有用戶,這比較容易打動人心。不過,Google的發(fā)展勢頭又是不可阻擋的。,10.1.1云計算的定義云計算(CloudComputing)是一種新提出的計算模式。維基百科給云計算下的定義為:云計算將IT相關(guān)的能力以服務(wù)的方式提供給用戶,允許用戶在不了解提供服務(wù)的技術(shù)、沒有相關(guān)知識以及設(shè)備操作能力的情況下,通過Internet獲取需要服務(wù)。中國云計算網(wǎng)將云計算定義為:云計算是分布式計算(DistributedComputing)、并行計算(ParallelComputing)和網(wǎng)格計算(GridComputing)的發(fā)展,或者說是這些科學概念的商業(yè)實現(xiàn)。,ForresterResearch的分析師JamesStaten將云計算定義為:云計算是一個具備高度擴展性和管理性并能夠勝任終端用戶應(yīng)用軟件計算基礎(chǔ)架構(gòu)的系統(tǒng)池。,1狹義云計算狹義云計算是指IT基礎(chǔ)設(shè)施的交付和使用模式,即通過網(wǎng)絡(luò)以按需、易擴展的方式獲得所需的資源(硬件、平臺、軟件)。提供資源的網(wǎng)絡(luò)被稱為“云”?!霸啤敝械馁Y源在使用者看來是可以無限擴展的,并且可以隨時獲取,按需使用,隨時擴展,按使用付費。日常生活的供水、供電系統(tǒng)就具有這樣的特性,故狹義云計算也就意味著像使用水電一樣使用IT基礎(chǔ)設(shè)施。,2廣義云計算廣義云計算是指服務(wù)的交付和使用模式,即通過網(wǎng)絡(luò)以按需、易擴展的方式獲得所需的服務(wù)。這種服務(wù)可以是IT和軟件、互聯(lián)網(wǎng)相關(guān)的,也可以是任意其他的服務(wù)。在廣義云計算意義上,“云”是一些可以自我維護和管理的虛擬計算資源,通常為一些大型服務(wù)器集群,包括計算服務(wù)器、存儲服務(wù)器、寬帶資源等。云計算將所有的計算資源集中起來,并由軟件實現(xiàn)自動管理,無需人為參與。這使得應(yīng)用提供者無需為繁瑣的細節(jié)而煩惱,能夠更加專注于自己的業(yè)務(wù),有利于創(chuàng)新和降低成本。,有人打了個比方:這就好比是從古老的單臺發(fā)電機模式轉(zhuǎn)向了電廠集中供電的模式。它意味著計算能力也可以作為一種商品進行流通,就像煤氣、水電一樣,取用方便,費用低廉。最大的不同在于,它是通過互聯(lián)網(wǎng)進行傳輸?shù)?。云計算是并行計?ParallelComputing)、分布式計算(DistributedComputing)和網(wǎng)格計算(GridComputing)的發(fā)展,或者說是這些計算機科學概念的商業(yè)實現(xiàn)。云計算是虛擬化(Virtualization)、效用計算(UtilityComputing)、IaaS(基礎(chǔ)設(shè)施即服務(wù))、PaaS(平臺即服務(wù))、SaaS(軟件即服務(wù))等概念混合演進并躍升的結(jié)果。,雖然目前云計算沒有統(tǒng)一的定義,但結(jié)合上述定義,可以總結(jié)出云計算的一些本質(zhì)特征,即分布式計算和存儲特性、高擴展性、用戶友好性和良好的管理性。云計算具有以下特點:(1)超大規(guī)模。“云”具有相當?shù)囊?guī)模,Google云計算已經(jīng)擁有100多萬臺服務(wù)器,Amazon、IBM、Microsoft、Yahoo等的“云”均擁有幾十萬臺服務(wù)器。企業(yè)私有云一般擁有數(shù)百上千臺服務(wù)器?!霸啤蹦苜x予用戶前所未有的計算能力。,(2)虛擬化。云計算支持用戶在任意位置、使用各種終端獲取應(yīng)用服務(wù)。所請求的資源來自“云”,而不是固定的有形的實體。應(yīng)用在“云”中某處運行,但實際上用戶無需了解、也不用擔心應(yīng)用運行的具體位置。只需要一臺筆記本或者一部手機,就可以通過網(wǎng)絡(luò)服務(wù)來實現(xiàn)我們需要的一切,甚至包括超級計算這樣的任務(wù)。(3)高可靠性?!霸啤笔褂昧藬?shù)據(jù)多副本容錯、計算節(jié)點同構(gòu)可互換等措施來保障服務(wù)的高可靠性,使用云計算比使用本地計算機可靠。,(4)通用性。云計算不針對特定的應(yīng)用,在“云”的支撐下可以構(gòu)造出千變?nèi)f化的應(yīng)用,同一個“云”可以同時支撐不同的應(yīng)用運行。(5)高可擴展性?!霸啤钡囊?guī)??梢詣討B(tài)伸縮,滿足應(yīng)用和用戶規(guī)模增長的需要。(6)按需服務(wù)?!霸啤笔且粋€龐大的資源池,可按需購買;“云”可以像自來水、電、煤氣那樣計費。,(7)極其廉價。由于“云”的特殊容錯措施可以采用極其廉價的節(jié)點來構(gòu)成云,“云”的自動化集中式管理使大量企業(yè)無需負擔日益高昂的數(shù)據(jù)中心管理成本,“云”的通用性使資源的利用率較之傳統(tǒng)系統(tǒng)大幅提升,用戶可以充分享受“云”的低成本優(yōu)勢,經(jīng)常只要花費幾百美元、幾天時間就能完成以前需要數(shù)萬美元、數(shù)月時間才能完成的任務(wù)。,10.1.2云計算的類型谷歌和雅虎提供的基于Web的電子郵件服務(wù),Carbonite或MozyHome提供的備份服務(wù),S提供的客戶資源管理應(yīng)用軟件,以及美國在線(AOL)、谷歌、Skype、Vonage及其他公司提供的即時通信和VoIP服務(wù),這些都是云計算服務(wù)。云計算服務(wù)隱藏在另一個抽象層后面,可使最終用戶原本需要復雜計算架構(gòu)才能提供的那種功能變得更為簡單。下面主要從服務(wù)類型和服務(wù)方式的角度介紹云計算的類型。,1按服務(wù)類型分類從服務(wù)類型方面可把云計算分為基礎(chǔ)設(shè)施云、平臺云和應(yīng)用云。(1)基礎(chǔ)設(shè)施云:基礎(chǔ)架構(gòu)服務(wù)(InfrastructureasaService),提供網(wǎng)格或集群形式的虛擬化服務(wù)器、網(wǎng)絡(luò)、存儲和系統(tǒng)軟件,旨在補充或更換整個數(shù)據(jù)中心的功能。這些云為用戶提供底層的接近于直接操作硬件資源的服務(wù)。這方面最顯著的例子有亞馬遜的彈性計算云(EC2)和簡單存儲服務(wù)(SimpleStorageService)。,(2)平臺云:亦稱平臺即服務(wù)(PlatformasaService),提供虛擬化服務(wù)器,用戶可以在虛擬化服務(wù)器上運行現(xiàn)有的應(yīng)用程序,或者開發(fā)新的應(yīng)用程序,不必為維護操作系統(tǒng)、服務(wù)器硬件、負載均衡或計算容量而操心。平臺可為開發(fā)人員提供應(yīng)用程序的托管,一旦開發(fā)人員開發(fā)出滿足平臺運行的應(yīng)用程序且成功部署后,運行過程中的資源分配和其他的管理工作等將由平臺云自行管理。這方面最顯著的例子有微軟的Azure和Salesforce的F。,(3)應(yīng)用云:又稱軟件即服務(wù)(SoftwareasaService),作為知名度最高、應(yīng)用最廣泛的一種云計算,SaaS提供了復雜的傳統(tǒng)應(yīng)用程序的所有功能,這些功能通過Web瀏覽器而不是安裝在本地的應(yīng)用程序來使用。SaaS消除了應(yīng)用服務(wù)器、存儲、應(yīng)用程序開發(fā)及相關(guān)的常見IT問題方面的擔憂。這方面最顯著的例子是S、谷歌的Gmail和Apps、美國在線、雅虎和谷歌的即時通信,以及Vonage和Skype的VoIP。,2按服務(wù)方式分類從服務(wù)方式方面可把云計算分為公有云、私有云和混合云。(1)公有云:就是有若干企業(yè)和若干客戶使用的形式。在公有云中,用戶使用的服務(wù)都是由第三方云服務(wù)提供商提供的,該提供商也為其他的客戶提供服務(wù),所有的用戶共享云服務(wù)提供商提供的所有資源。,(2)私有云:就是只在某個企業(yè)內(nèi)部獨立建立的云環(huán)境。私有云是專門為企業(yè)提供服務(wù)的專有云計算服務(wù),企業(yè)內(nèi)部的員工都可以訪問這個私有云內(nèi)部的所有服務(wù)資源,當然這也類似我們平時構(gòu)建的管理系統(tǒng),可以設(shè)置相應(yīng)的權(quán)限,公司或者組織以外的用戶無法訪問這個云環(huán)境中的資源。(3)混合云:就是公有云和私有云相結(jié)合的形式。,10.1.3云計算與物聯(lián)網(wǎng)每當人們談及互聯(lián)網(wǎng),聯(lián)想到的不只是物理設(shè)備構(gòu)成的網(wǎng),還有一個巨大的信息系統(tǒng)。物聯(lián)網(wǎng)的情況也與之類似。物聯(lián)網(wǎng)多被看做是互聯(lián)網(wǎng)通過各種信息感應(yīng)、探測、識別、定位、跟蹤和監(jiān)控等手段和設(shè)備向物理世界的延伸。對客觀世界的感應(yīng)、探測、監(jiān)控等,只是人類社會對物理世界實現(xiàn)“感、知、控”的第一個環(huán)節(jié),即為物聯(lián)網(wǎng)“前端”。基于互聯(lián)網(wǎng)計算的涌現(xiàn)智能以及對物理世界的反饋和控制是另外兩個環(huán)節(jié),即為物聯(lián)網(wǎng)“后端”。當前,無論是學術(shù)界還是工業(yè)界,目光普遍聚焦在物聯(lián)網(wǎng)“前端”。本節(jié)將從物聯(lián)網(wǎng)“后端”來說明物聯(lián)網(wǎng)與云計算的關(guān)系。,1從“后端”看物聯(lián)網(wǎng)如前面所述,物聯(lián)網(wǎng)可以看做是互聯(lián)網(wǎng)通過傳感器網(wǎng)絡(luò)向物理世界的延伸,其最終目標是實現(xiàn)對物理世界的智能化管理。在邏輯上,物聯(lián)網(wǎng)包括如圖10.1所示的三個層次,其中:(1)物理世界感知是物聯(lián)網(wǎng)的基礎(chǔ),基于傳感技術(shù)和網(wǎng)絡(luò)通信技術(shù),實現(xiàn)對物理世界的探測、識別、定位、跟蹤和監(jiān)控,可以看做是物聯(lián)網(wǎng)的“前端”。,(2)大量獨立建設(shè)的單一物聯(lián)網(wǎng)應(yīng)用是物聯(lián)網(wǎng)建設(shè)的起點與基本元素,該類應(yīng)用往往局限于對單一物品的感應(yīng)與智能管理,每個物聯(lián)網(wǎng)應(yīng)用都是物聯(lián)網(wǎng)上的一個邏輯節(jié)點。(3)通過對眾多單一物聯(lián)網(wǎng)應(yīng)用的深度互聯(lián)和跨域協(xié)作,物聯(lián)網(wǎng)可以形成一個多層嵌套的“網(wǎng)中網(wǎng)”,這是實現(xiàn)物聯(lián)網(wǎng)智能化管理目標和價值追求的關(guān)鍵所在,可以看做是物聯(lián)網(wǎng)的“后端”。,圖10.1物聯(lián)網(wǎng)的三個層次,從“后端”來看,物聯(lián)網(wǎng)可以看做是一個基于互聯(lián)網(wǎng)的,以提高物理世界的運行、管理、資源使用效率等水平為目標的大規(guī)模信息系統(tǒng)。由于物聯(lián)網(wǎng)“前端”在對物理世界感應(yīng)方面具有高度并發(fā)的特性,并將產(chǎn)生大量引發(fā)“后端”深度互聯(lián)和跨域協(xié)作需求的事件,從而使得上述大規(guī)模信息系統(tǒng)表現(xiàn)出以下性質(zhì):,(1)不可預見性:對物理世界的感知具有實時性,會產(chǎn)生大量不可預見的事件,從而需要應(yīng)對大量即時協(xié)同的需求。(2)涌現(xiàn)智能:對諸多單一物聯(lián)網(wǎng)應(yīng)用的集成能夠提升對物理世界綜合管理的水平,物聯(lián)網(wǎng)“后端”是產(chǎn)生放大效應(yīng)的源泉。(3)多維度動態(tài)變化:對物理世界的感知往往具有多個維度,并且是不斷動態(tài)變化的,從而要求物聯(lián)網(wǎng)“后端”具有更高的適應(yīng)能力。(4)大數(shù)據(jù)量、實效性:物聯(lián)網(wǎng)中涉及的傳感信息具有大數(shù)據(jù)量、實效性等特征,對物聯(lián)網(wǎng)“后端”的信息處理帶來諸多新的挑戰(zhàn)。,綜上所述,實時感應(yīng)、高度并發(fā)、自主協(xié)同和涌現(xiàn)效應(yīng)等特征要求從新的角度審視物聯(lián)網(wǎng)“后端”信息基礎(chǔ)設(shè)施,對當前互聯(lián)網(wǎng)計算(包括云計算、服務(wù)計算、網(wǎng)格等)的研究提出了新的挑戰(zhàn),需要有針對性地研究物聯(lián)網(wǎng)特定的應(yīng)用集成問題、體系結(jié)構(gòu)及標準規(guī)范,特別是大量高并發(fā)事件驅(qū)動的應(yīng)用自動關(guān)聯(lián)和智能協(xié)作問題。,2云與物聯(lián)網(wǎng)“后端”認為“云”是支撐物聯(lián)網(wǎng)“后端”的認識存在著誤區(qū)。云計算起源于互聯(lián)網(wǎng)公司對特定的大規(guī)模數(shù)據(jù)處理問題解決方案,由于問題和商業(yè)模式明確、產(chǎn)業(yè)界大力推動以及已有網(wǎng)格等相關(guān)前期研究基礎(chǔ)等原因,而迅速被熱捧和泛化,但其本身遠未成熟。即使在不考慮標準化過渡和互操作性等因素的情況下,基本實現(xiàn)云計算愿景恐怕也還要經(jīng)過一到數(shù)個創(chuàng)新周期。因此,我們不能簡單地設(shè)想和推斷云計算便可應(yīng)對物聯(lián)網(wǎng)“后端”的需求。,當前所謂的軟件即服務(wù)(SaaS)、平臺即服務(wù)(PaaS)和基礎(chǔ)設(shè)施即服務(wù)(IaaS)三個層次的劃分也只是對現(xiàn)有云計算的初級認識,并未全面體現(xiàn)云計算的內(nèi)涵、外延和發(fā)展?!霸啤钡陌l(fā)展大體分為三個階段:第一階段,網(wǎng)格從科學領(lǐng)域需求出發(fā),云計算從互聯(lián)網(wǎng)特定的大規(guī)模數(shù)據(jù)處理需求出發(fā),Web2.0從用戶參與的角度出發(fā),盡管各自的應(yīng)用領(lǐng)域、視角和側(cè)重不同,但都取得了明顯的進步,出現(xiàn)了一些令人鼓舞的典型應(yīng)用;第二階段,技術(shù)體系將互相滲透,會出現(xiàn)統(tǒng)一運營的“行業(yè)云”、第三方運營中心等;第三階段也是互聯(lián)網(wǎng)計算的愿景:客戶通過基于標準的服務(wù)交互方式,以極低的成本按需從基礎(chǔ)設(shè)施獲取高質(zhì)量的計算、存儲、數(shù)據(jù)、平臺和應(yīng)用等服務(wù),客戶無需關(guān)心服務(wù)是由什么“云”提供的。,在早期的客戶/服務(wù)器模式下,應(yīng)用服務(wù)器由各組織機構(gòu)自行運營維護,服務(wù)體現(xiàn)為緊耦合的對應(yīng)程序調(diào)用結(jié)果的消息。隨著以CORBA(CommonObjectRequestBrokerArchitecture,公用對象請求代理(調(diào)度)程序體系結(jié)構(gòu))、J2EE(Java2Platform,EnterpriseEdition)等分布式對象系統(tǒng)的發(fā)展,服務(wù)也升級為分布式平臺為客戶端提供價值的紐帶;隨著互聯(lián)網(wǎng)的發(fā)展,原來屬于應(yīng)用系統(tǒng)的共性功能逐漸下沉至基礎(chǔ)設(shè)施,越來越多的應(yīng)用服務(wù)器交給“云”上的運營者運營維護,客戶端則基于服務(wù)中間件(如ESB(EnterpriseServiceBus)、ServiceRegistry等)享受云端提供的萬維網(wǎng)服務(wù)(WebService)和REST(REpresentationalStateTransfer,表述性狀態(tài)轉(zhuǎn)變)服務(wù)形式的松耦合的服務(wù)。,未來,“云”提供的服務(wù)將從多個層面、不同視角在“服務(wù)空間”中進行一體化管理和組織,服務(wù)不再是一維的抽象,將覆蓋業(yè)務(wù)牽引的角度、以用戶為中心的角度、層次的角度等各個視角。CSI將云體系結(jié)構(gòu)歸納為用戶端和基礎(chǔ)設(shè)施,服務(wù)是其紐帶,也是構(gòu)造基于互聯(lián)網(wǎng)的應(yīng)用系統(tǒng)的第一元素(First-ClassEntity)。隨著以“云”為標識的互聯(lián)網(wǎng)信息處理基礎(chǔ)設(shè)施的發(fā)展,服務(wù)計算的重要性將更加凸顯。針對物聯(lián)網(wǎng)需求特征的優(yōu)化策略、優(yōu)化方法和涌現(xiàn)智能也將更多地以服務(wù)組合的形式體現(xiàn),并出現(xiàn)物聯(lián)網(wǎng)服務(wù)新形態(tài),進一步推動服務(wù)計算相關(guān)學科的發(fā)展。,人類基礎(chǔ)設(shè)施的發(fā)展經(jīng)過上百年還未完善,同樣可以斷定,物聯(lián)網(wǎng)“后端”的發(fā)展完善也是一個長遠的事情。因此,人們不能把云計算的愿景當做現(xiàn)實。我們應(yīng)在考慮長期戰(zhàn)略目標的同時,以價值和典型應(yīng)用為牽引,先建立特定領(lǐng)域中統(tǒng)一運營的“行業(yè)云”和第三方運營中心,以實現(xiàn)資源優(yōu)化利用以及跨域的資源共享和應(yīng)用集成。同時,需要充分考慮到物聯(lián)網(wǎng)上的信息具有多元、多源、多級過濾和分析、動態(tài)變化、數(shù)據(jù)量巨大等特點。,10.2云計算系統(tǒng)的組成及其技術(shù),10.2.1云計算系統(tǒng)的組成云計算的體系結(jié)構(gòu)由五部分組成,分別為資源層、平臺層、應(yīng)用層、用戶訪問層和管理層,如圖10.2所示。云計算的本質(zhì)是通過網(wǎng)絡(luò)提供服務(wù),所以其體系結(jié)構(gòu)以服務(wù)為核心。,1資源層資源層是指基礎(chǔ)架構(gòu)層面的云計算服務(wù),這些服務(wù)可以提供虛擬化的資源,從而隱藏物理資源的復雜性。資源層包括物理資源、服務(wù)器服務(wù)、網(wǎng)絡(luò)服務(wù)和存儲服務(wù)。(1)物理資源指的是物理設(shè)備,如服務(wù)器等。(2)服務(wù)器服務(wù)指的是操作系統(tǒng)的環(huán)境,如Linux集群等。(3)網(wǎng)絡(luò)服務(wù)指的是提供的網(wǎng)絡(luò)處理能力,如防火墻、VLAN、負載等。(4)存儲服務(wù)為用戶提供存儲能力。,圖10.2云計算的體系結(jié)構(gòu),2平臺層平臺層為用戶提供對資源層服務(wù)的封裝,使用戶可以構(gòu)建自己的應(yīng)用。平臺層包括數(shù)據(jù)庫服務(wù)和中間件服務(wù)。(1)數(shù)據(jù)庫服務(wù)提供可擴展的數(shù)據(jù)庫處理的能力。(2)中間件服務(wù)為用戶提供可擴展的消息中間件或事務(wù)處理中間件等服務(wù)。,3應(yīng)用層應(yīng)用層提供軟件服務(wù),包括企業(yè)應(yīng)用服務(wù)和個人應(yīng)用服務(wù)。(1)企業(yè)應(yīng)用是指面向企業(yè)的用戶,如財務(wù)管理、客戶關(guān)系管理、商業(yè)智能等。(2)個人應(yīng)用是指面向個人用戶的服務(wù),如電子郵件、文本處理、個人信息存儲等。,4用戶訪問層用戶訪問層是方便用戶使用云計算服務(wù)所需的各種支撐服務(wù),針對每個層次的云計算服務(wù)都需要提供相應(yīng)的訪問接口。它包括服務(wù)目錄、訂閱管理和服務(wù)訪問。(1)服務(wù)目錄是一個服務(wù)列表,用戶可以從中選擇需要使用的云計算服務(wù)。(2)訂閱管理是提供給用戶的管理功能,用戶可以查閱自己訂閱的服務(wù),或者終止訂閱的服務(wù)。(3)服務(wù)訪問是針對每種層次的云計算服務(wù)提供的訪問接口。針對資源層的訪問可能是遠程桌面或者XWindows;針對應(yīng)用層的訪問,提供的接口可能是Web。,5管理層管理層提供對所有層次云計算服務(wù)的管理功能,包括安全管理、服務(wù)組合、服務(wù)目錄管理、服務(wù)使用計量、服務(wù)質(zhì)量管理、部署管理和服務(wù)監(jiān)控。(1)安全管理:提供對服務(wù)的授權(quán)控制、用戶認證、審計、一致性檢查等功能。(2)服務(wù)組合:提供對自己有云計算服務(wù)進行組合的功能,使得新的服務(wù)可以基于已有服務(wù)創(chuàng)建時間。,(3)服務(wù)目錄管理服務(wù):提供服務(wù)目錄和服務(wù)本身的管理功能,管理員可以增加新的服務(wù),或者從服務(wù)目錄中除去服務(wù)。(4)服務(wù)使用計量:對用戶的使用情況進行統(tǒng)計,并以此為依據(jù)對用戶進行計費。(5)服務(wù)質(zhì)量管理:提供對服務(wù)的性能、可靠性、可擴展性進行管理的功能。(6)部署管理:提供對服務(wù)實例的自動化部署和配置功能。當用戶通過訂閱管理增加新的服務(wù)訂閱后,部署管理模塊自動為用戶準備服務(wù)實例。(7)服務(wù)監(jiān)控:提供對服務(wù)的健康狀態(tài)的記錄功能。,10.2.2云計算系統(tǒng)的服務(wù)層次1云計算的服務(wù)層次在云計算中,根據(jù)其服務(wù)集合所提供的服務(wù)類型,整個云計算服務(wù)集合被劃分成應(yīng)用層、平臺層、基礎(chǔ)設(shè)施層和虛擬化層四個層次,每一層都對應(yīng)著一個子服務(wù)集合。云計算的服務(wù)層次如圖10.3所示。,圖10.3云計算的服務(wù)層次,云計算的服務(wù)層次是根據(jù)服務(wù)類型即服務(wù)集合來劃分的,與大家熟悉的計算機網(wǎng)絡(luò)體系結(jié)構(gòu)中層次的劃分不同。在計算機網(wǎng)絡(luò)中,每個層次都實現(xiàn)一定的功能,層與層之間有一定關(guān)聯(lián)。而云計算體系結(jié)構(gòu)中的層次是可以分割的,即某一層次可以單獨完成一項用戶的請求而不需要其他層次為其提供必要的服務(wù)和支持。在云計算服務(wù)體系結(jié)構(gòu)中,各層次與相關(guān)云產(chǎn)品對應(yīng)如下:,(1)應(yīng)用層對應(yīng)SaaS(軟件即服務(wù)),如GoogleAPPS、SoftWare+Services。(2)平臺層對應(yīng)PaaS(平臺即服務(wù)),如IBMITFactory、GoogleAPPEngine、F。(3)基礎(chǔ)設(shè)施層對應(yīng)IaaS(基礎(chǔ)設(shè)施即服務(wù)),如AmazonEc2、IBMBlueCloud、SunGrid。(4)虛擬化層對應(yīng)硬件即服務(wù)結(jié)合Paas提供硬件服務(wù),包括服務(wù)器集群及硬件檢測等服務(wù)。,2云計算的技術(shù)層次云計算的技術(shù)層次和云計算的服務(wù)層次不是一個概念,后者從服務(wù)的角度來劃分云的層次,主要突出了云服務(wù)能給我們帶來什么。而云計算的技術(shù)層次主要從系統(tǒng)屬性和設(shè)計思想角度來說明云,是對軟、硬件資源在云計算技術(shù)中所充當角色的說明。從云計算技術(shù)角度來分,云計算大約由服務(wù)接口、服務(wù)管理中間件、虛擬化資源、物理資源四部分構(gòu)成,如圖10.4所示。,圖10.4云計算技術(shù)結(jié)構(gòu),(1)服務(wù)接口:統(tǒng)一規(guī)定了在云計算時代使用計算機的各種規(guī)范、云計算服務(wù)的各種標準等,用戶端與云端交互操作的入口,可完成用戶或服務(wù)注冊,對服務(wù)進行定制和使用等。,(2)服務(wù)管理中間件:在云計算技術(shù)中,中間件位于服務(wù)和服務(wù)器集群之間,提供管理和服務(wù)即云計算體系結(jié)構(gòu)中的管理系統(tǒng)。對標識、認證、授權(quán)、目錄、安全性等服務(wù)進行標準化和操作,為應(yīng)用提供統(tǒng)一的標準化程序接口和協(xié)議,隱藏底層硬件、操作系統(tǒng)和網(wǎng)絡(luò)的異構(gòu)性,統(tǒng)一管理網(wǎng)絡(luò)資源。其用戶管理包括用戶身份驗證、用戶許可、用戶定制管理;資源管理包括負載均衡、資源監(jiān)控、故障檢測等;安全管理包括身份驗證、訪問授權(quán)、安全審計、綜合防護等;映像管理包括映像創(chuàng)建、部署、管理等。,(3)虛擬化資源:指一些可以實現(xiàn)一定操作、具有一定功能,但其本身是虛擬而不是真實的資源,如計算池、存儲池和網(wǎng)絡(luò)池、數(shù)據(jù)庫資源等,通過軟件技術(shù)來實現(xiàn)相關(guān)的虛擬化功能,如虛擬環(huán)境、虛擬系統(tǒng)、虛擬平臺。,(4)物理資源:主要指能支持計算機正常運行的一些硬件設(shè)備及技術(shù),可以是價格低廉的PC,也可以是價格昂貴的服務(wù)器及磁盤陣列等設(shè)備,可以通過現(xiàn)有網(wǎng)絡(luò)技術(shù)和并行技術(shù)、分布式技術(shù)將分散的計算機組成一個能提供超強功能的集群用于計算和存儲等云計算操作。在云計算時代,本地計算機可能不再像傳統(tǒng)計算機那樣需要空間足夠的硬盤、大功率的處理器和大容量的內(nèi)存,只需要一些必要的硬件設(shè)備,如網(wǎng)絡(luò)設(shè)備和基本的輸入/輸出設(shè)備等。,10.2.3云計算的關(guān)鍵技術(shù)云計算是分布式處理、并行計算和網(wǎng)格計算等概念的發(fā)展和商業(yè)實現(xiàn),其技術(shù)實質(zhì)是計算、存儲、服務(wù)器、應(yīng)用軟件等IT軟、硬件資源的虛擬化。云計算在虛擬化、數(shù)據(jù)存儲、數(shù)據(jù)管理、編程模式等方面具有自身獨特的技術(shù)。云計算的關(guān)鍵技術(shù)包括以下幾個方面。,1虛擬機技術(shù)虛擬機即服務(wù)器虛擬化,是云計算底層架構(gòu)的重要基石。在服務(wù)器虛擬化中,虛擬化軟件需要實現(xiàn)對硬件的抽象,資源的分配、調(diào)度和管理,虛擬機與宿主操作系統(tǒng)及多個虛擬機間的隔離等功能,目前典型的實現(xiàn)(基本成為事實標準)有CitrixXen、VMwareESXServer和MicrosoftHype-V等。,2數(shù)據(jù)存儲技術(shù)云計算系統(tǒng)需要同時滿足大量用戶的需求,并行地為大量用戶提供服務(wù)。因此,云計算的數(shù)據(jù)存儲技術(shù)必須具有分布式、高吞吐率和高傳輸率的特點。目前數(shù)據(jù)存儲技術(shù)主要有Google的GFS(GoogleFileSystem,非開源)以及HDFS(HadoopDistributedFileSystem,開源),這兩種技術(shù)已經(jīng)成為事實標準。,3數(shù)據(jù)管理技術(shù)云計算的特點是對海量的數(shù)據(jù)存儲、讀取后進行大量的分析,如何提高數(shù)據(jù)的更新速率以及進一步提高隨機讀速率是未來數(shù)據(jù)管理技術(shù)必須解決的問題。云計算的數(shù)據(jù)管理技術(shù)最著名的是谷歌的BigTable數(shù)據(jù)管理技術(shù),同時Hadoop開發(fā)團隊已開發(fā)出類似BigTable的開源數(shù)據(jù)管理模塊。,4分布式編程與計算為了使用戶能更輕松的享受云計算帶來的服務(wù),讓用戶能利用該編程模型編寫簡單的程序來實現(xiàn)特定的目的,云計算上的編程模型必須十分簡單。必須保證后臺復雜的并行執(zhí)行和任務(wù)調(diào)度向用戶和編程人員透明。當前各IT廠商提出的“云”計劃的編程工具均基于Map-Reduce的編程模型。,10.3典型云計算系統(tǒng)簡介,10.3.1Amazon云計算基礎(chǔ)架構(gòu)平臺目前,最受歡迎的云計算平臺是AmazonWebServices(AWS),在云上最受歡迎的數(shù)據(jù)庫是MySQL。盡管Amazon在2002年就已經(jīng)開始著手AWS,并從那時已使許多新的計算服務(wù),包括基礎(chǔ)架構(gòu)、電子商務(wù)和Web信息服務(wù)變得可用,然而我們希望繼續(xù)集中部署這些與MySQL最相關(guān)的內(nèi)容,如ElasticComputingCloud(EC2,彈性計算云),SimpleStorageService(S3,簡便存儲服務(wù))和ElasticBlockStore(EBS,持久存儲)。針對這些服務(wù),開發(fā)人員可以使用Web服務(wù)、具體的REST和SOAP協(xié)議訪問。,AmazonEC2和MySQL,對于一個想減少資金花費和運營成本,同時以最小的成本和投入來動態(tài)擴展其應(yīng)用的機構(gòu)來說,是相當適合的。亞馬遜AmazonEC2上訂閱一個MySQLEnterprise,開發(fā)人員充分依托MySQL數(shù)據(jù)庫專家,可以在云上更具成本效益地交付Web-scale數(shù)據(jù)庫應(yīng)用。,1Amazon彈性計算云(EC2)AmazonEC2服務(wù)開始于2006年,在2008年變得普遍廣泛可用。EC2使得亞馬遜云能夠動態(tài)擴展計算能力。它使開發(fā)人員更容易交付Web-scale應(yīng)用。亞馬遜云計算能夠忽略硬件,取而代之的是當需求增加時,可以使用(或不使用)額外的虛擬硬件。支撐EC2服務(wù)的是Xen虛擬技術(shù)。Xen是開源軟件,它允許操作系統(tǒng)(如Linux、Windows或者Solaris)作為“虛擬機器”,并同時運行在相同的硬件上。使用Xen時,EC2可以快速提供客戶虛擬服務(wù)器的規(guī)格說明書,定制硬件特性,如CPU數(shù)、內(nèi)存和軟件容錯。,2Amazon簡單存儲服務(wù)(S3)Amazon也發(fā)行了S3,它可提供在線存儲Web服務(wù)。S3給開發(fā)人員提供一個簡單、安全、本質(zhì)上擁有無限能力的連續(xù)在線存儲。S3可以被看成在“云”上的一個很大的磁盤驅(qū)動或一個SAN。和帶寬的收費模式一樣,Amazon對最終用戶按每GB存儲收費,并且當存儲和檢索S3數(shù)據(jù)時要求收費。用S3可以存儲和獲得Amazon認為是對象的無組織的數(shù)據(jù)。亞馬遜存儲如圖10.5所示。,圖10.5亞馬遜存儲,這些對象可以是擁有2KB相關(guān)元數(shù)據(jù),而這些對象又可以存放在1B到5GB范圍內(nèi)的任何地方。S3里沒有目錄或文件名,對象存儲在“Buckets”當中,并由開發(fā)人員通過預設(shè)的唯一鍵進行檢索。Buckets和其內(nèi)部包含的對象存儲在兩個不同的物理區(qū)域中,但是它們可以從任何地方訪問。使用一個REST和SOAP接口,開發(fā)人員可以創(chuàng)建、列出和檢索Buckets和對象,同時可以通過GET接口或者BitTorrent協(xié)議下載亞馬遜WebMySQL。,3Amazon持久存儲(EBS)EBS在2008年開始運營時,是AmazonEC2最令人期待的特性之一。在EBS之前,EC2存儲是和本地實例聯(lián)系在一起的,這就意味著如果EC2實例被破壞,本地實例上存儲的數(shù)據(jù)就變得不可用了。為了解決該問題,Amazon創(chuàng)建了EBS,提供塊級水平存儲容量,其可以不考慮EC2實例的狀態(tài)。對于開發(fā)人員,EBSVolume的出現(xiàn)作為標準的塊機制,其大小從1GB變化到1TB。指定機制名稱和塊機制接口以后,用戶可以配置一個他們選擇的EBSVolume的文件系統(tǒng)。,1)在AmazonEC2上部署MySQL在EC2上開始MySQL是很簡單的,亞馬遜WebMySQL如圖10.6所示。首先,假定已經(jīng)設(shè)置了Amazon賬號,可以從AmazonAMI目錄使用一個已存在的AMI預設(shè)置MySQL,或者使用自己的AmazonSDK創(chuàng)建。用戶還可以從其他的資源獲得可用的“模板化”AMI圖形。其次,一旦做了任何配置,為了再次使用和安全保存,應(yīng)該上傳用戶的AMI到S3。最后,選擇想部署的EC2實例,配置安全和網(wǎng)絡(luò)控制。,圖10.6亞馬遜WebMySQL,2)亞馬遜WebServer亞馬遜WebServer如圖10.7所示。用于AmazonEC2上的MySQLEnterprise是基于支持而提供的訂閱,使得開發(fā)人員可以低成本地在云上交付Web擴展數(shù)據(jù)庫應(yīng)用,在云上使用世界上最受歡迎的開源數(shù)據(jù)庫。在AmazonEC2上使用MySQLEnterprise的好處包括:可利用MySQL的可靠性、高性能和易用性,可在云上交付大量的可擴展的Web應(yīng)用;使用MySQLReplication進行主從數(shù)據(jù)庫復制、切換和備份,實現(xiàn)高可用性應(yīng)用。,圖10.7亞馬遜WebServer,10.3.2Google云計算應(yīng)用平臺Google的云計算技術(shù)實際上是針對Google特定的網(wǎng)絡(luò)應(yīng)用程序而定制的。針對內(nèi)部網(wǎng)絡(luò)數(shù)據(jù)規(guī)模超大的特點,Google提出了一整套基于分布式并行集群方式的基礎(chǔ)架構(gòu),利用軟件的能力來處理集群中經(jīng)常發(fā)生的節(jié)點失效問題。,從2003年開始,Google連續(xù)幾年在計算機系統(tǒng)研究領(lǐng)域的頂級會議與雜志上發(fā)表論文,揭示了其內(nèi)部的分布式數(shù)據(jù)處理方法,向外界展示其使用的云計算核心技術(shù)。從其近幾年發(fā)表的論文來看,Google使用的云計算基礎(chǔ)架構(gòu)模式包括四個相互獨立又緊密結(jié)合在一起的系統(tǒng),即建立在集群之上的Google文件系統(tǒng)(GoogleFileSystem,GFS),針對Google應(yīng)用程序的特點提出的Map/Reduce分布式編程環(huán)境,分布式的鎖機制Chubby以及Google開發(fā)的模型簡化的大規(guī)模分布式數(shù)據(jù)庫管理系統(tǒng)BigTable。,1Google文件系統(tǒng)為了滿足Google迅速增長的數(shù)據(jù)處理需求,Google設(shè)計并實現(xiàn)了Google文件系統(tǒng)(GFS)。GFS與過去的分布式文件系統(tǒng)擁有許多相同的目標,例如高性能、可伸縮性、可靠性以及可用性。然而,它的設(shè)計還受到Google應(yīng)用負載和技術(shù)環(huán)境的影響,主要體現(xiàn)在以下四個方面:(1)集群中的節(jié)點失效是一種常態(tài),而不是一種異常。由于參與運算與處理的節(jié)點數(shù)目非常龐大,通常會使用上千個節(jié)點進行共同計算,因此,每時每刻總會有節(jié)點處在失效狀態(tài)。需要通過軟件程序模塊,監(jiān)視系統(tǒng)的動態(tài)運行狀況,偵測錯誤,并且將容錯以及自動恢復系統(tǒng)集成在系統(tǒng)中。,(2)Google系統(tǒng)中的文件大小與通常文件系統(tǒng)中的文件大小的概念不一樣,文件大小通常以GB計。另外,文件系統(tǒng)中的文件含義與通常文件的不同,一個大文件可能包含大量數(shù)目的通常意義上的小文件。所以,設(shè)計預期和參數(shù)(例如I/O操作和塊尺寸)都要重新考慮。(3)Google文件系統(tǒng)中的文件讀寫模式和傳統(tǒng)的文件系統(tǒng)不同。在Google應(yīng)用(如搜索)中對大部分文件的修改,不是覆蓋原有數(shù)據(jù),而是在文件尾追加新數(shù)據(jù),對文件的隨機寫是幾乎不存在的。對于這類巨大文件的訪問模式,客戶端對數(shù)據(jù)塊緩存失去了意義,追加操作成為性能優(yōu)化和原子性(把一個事務(wù)看做是一個程序,它要么被完整地執(zhí)行,要么完全不執(zhí)行)保證的焦點。,(4)文件系統(tǒng)的某些具體操作不再透明,而且需要應(yīng)用程序的協(xié)助完成,應(yīng)用程序和文件系統(tǒng)API的協(xié)同設(shè)計提高了整個系統(tǒng)的靈活性。例如,放松了對GFS一致性模型的要求,這樣不用加重應(yīng)用程序的負擔,就大大簡化了文件系統(tǒng)的設(shè)計。GFS還引入了原子性的追加操作,這樣多個客戶端同時進行追加的時候,就不需要額外的同步操作了??傊?,GFS是為Google應(yīng)用程序本身而設(shè)計的。,GoogleFileSystem的系統(tǒng)架構(gòu)如圖10.8所示,一個GFS集群包含一個主服務(wù)器和多個塊服務(wù)器,被多個客戶端訪問。文件被分割成固定尺寸的塊。在每個塊創(chuàng)建的時候,服務(wù)器分配給它一個不變的、全球唯一的64位塊句柄對它進行標識。塊服務(wù)器把塊作為Linux文件保存在本地硬盤上,并根據(jù)指定的塊句柄和字節(jié)范圍來讀寫塊數(shù)據(jù)。為了保證可靠性,每個塊都會復制到多個塊服務(wù)器上,缺省保存三個備份。主服務(wù)器管理文件系統(tǒng)所有的元數(shù)據(jù),包括名字空間、訪問控制信息和文件到塊的映射信息,以及塊當前所在的位置。,GFS客戶端代碼被嵌入到每個程序里,它實現(xiàn)了Google文件系統(tǒng)API,幫助應(yīng)用程序與主服務(wù)器和塊服務(wù)器通信,對數(shù)據(jù)進行讀寫??蛻舳烁鞣?wù)器交互進行元數(shù)據(jù)操作,但是所有的數(shù)據(jù)操作的通信都是直接和塊服務(wù)器進行的??蛻舳颂峁┑脑L問接口類似于POSIX接口,但有一定的修改,并不完全兼容POSIX標準。通過服務(wù)器端和客戶端的聯(lián)合設(shè)計,GoogleFileSystem能夠針對它本身的應(yīng)用獲得最大的性能以及可用性效果。,2Map/Reduce分布式編程環(huán)境為了讓內(nèi)部非分布式系統(tǒng)方向背景的員工能夠有機會將應(yīng)用程序建立在大規(guī)模的集群基礎(chǔ)之上,Google還設(shè)計并實現(xiàn)了一套大規(guī)模數(shù)據(jù)處理的編程規(guī)范Map/Reduce系統(tǒng)。這樣,非分布式專業(yè)的程序編寫人員也能夠為大規(guī)模的集群編寫應(yīng)用程序而不用去顧慮集群的可靠性、可擴展性等問題。應(yīng)用程序編寫人員只需要將精力放在應(yīng)用程序本身,而關(guān)于集群的處理問題則交由平臺來處理。,Map/Reduce通過“Map(映射)”和“Reduce(化簡)”這樣兩個簡單的概念來參加運算,用戶只需要提供自己的Map函數(shù)以及Reduce函數(shù)就可以在集群上進行大規(guī)模的分布式數(shù)據(jù)處理。Google的文本索引方法,即搜索引擎的核心部分,已經(jīng)通過Map/Reduce的方法進行了改寫,獲得了更加清晰的程序架構(gòu)。在Google內(nèi)部,每天有上千個Map/Reduce的應(yīng)用程序在運行。,3大規(guī)模分布式數(shù)據(jù)庫管理系統(tǒng)BigTable構(gòu)建于上述兩項基礎(chǔ)之上的第三個云計算平臺就是Google將數(shù)據(jù)庫系統(tǒng)擴展到分布式平臺上的BigTable系統(tǒng)。很多應(yīng)用程序?qū)τ跀?shù)據(jù)的組織都是非常有規(guī)則的,一般來說,數(shù)據(jù)庫對格式化數(shù)據(jù)的處理也是非常方便的,但是由于關(guān)系數(shù)據(jù)庫很強的一致性要求,很難將其擴展到很大的規(guī)模。為了處理Google內(nèi)部大量的格式化以及半格式化數(shù)據(jù),Google構(gòu)建了弱一致性要求的大規(guī)模數(shù)據(jù)庫系統(tǒng)BigTable。,圖10.9給出了在BigTable模型中的數(shù)據(jù)模型。數(shù)據(jù)模型包括行列以及相應(yīng)的時間戳,所有的數(shù)據(jù)都存放在表格中的單元里。BigTable的內(nèi)容按照行來劃分,將多個行組成一個小表,保存到某一個服務(wù)器節(jié)點中。這一個小表就被稱為Tablet。以上是Google內(nèi)部云計算基礎(chǔ)平臺的三個主要部分,除了這三個部分之外,Google還建立了分布式的鎖服務(wù)等一系列相關(guān)的云計算服務(wù)平臺。,圖10.9GoogleBigTable的數(shù)據(jù)模型,4Google的云應(yīng)用除了上述的云計算基礎(chǔ)設(shè)施之外,Google還在其云計算基礎(chǔ)設(shè)施之上建立了一系列新型網(wǎng)絡(luò)應(yīng)用程序。由于借鑒了異步網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)腤eb2.0技術(shù),這些應(yīng)用程序給予用戶全新的界面感受以及更加強大的多用戶交互能力。其中典型的Google云計算應(yīng)用程序就是Google推出的Docs網(wǎng)絡(luò)服務(wù)程序。,GoogleDocs是一個基于Web的工具,它有跟MicrosoftOffice相近的編輯界面,有一套簡單易用的文檔權(quán)限管理,并能記錄下所有用戶對文檔所做的修改。GoogleDocs的這些功能非常適用于網(wǎng)上共享與協(xié)作編輯文檔。GoogleDocs甚至可以用于監(jiān)控責任清晰、目標明確的項目進度。當前,GoogleDocs已經(jīng)推出了文檔編輯、電子表格、幻燈片演示、日程管理等多個功能的編輯模塊,能夠替代MicrosoftOffice相應(yīng)的一部分功能。值得注意的是,通過這種云計算方式形成的應(yīng)用程序非常適合于多個用戶進行共享以及協(xié)同編輯,為一個小組的人員進行共同創(chuàng)作帶來很大的方便性。,雖然Google可以說是云計算的最大實踐者,但是,Google的云計算平臺是私有的環(huán)境,特別是Google的云計算基礎(chǔ)設(shè)施還沒有開放。除了開放有限的應(yīng)用程序接口,例如GWT(GoogleWebToolkit)以及GoogleMapAPI等,Google并沒有將云計算的內(nèi)部基礎(chǔ)設(shè)施共享給外部的用戶使用,上述的所有基礎(chǔ)設(shè)施都是私有的。,幸運的是,Google公開了其內(nèi)部集群計算環(huán)境的一部分技術(shù),使得全球的技術(shù)開發(fā)人員能夠根據(jù)這一部分文檔構(gòu)建開源的大規(guī)模數(shù)據(jù)處理云計算基礎(chǔ)設(shè)施,其中最有名的項目即Apache旗下的Hadoop項目。而IBM的藍云計算和亞馬遜的彈性計算云的實現(xiàn)則為外部的開發(fā)人員以及中小公司提供了云計算的平臺環(huán)境,使得開發(fā)者能夠在云計算的基礎(chǔ)設(shè)施之上構(gòu)建自己的新型網(wǎng)絡(luò)應(yīng)用。IBM的藍云計算平臺是可供銷售的計算平臺,用戶可以基于這些軟硬件產(chǎn)品自己構(gòu)建云計算平臺。亞馬遜的彈性計算云則是托管式的云計算平臺,用戶可以通過遠端的操作界面直接使用。,10.3.3Microsoft云計算服務(wù)對微軟來說,進入云計算的領(lǐng)域不是最早的,但是微軟不乏后發(fā)制人的先例。在三大類云計算服務(wù)(IaaS、PaaS和SaaS)上,微軟推出了WindowsServerPlatform,同時也推出了WindowsAzurePlatform解決方案。本節(jié)介紹微軟的WindowsAzurePlatform解決方案的核心技術(shù)。,WindowsAzurePlatform運行在微軟數(shù)據(jù)中心的服務(wù)器和網(wǎng)絡(luò)基礎(chǔ)設(shè)施上,通過公共互聯(lián)網(wǎng)對外提供服務(wù)。微軟對云計算提出一個公式:云計算=(數(shù)據(jù)軟件+平臺+基礎(chǔ)設(shè)施)服務(wù)此公式表明了云最重要的是服務(wù)?;谠朴嬎惴?wù)的三種模式,微軟云計算采用了“軟件+服務(wù)”,“云+端”的策略。WindowsAzurePlatform正是這一策略的具體實現(xiàn),它一方面提供了可靠的軟件平臺;另一方面通過提供服務(wù)或者開放的系統(tǒng)運營企業(yè)服務(wù)。,1WindowsAzurePlatform的功能WindowsAzurePlatform包括WindowsAzure、SQLAzure、WindowsAzureAppFabric(或WindowsAzurePlatformAppFabric,以下簡稱AppFabric,有的書中把WindowsServerAppFabric也簡稱為AppFabric,除非特別說明,本書中的AppFabric都是指WindowsAzureAppFabric)。WindowsAzure可看成是云計算服務(wù)的操作系統(tǒng);SQLAzure可看成是云端的關(guān)系型數(shù)據(jù)庫;AppFabric是一個基于Web的開放服務(wù),可以把現(xiàn)有應(yīng)用和服務(wù)與云平臺的連接和互操作變得更為簡單,如圖10.10所示。,圖10.10WindowsAzurePlatform的組成,1)WindowsAzureWindowsAzure是一個云服務(wù)的操作系統(tǒng),它提供了一個可擴展的開發(fā)、托管服務(wù)和服務(wù)管理環(huán)境。WindowsAzure主要包括三個部分:一是運營應(yīng)用的計算服務(wù);二是數(shù)據(jù)存儲服務(wù);三是基于云平臺進行管理和動態(tài)分配資源的控制器(FabricController)。,WindowsAzure提供了一個可擴展的開發(fā)、托管服務(wù)和服務(wù)管理環(huán)境,這其中包括提供基于虛擬機的計算服務(wù)和基于Blobs、Tables、Queues、Drives等的存儲服務(wù)。WindowsAzure是一個開放的平臺,支持微軟和非微軟的語言和環(huán)境。開發(fā)人員在構(gòu)建WindowsAzure應(yīng)用程序和服務(wù)時,不僅可以使用熟悉的MicrosoftVisualStudio、Eclipse等開發(fā)工具,同時WindowsAzure還支持各種流行的標準與協(xié)議,包括SOAP、REST、XML和HTTPS等。,2)SQLAzureSQLAzure幫助用戶簡化多數(shù)據(jù)庫的創(chuàng)建和部署,開發(fā)人員無需安裝、設(shè)置數(shù)據(jù)庫軟件,也不必為數(shù)據(jù)庫打補丁或進行管理;為用戶提供了內(nèi)置的高可用性和容錯能力,且無需客戶進行實際管理;支持TDS和Transact-SQL(T-SQL),客戶可以使用現(xiàn)有技術(shù)在T-SQL上進行開發(fā),還可使用與現(xiàn)有的客戶自有數(shù)據(jù)庫軟件相對應(yīng)的關(guān)系型數(shù)據(jù)模型。SQLAzure(之前被稱為SQLServerDataServices)是以SQLServer2008為主,建構(gòu)在WindowsAzure之上,運行云計算的關(guān)系數(shù)據(jù)庫服務(wù),是一種云存儲的實現(xiàn),并提供網(wǎng)絡(luò)型的應(yīng)用程序數(shù)據(jù)存儲的服務(wù),簡單地說就是SQLServer的云端版本。,SQLAzure是一個云的關(guān)系型數(shù)據(jù)庫,它可以在任何時間提供客戶數(shù)據(jù)應(yīng)用。SQLAzure基于SQLServer技術(shù)構(gòu)建,但并非簡簡單單地將SQLServer安裝在微軟的數(shù)據(jù)中心,而是采用了更先進的架構(gòu)設(shè)計,由微軟基于云進行托管,提供的是可擴展、多租戶、高可用的數(shù)據(jù)庫服務(wù)。SQLAzure在架構(gòu)上分成四個層次,即ClientLayer、ServicesLayer、PlatformLayer和InfrastructureLayer,如圖10.11所示。,圖10.11SQLAzure的架構(gòu),3)AppFabricAppFabric作為中間件層,起著連接非云端程序與云端程序的橋梁的作用,它讓開發(fā)人員可以把精力放在他們的應(yīng)用邏輯上而不是在部署和管理云服務(wù)的基礎(chǔ)架構(gòu)上。AppFabric是基于Web的開放服務(wù),它可以把現(xiàn)有應(yīng)用和服務(wù)與云平臺的連接和互操作變得更為簡單,為本地應(yīng)用和云中應(yīng)用提供了分布式的基礎(chǔ)架構(gòu)服務(wù)。在云計算中存儲數(shù)據(jù)與運行應(yīng)用都很重要,但是我們還需要一個基于云的基礎(chǔ)架構(gòu)服務(wù)。這個基礎(chǔ)架構(gòu)服務(wù)應(yīng)該既可以被客戶自有軟件應(yīng)用,又能被云服務(wù)應(yīng)用,AppFabric就是這樣一個基礎(chǔ)架構(gòu)服務(wù)。,需要說明的是,WindowsServerAppFabric和WindowsAzureAppFabric是不同的,它們之間的關(guān)系類似于SQLServer和SQLAzure之間的關(guān)系,即帶“Server”的是服務(wù)器產(chǎn)品,帶Azure的是云端產(chǎn)品,我們甚至可以把WindowsAzureAppFabric理解為一款主要面向私有云計算的系統(tǒng)。,WindowsAzure提供了一個叫做Role的概念,每個Role可以被認為是一段程序,與普通的應(yīng)用程序不同的是這段程序可以同時在一臺或者多臺機器上運行。每個Role可以有多個實例(Instance),每個實例對應(yīng)一臺虛擬機。對同一個Role而言,它所有的實例執(zhí)行的程序都是相同的。現(xiàn)在有兩種類型的Role:WorkerRole(工作者角色)和WebRole(Web角色)。WebRole:是一個Web應(yīng)用程序,它可以通過HTTP或HTTPS與外界通信。一般來說,Web角色響應(yīng)請求,執(zhí)行一個動作,然后等待下一個請求的到來。,WorkerRole:是一種后臺執(zhí)行(RunningonBackground)的應(yīng)用程序,運行.Net框架代碼的后臺進程應(yīng)用程序。AppFabric最常用的一個場景是:WebRole和WorkerRole之間的通信。不僅如此,AppFabric最強大的地方在于能夠跨平臺。,2微軟云計算參考架構(gòu)從圖10.12所示的微軟云計算的參考架構(gòu)可以看到WindowsAzurePlatform是一個PaaS類和IaaS類的平臺。因為WindowsAzure提供了存儲、管理功能,SQLAzure提供了關(guān)系型數(shù)據(jù)的存儲,而WindowsAzureAppFabric則是連接了WindowsAzure和SQLAzure的中間件,將安全連接作為一項服務(wù)提供,幫助開發(fā)人員在云部署、內(nèi)部部署和托管部署之間架起橋梁,這座橋梁提供了兩種服務(wù):ServiceBus(服務(wù)總線)和AccessControl(訪問控制),所以WindowsAzurePlatform是一個PaaS類和IaaS類的平臺。,圖10.12微軟云計算的參考架構(gòu),WindowsAzurePlatform的基礎(chǔ)是虛擬化,虛擬化架起了硬件資源(主機、存儲、網(wǎng)絡(luò)、其他硬件)和基礎(chǔ)服務(wù)之間的橋梁。PaaS通過基礎(chǔ)服務(wù)和虛擬化來使用資源層的資源。虛擬化對用戶來說是透明的,同時虛擬化也是動態(tài)數(shù)據(jù)中心的基礎(chǔ)核心層。可以說,沒有虛擬化技術(shù),想要實現(xiàn)動態(tài)數(shù)據(jù)中心幾乎是不可能的,但是虛擬化不是云計算。,10.3.4IBM藍云計算平臺IBM在2007年11月15日推出了藍云計算平臺,為客戶帶來即買即用的云計算平臺。它包括一系列的云計算產(chǎn)品,使得計算不僅僅局限在本地機器或遠程服務(wù)器農(nóng)場(即服務(wù)器集群),通過架構(gòu)一個分布式、可全球訪問的資源結(jié)構(gòu),使得數(shù)據(jù)中心在類似于互聯(lián)網(wǎng)的環(huán)境下運行計算。,“藍云”建立在IBM大規(guī)模計算領(lǐng)域的專業(yè)技術(shù)基礎(chǔ)上

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論