版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第9章云計算技術(shù)及應(yīng)用9.1云計算概述9.2服務(wù)理論
9.3云計算的SPI服務(wù)模型9.4云計算與相關(guān)領(lǐng)域的關(guān)系課后習(xí)題九
9.1云計算概述
9.1.1云計算的定義通常得到較多認(rèn)可的說法為:云計算是一種IT服務(wù)的交付和使用模式,即用戶通過網(wǎng)絡(luò)以按需、易擴展的方式獲得所需資源(硬件、平臺、軟件)的模式,提供資源的網(wǎng)絡(luò)被稱為“云”?!霸啤敝械馁Y源在使用者看來是可以無限擴展、隨時獲取的,并且按需使用,按使用方式付費?!霸啤钡倪@種特性使其成為一種像水、電設(shè)施一樣的IT基礎(chǔ)設(shè)施。
云計算的基本思路十分簡單,即“合”的思路:服務(wù)提供商提供應(yīng)用程序,服務(wù)提供商的數(shù)據(jù)中心負(fù)責(zé)集中存儲過去一直保存在最終用戶個人計算機上或企業(yè)的數(shù)據(jù)中心內(nèi)的信息,用戶則通過互聯(lián)網(wǎng)遠(yuǎn)程訪問這些應(yīng)用程序和數(shù)據(jù)。
根據(jù)上面的定義,“云”就是一些可以自我維護(hù)和自我管理的虛擬資源,通常由一些大規(guī)模服務(wù)器集群(如計算服務(wù)器、存儲服務(wù)器、寬帶資源等)組成。云計算將所有的資源集中在一起,并由軟件自動管理。這使得用戶無需為許多的細(xì)節(jié)而煩惱,能夠把更多的精力放在自己的業(yè)務(wù)上,有利于創(chuàng)新和降低成本。
這種虛擬資源之所以被稱為“云”,是因為它在某些方面具有現(xiàn)實中云的特征,如云一般都較大,云的規(guī)??梢詣討B(tài)伸縮,云的邊界是模糊的,同時云在空中飄忽不定,無法也無需確定它的具體位置。將其稱為“云”,還因為云計算的鼻祖之一——亞馬遜公司將其網(wǎng)格計算的一個產(chǎn)品取名為“彈性計算云”(ElasticComputeCloud,EC2),而該產(chǎn)品在商業(yè)上取得了很大的成功。
另外,在各種圖示中,互聯(lián)網(wǎng)常用一個云狀圖案來表示,如圖9-1所示。因此提供資源的網(wǎng)絡(luò)被稱為“云”,同時,“云”也是對底層基礎(chǔ)設(shè)施的一種抽象概念。圖9-1“云”的形象描述
云計算的出現(xiàn)使提供計算能力的方式發(fā)生了巨大變化,這就好比電力供應(yīng)從古老的單臺發(fā)電機模式轉(zhuǎn)向電廠集中供電模式。這一改變意味著計算能力和存儲能力可以像煤氣、水電一樣作為商品進(jìn)行流通,且取用方便,費用低廉。而其中最大的不同僅僅在于計算能力和存儲能力是通過互聯(lián)網(wǎng)進(jìn)行傳輸?shù)摹?/p>
云計算是分布式計算、互聯(lián)網(wǎng)技術(shù)、大規(guī)模資源管理等技術(shù)融合與發(fā)展的結(jié)果,如圖9-2所示。其研究和應(yīng)用是一個系統(tǒng)工程,涵蓋了數(shù)據(jù)中心管理、資源虛擬化、海量數(shù)據(jù)處理、計算機安全等重要問題。
圖9-2云計算與相關(guān)技術(shù)的關(guān)系
9.1.2云計算的特征
云計算有如下七大特征:
(1)超大規(guī)模?!霸啤本哂邢喈?dāng)大的規(guī)模,Google云計算已經(jīng)擁有200多萬臺服務(wù)器,Amazon、IBM、微軟、Yahoo等大型互聯(lián)網(wǎng)公司的“云”均擁有幾十萬臺服務(wù)器。
(2)虛擬化。云計算支持用戶在任意位置使用各種終端獲取應(yīng)用服務(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è)無需負(fù)擔(dān)日益高昂的數(shù)據(jù)中心管理成本,“云”的通用性使資源的利用率相較傳統(tǒng)系統(tǒng)大幅提升,因此用戶可以充分享受“云”的低成本優(yōu)勢。.
9.1.3云計算體系結(jié)構(gòu)
云計算的體系結(jié)構(gòu)由5部分組成,分別為應(yīng)用層、平臺層、資源層、用戶訪問層和管理層。云計算的本質(zhì)是通過網(wǎng)絡(luò)提供服務(wù),所以其體系結(jié)構(gòu)以服務(wù)為核心,如圖9-3所示。圖9-3云計算的體系結(jié)構(gòu)
下面介紹云計算的5個體系結(jié)構(gòu):
1.資源層
資源層包括物理資源服務(wù)、服務(wù)器服務(wù)、網(wǎng)絡(luò)服務(wù)和存儲服務(wù),這些服務(wù)可以提供虛擬化的資源,從而隱藏物理資源的復(fù)雜性。對資源層各組成部分介紹如下:
(1)物理資源服務(wù)是指物理設(shè)備,如服務(wù)器等。
(2)服務(wù)器服務(wù)是指操作系統(tǒng)的環(huán)境,如Linux集群等。
(3)網(wǎng)絡(luò)服務(wù)是指提供的網(wǎng)絡(luò)處理能力,如防火墻、VLAN、負(fù)載等。
(4)存儲服務(wù)為用戶提供存儲能力。
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ù)。對應(yīng)用層各組成部分介紹如下:
(1)企業(yè)應(yīng)用服務(wù)是指面向企業(yè)的用戶,如財務(wù)管理、客戶關(guān)系管理、商業(yè)智能等。
(2)個人應(yīng)用服務(wù)指面向個人用戶的服務(wù),如電子郵件、文本處理、個人信息存儲等。
4.用戶訪問層
對用戶訪問層各組成部分介紹如下:
(1)服務(wù)目錄是一個服務(wù)列表,用戶可以從中選擇需要使用的云計算服務(wù)。
(2)訂閱管理是提供給用戶的管理功能,用戶可以查閱自己訂閱的服務(wù)或終止訂閱的服務(wù)。
(3)服務(wù)訪問是針對每種層次的云計算服務(wù)提供的訪問接口,針對資源層的訪問,提供的接口可能是遠(yuǎn)程桌面或Windows,針對應(yīng)用層的訪問,提供的接口可能是Web。
5.管理層
管理層提供對所有層次云計算服務(wù)的管理功能,包括安全管理、服務(wù)組合、服務(wù)目錄管理、服務(wù)使用計量、服務(wù)質(zhì)量管理、部署管理和服務(wù)監(jiān)控。對管理層各組成部分介紹如下:
(1)安全管理提供對服務(wù)的授權(quán)控制、用戶認(rèn)證、審計、一致性檢查等功能。
(2)服務(wù)組合提供對自己有云計算服務(wù)進(jìn)行組合的功能,使得新的服務(wù)可以基于已有服務(wù)創(chuàng)建時間。
(3)服務(wù)目錄管理服務(wù)提供服務(wù)目錄和服務(wù)本身的管理功能,管理員可以增加新的服務(wù)或從服務(wù)目錄中除去服務(wù)。
(4)服務(wù)使用計量對用戶的使用情況進(jìn)行統(tǒng)計,并以此為依據(jù)對用戶進(jìn)行計費。
(5)服務(wù)質(zhì)量管理提供對服務(wù)的性能、可靠性、可擴展性進(jìn)行管理。
(6)部署管理提供對服務(wù)實例的自動化部署和配置,當(dāng)用戶通過訂閱管理增加新的服務(wù)訂閱后,部署管理模塊自動為用戶準(zhǔn)備服務(wù)實例。
(7)服務(wù)監(jiān)控提供對服務(wù)的健康狀態(tài)的記錄。
9.1.4云計算的部署模式
如圖9-4所示,云計算可以有三種部署模式,即公共云、私有云和混合云。三者的比較如表9-1所示。圖9-4云計算的部署模式
對云計算三種部署模式介紹如下:
1.公共云
公共云是指為外部客戶提供服務(wù)的云。它所有的服務(wù)是供別人使用,而不是自己使用。目前,典型的公共云有微軟的WindowsAzure平臺、亞馬遜的AWS(AmazonWebServices)、S以及國內(nèi)的阿里巴巴、用友偉庫等。
對于使用者而言,公共云的最大優(yōu)點是其所應(yīng)用的程序、服務(wù)及相關(guān)數(shù)據(jù)都存放在公共云的提供者處,自己無需做相應(yīng)的投資和建設(shè)。目前最大的問題是,由于數(shù)據(jù)不存儲在自己的數(shù)據(jù)中心,其安全性存在一定風(fēng)險。同時,公共云的可用性不受使用者控制。
2.私有云
私有云是指企業(yè)自己使用的云。它所有的服務(wù)不是供別人使用,而是供內(nèi)部人員或分支機構(gòu)使用。私有云的部署比較適合有眾多分支機構(gòu)的大型企業(yè)或政府部門。隨著這些大型企業(yè)數(shù)據(jù)中心的集中化,私有云將會成為其部署IT系統(tǒng)的主流模式。
相對于公共云,私有云部署在企業(yè)內(nèi)部,因此其數(shù)據(jù)安全性高,系統(tǒng)可用性可由自己控制,但其缺點是投資較大。
3.混合云
混合云是指供自己和客戶共同使用的云。它所提供的服務(wù)既可以供別人使用,也可以供自己使用。相比較而言,混合云的部署方式對提供者的要求更高。
9.1.5云計算的核心技術(shù)
1.MapReduce編程模型
MapReduce是Google開發(fā)的Java、Python、C++的編程模型,它是一種簡化的分布式編程模型和高效的任務(wù)調(diào)度模型,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運算。嚴(yán)格的編程模型使云計算環(huán)境下的編程十分簡單。MapReduce模式的思想是將要執(zhí)行的問題分解成Map(映射)和Reduce(化簡)的方式,先通過Map程序?qū)?shù)據(jù)切割成不相關(guān)的區(qū)塊,分配(調(diào)度)給大量計算機處理,達(dá)到分布式運算的效果,再通過Reduce程序?qū)⒔Y(jié)果匯整輸出。
2.海量數(shù)據(jù)分布存儲技術(shù)
云計算系統(tǒng)由大量服務(wù)器組成,同時為大量用戶服務(wù),因此云計算系統(tǒng)采用分布式存儲的方式存儲數(shù)據(jù),用冗余存儲的方式保證數(shù)據(jù)的可靠性。云計算系統(tǒng)中廣泛使用的數(shù)據(jù)存儲系統(tǒng)是Google的GFS(GoogleFileSystem,Google文件系統(tǒng))和Hadoop團(tuán)隊開發(fā)的GFS開源實現(xiàn)的HDFS。GFS即是一個可擴展的分布式文件系統(tǒng),用于大型的、分布式的、對大量數(shù)據(jù)進(jìn)行訪問的應(yīng)用。
3.海量數(shù)據(jù)管理技術(shù)
云計算需要對分布的、海量的數(shù)據(jù)進(jìn)行處理和分析。因此,數(shù)據(jù)管理技術(shù)必需能夠高效地管理大量的數(shù)據(jù)。云計算系統(tǒng)中的數(shù)據(jù)管理技術(shù)主要是Google的BT(BigTable)數(shù)據(jù)管理技術(shù)和Hadoop團(tuán)隊開發(fā)的開源數(shù)據(jù)管理模塊Hbase。BT是建立在GFS、Scheduler、LockService和MapReduce之上的一個大型的分布式數(shù)據(jù)庫。
4.虛擬化技術(shù)
通過虛擬化技術(shù)可實現(xiàn)軟件應(yīng)用與底層硬件相隔離。它包括將單個資源劃分成多個虛擬資源的裂分模式,也包括將多個資源整合成一個虛擬資源的聚合模式。虛擬化技術(shù)根據(jù)對象可分成存儲虛擬化、計算虛擬化、網(wǎng)絡(luò)虛擬化等。計算虛擬化又分為系統(tǒng)級虛擬化、應(yīng)用級虛擬化和桌面虛擬化。
5.云計算平臺管理技術(shù)
云計算資源規(guī)模龐大,服務(wù)器數(shù)量眾多并分布在不同的地點,同時運行著數(shù)百種應(yīng)用。如何有效地管理這些服務(wù)器,保證整個系統(tǒng)提供不間斷的服務(wù)是巨大的挑戰(zhàn)。云計算系統(tǒng)的平臺管理技術(shù)能夠使大量的服務(wù)器協(xié)同工作,方便地進(jìn)行業(yè)務(wù)部署和開通,快速發(fā)現(xiàn)和排除系統(tǒng)故障,通過自動化、智能化的手段實現(xiàn)大規(guī)模系統(tǒng)的可靠運營。
9.1.6云計算技術(shù)的應(yīng)用
對云計算技術(shù)的各種應(yīng)用介紹如下:
1.存儲云
存儲云又稱云存儲,它是在云計算技術(shù)上發(fā)展起來的一個新的存儲技術(shù)。云存儲是一個以數(shù)據(jù)存儲和管理為核心的云計算系統(tǒng)。用戶可以將本地的資源上傳至云端,在任何地方連入互聯(lián)網(wǎng)來獲取云上的資源。大家熟知的谷歌、微軟等大型網(wǎng)絡(luò)公司均有云存儲的服務(wù)。在國內(nèi),百度云和微云則是市場占有量最大的存儲云。存儲云向用戶提供了存儲容器服務(wù)、備份服務(wù)、歸檔服務(wù)和記錄管理服務(wù)等,大大方便了使用者對資源進(jìn)行管理。
2.醫(yī)療云
醫(yī)療云是指在云計算、移動技術(shù)、多媒體、4G通信、大數(shù)據(jù)以及物聯(lián)網(wǎng)等新技術(shù)基礎(chǔ)上,結(jié)合醫(yī)療技術(shù),使用云計算來創(chuàng)建醫(yī)療健康服務(wù)云平臺的技術(shù),實現(xiàn)了醫(yī)療資源的共享和醫(yī)療范圍的擴大。醫(yī)療云提高了醫(yī)療機構(gòu)的工作效率,方便了居民就醫(yī)。醫(yī)院的預(yù)約掛號、電子病歷、醫(yī)保等都是云計算與醫(yī)療領(lǐng)域結(jié)合的產(chǎn)物。此外,醫(yī)療云還具有數(shù)據(jù)安全、信息共享、動態(tài)擴展、布局全國的優(yōu)勢。
3.金融云
金融云是指利用云計算的模型,將信息、金融和服務(wù)等功能分散到龐大分支機構(gòu)構(gòu)成的互聯(lián)網(wǎng)云中,旨在為銀行、保險和基金等金融機構(gòu)提供互聯(lián)網(wǎng)處理和運行服務(wù),同時共享互聯(lián)網(wǎng)資源并實現(xiàn)了高效、低成本的目標(biāo)。在2013年11月27日,阿里云整合阿里巴巴旗下資源推出了阿里金融云服務(wù)。其實,它就是現(xiàn)在基本普及的快捷支付服務(wù)。由于金融與云計算結(jié)合,現(xiàn)在只需要在手機上簡單操作就可以完成銀行存款、購買保險和基金買賣。現(xiàn)在,不只阿里巴巴推出了金融云服務(wù),如蘇寧金融、騰訊等企業(yè)也推出了自己的金融云服務(wù)。
4.教育云
實質(zhì)上,教育云是教育信息化的一種發(fā)展。教育云可以將任何教育硬件資源虛擬化,然后將其傳入互聯(lián)網(wǎng)中,向教育機構(gòu)、老師和同學(xué)提供一個方便快捷的平臺?,F(xiàn)在流行的慕課(MOOC)就是教育云的一種應(yīng)用。慕課是大規(guī)模開放的在線課程平臺。
9.2服務(wù)理論
9.2.1服務(wù)的概念根據(jù)網(wǎng)格之父IanFoster的定義,服務(wù)(Service)是一種通過良好的信息交換來提供客戶某種能力的實體(Entity)。服務(wù)可定義為導(dǎo)致服務(wù)執(zhí)行某些操作(Operation)的特定信息交換的序列。
事實上,服務(wù)的概念是一個從Web服務(wù)(WebServices)到網(wǎng)格服務(wù)(GridService)、自治服務(wù)(AutonomicService)、云服務(wù)(CloudService)、服務(wù)虛擬化(ServiceVirtualization)和面向服務(wù)開發(fā)(ServiceOrientedDevelopment)的不斷完善的過程。
9.2.2幾種常見的服務(wù)
以下是幾種常見的服務(wù):
1.Web服務(wù)
Web服務(wù)的含義包括以下三個方面:
(1)Web服務(wù)是在Internet上跨機器進(jìn)程使應(yīng)用程序之間相互通信的技術(shù),而非人與機器之間交互的技術(shù)。
(2)Web服務(wù)的設(shè)計初衷是平臺無關(guān)性和語言無關(guān)性,這也是它的設(shè)計特色之一。
(3)Web服務(wù)只是提供一個接口,剩下的工作需要程序員在開發(fā)平臺上使用不同的編程語言來實現(xiàn)。
2.網(wǎng)格服務(wù)
網(wǎng)格服務(wù)提供了一組接口,這些接口定義明確且遵守特定的慣例,解決服務(wù)發(fā)現(xiàn)、動態(tài)服務(wù)創(chuàng)建、生命周期管理、服務(wù)通知等問題。簡單地說,OGSI(OpenGridServicesInfrastructure)服務(wù)=OGSI接口/行為+服務(wù)數(shù)據(jù)(ServiceData),WSRF(WebServicesResourceFramework)服務(wù)=WSRF接口/行為+WS資源屬性(WS-ResourceProperties)。
3.Agent
Agent是封裝的計算機系統(tǒng),它適合于某些環(huán)境并能夠在該環(huán)境中通過靈活的、自治的行為以達(dá)到其設(shè)計目標(biāo)。具體來說,Agent是帶有良好定義的邊界和接口的可以清楚確認(rèn)的問題解決實體。它適合嵌入某個特定的環(huán)境,通過傳感器接收與其環(huán)境狀態(tài)有關(guān)的輸入,并通過受動器作用于環(huán)境。它們不僅可以控制自身內(nèi)部的狀態(tài),
4.云服務(wù)
云服務(wù)主要指云計算的SPI服務(wù)模型。
9.2.3服務(wù)概念的特征
服務(wù)概念的特征如下:
(1)服務(wù)交互的結(jié)構(gòu)是通過Web服務(wù)機制實現(xiàn)的。例如,服務(wù)引入了大量新描述語言(如WSDL,即WebServicesDescriptionLanguage)、新通信方法(如SOAP,即SimpleObjectAccessProtocol)和新體系結(jié)構(gòu)(如SOA,即ServiceOrientedArchitecture)。
(2)服務(wù)與傳統(tǒng)的WebServices不同,它是動態(tài)的(Dynamic)、有狀態(tài)的(Stateful)。服務(wù)的動態(tài)性表現(xiàn)在可以臨時創(chuàng)建新服務(wù),可以在系統(tǒng)生命期結(jié)束時銷毀服務(wù)回收資源。
(3)服務(wù)是自治的(Autonomous)。服務(wù)的自治性表現(xiàn)在其服務(wù)行為不僅由客戶請求驅(qū)動,還可以根據(jù)其他因素如本地策略、與客戶協(xié)商的輸出反饋等完成行為調(diào)節(jié)。自治性能夠根據(jù)本地策略和局部反饋進(jìn)行閉環(huán)調(diào)節(jié),從而提供了穩(wěn)定(Stable)的服務(wù)。
9.2.4面向服務(wù)的開發(fā)
分布式應(yīng)用程序的開發(fā)(DistributedApplicationDevelopment)是一種從一臺機器向另一臺機器獲取數(shù)據(jù)的技術(shù)與工程。
應(yīng)用開發(fā)方法的演變主要經(jīng)歷了以下四個階段,從中可看出其走向分布式的趨勢:
1.面向過程開發(fā)
面向過程開發(fā)是結(jié)構(gòu)化的程序設(shè)計,軟件系統(tǒng)的行為與數(shù)據(jù)部分分離。典型開發(fā)工具是C語言、Pascal語言等,其程序核心是函數(shù)或過程。
2.面向?qū)ο箝_發(fā)
面向?qū)ο箝_發(fā)是數(shù)據(jù)和操作的封裝,行為和數(shù)據(jù)的隱藏。典型開發(fā)工具是C++、Java等,其程序核心是對象。
通常其運行環(huán)境是局域網(wǎng)(企業(yè)網(wǎng)或校園網(wǎng))計算平臺下的C/S(客戶機/服務(wù)器)架構(gòu)。
CORBA(CommonObjectRequestBrokerArchitecture,通用對象請求代理架構(gòu))就是相應(yīng)的分布式技術(shù)規(guī)范。
3.面向組件開發(fā)
面向組件開發(fā)是基于組件或構(gòu)件快速創(chuàng)建更加復(fù)雜、高質(zhì)量的系統(tǒng)。典型開發(fā)工具是VB、J2EE、Delphi等,其程序核心是組件或構(gòu)件。
通常其運行環(huán)境是廣域網(wǎng)(Internet或Intranet)計算平臺下的B/S(瀏覽器/服務(wù)器)架構(gòu)或是帶中間件的B/M/S(瀏覽器/中間件/服務(wù)器)三層架構(gòu)。
DCOM(DistributedComponetObjectModel,分布式組件對象模型)、EJB(企業(yè)JavaBean)組件模型等就是相應(yīng)的分布式技術(shù)規(guī)范。
4.面向服務(wù)開發(fā)
面向服務(wù)開發(fā)是更廣泛的企業(yè)之間的信息系統(tǒng)集成。典型開發(fā)工具是.Net、J2EE等,其程序核心是WebServices或GridServices。
通常其運行環(huán)境是網(wǎng)格計算/云計算平臺下的OGSA架構(gòu)或SOA架構(gòu)。
SOAP是應(yīng)用于面向服務(wù)開發(fā)的典型分布式調(diào)用和通信協(xié)議。
1)面向服務(wù)開發(fā)的特點
面向服務(wù)開發(fā)有以下幾個特點:
(1)服務(wù)是一種通用開發(fā)方式,不僅支持科學(xué)計算,還支持其他服務(wù),包括數(shù)據(jù)服務(wù)、信息服務(wù)、通信服務(wù)、計算服務(wù)、交易服務(wù)、政務(wù)服務(wù)、教育服務(wù)、娛樂服務(wù)、金融服務(wù)、旅游服務(wù)、醫(yī)療服務(wù)、專家服務(wù)等。
(2)服務(wù)是一種基本的應(yīng)用模式,即客戶端向網(wǎng)格/云端發(fā)出服務(wù)請求,網(wǎng)格/云端完成服務(wù)并將結(jié)果通知客戶端。
客戶看到的是一個網(wǎng)格整體/云整體,所有的服務(wù)請求都向網(wǎng)格/云端發(fā)出,而不是向具體的某個網(wǎng)站或某臺服務(wù)器發(fā)出,即服務(wù)的關(guān)鍵是一體化(Integration)。
(3)服務(wù)開發(fā)的主要評價指標(biāo)不再單純是速度、費用等單一指標(biāo),而是類似服務(wù)等級協(xié)議(ServiceLevelProtocol)的一套用戶滿意度或服務(wù)質(zhì)量(QualityofService,QoS)評價標(biāo)準(zhǔn),即服務(wù)一體化的目標(biāo)是提高服務(wù)質(zhì)量。
2)面向服務(wù)的架構(gòu)(SOA)
SOA是一個組件模型,它將應(yīng)用程序的不同功能單元(即服務(wù))通過相應(yīng)的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。SOA中的協(xié)作如圖9-5所示。圖9-5SOA中的協(xié)作
在面向服務(wù)的架構(gòu)中包括以下三個角色:
(1)服務(wù)提供者(ServiceProvider):一個可通過網(wǎng)絡(luò)尋址的實體。它接受和執(zhí)行來自使用者的請求,并將自己的服務(wù)描述和接口契約發(fā)布到服務(wù)注冊中心,以便服務(wù)使用者可以發(fā)現(xiàn)和訪問該服務(wù)。
(2)服務(wù)請求者(ServiceConsumer):一個應(yīng)用程序、一個軟件模塊或需要一個服務(wù)的另一個服務(wù)。它發(fā)起對注冊中心中服務(wù)的查詢,通過傳輸綁定服務(wù),并且執(zhí)行服務(wù)功能。服務(wù)請求者根據(jù)接口契約來執(zhí)行服務(wù)。
(3)服務(wù)注冊中心(ServiceRegistry):服務(wù)發(fā)現(xiàn)的支持者。它包含一個可用服務(wù)的存儲庫,并允許感興趣的服務(wù)使用者查找服務(wù)提供者接口。
角色之間主要有以下三個操作:
(1)發(fā)布(Publish):為了使服務(wù)可訪問,需要發(fā)布服務(wù)描述使服務(wù)請求者可以發(fā)現(xiàn)和調(diào)用它。
(2)查找(Find):服務(wù)請求者的定位服務(wù)是通過查詢服務(wù)注冊中心來找到滿足其標(biāo)準(zhǔn)的服務(wù)的。
(3)綁定和調(diào)用(BindandInvoke):在檢索服務(wù)描述之后,服務(wù)請求者根據(jù)服務(wù)描述中的信息來調(diào)用服務(wù)。
WSDL(WebServicesDescriptionLanguage,Web服務(wù)描述語言)的用途是“描述”Web服務(wù)。業(yè)務(wù)之間將通過交換WSDL文件來理解對方的服務(wù)。當(dāng)實現(xiàn)了某種服務(wù)時(如股票查詢服務(wù)),為了讓別的程序調(diào)用,必須用WSDL公布服務(wù)的接口。例如,服務(wù)名稱,服務(wù)所在的機器名稱,監(jiān)聽端口號,傳遞參數(shù)的類型、個數(shù)和順序,返回結(jié)果的類型等。
9.3云計算的SPI服務(wù)模型
云計算資源以云服務(wù)的形式提供,“一切皆是服務(wù)”。云計算核心服務(wù)通常可以分為三個子層:基礎(chǔ)設(shè)施即服務(wù)層(InfrastructureasaService,IaaS)、平臺即服務(wù)層(PlatformasaService,PaaS)和軟件即服務(wù)層(SoftwareasaService,SaaS),這被稱為云計算的SPI服務(wù)模型,如圖9-6所示。圖9-6云計算的SPI服務(wù)模型
9.3.1IaaS
IaaS是指企業(yè)或個人可以使用云計算技術(shù)來遠(yuǎn)程訪問計算資源,它包括計算、存儲以及應(yīng)用虛擬化技術(shù)所提供的相關(guān)功能。無論是最終用戶、SaaS提供商,還是PaaS提供商都可以從基礎(chǔ)設(shè)施服務(wù)中獲得應(yīng)用所需的計算能力,無須對支持這一計算能力的基礎(chǔ)IT軟硬件付出相應(yīng)的原始投資成本。
IaaS提供硬件基礎(chǔ)設(shè)施部署服務(wù),為用戶按需提供實體或虛擬的計算、存儲和網(wǎng)絡(luò)等資源。在使用IaaS層服務(wù)的過程中,用戶需要向IaaS層服務(wù)提供商提供基礎(chǔ)設(shè)施的配置信息,運行于基礎(chǔ)設(shè)施的程序代碼以及相關(guān)的用戶數(shù)據(jù)。
由于數(shù)據(jù)中心是IaaS層的基礎(chǔ),因此數(shù)據(jù)中心的管理和優(yōu)化問題成為近年來研究的熱點。另外,為了優(yōu)化硬件資源的分配,IaaS層引入了虛擬化技術(shù)。借助于Xen、KVM、VMware等虛擬化工具,可以提供可靠性高、可定制性強、規(guī)??蓴U展的IaaS層服務(wù)。
IaaS層是云計算的基礎(chǔ)。通過建立大規(guī)模數(shù)據(jù)中心,IaaS層為上層云計算服務(wù)提供海量硬件資源。同時,在虛擬化技術(shù)的支持下,IaaS層可以實現(xiàn)硬件資源的按需配置,并提供個性化的基礎(chǔ)設(shè)施服務(wù)。
基于以上兩個基礎(chǔ),IaaS層主要研究兩個問題:一是如何建設(shè)低成本、高效能的數(shù)據(jù)中心,二是如何拓展虛擬化技術(shù),實現(xiàn)彈性、可靠的基礎(chǔ)設(shè)施服務(wù)。
9.3.2PaaS
PaaS是指將一個完整的計算機平臺(包括應(yīng)用設(shè)計、應(yīng)用開發(fā)、應(yīng)用測試和應(yīng)用托管)作為一種服務(wù)提供給客戶。在這種服務(wù)模式中,客戶不需要購買硬件和軟件,只需要利用PaaS平臺,就能夠創(chuàng)建、測試和部署應(yīng)用及服務(wù)。與基于數(shù)據(jù)中心的平臺進(jìn)行軟件開發(fā)相比,它的費用要低得多,這是PaaS的最大價值所在。
PaaS是云計算應(yīng)用程序運行環(huán)境,提供應(yīng)用程序部署與管理服務(wù)。通過PaaS層的軟件工具和開發(fā)語言,應(yīng)用程序開發(fā)者只需上傳程序代碼和數(shù)據(jù)即可使用服務(wù),而不必關(guān)注底層的網(wǎng)絡(luò)、存儲、操作系統(tǒng)的管理問題。
由于目前互聯(lián)網(wǎng)應(yīng)用平臺(如Facebook、Google、淘寶等)的數(shù)據(jù)量日趨龐大,PaaS層應(yīng)當(dāng)充分考慮對海量數(shù)據(jù)的存儲與處理能力,并利用有效的資源管理與調(diào)度策略提高處理效率。
PaaS層作為三層核心服務(wù)的中間層,既為上層應(yīng)用提供簡單、可靠的分布式編程框架,又需要基于底層的資源信息調(diào)度作業(yè)和管理數(shù)據(jù),屏蔽底層系統(tǒng)的復(fù)雜性。隨著數(shù)據(jù)密集型應(yīng)用的普及和數(shù)據(jù)規(guī)模的日益龐大,PaaS層需要具備存儲與處理海量數(shù)據(jù)的能力。
基于以上分析,PaaS層主要研究兩個問題:一是PaaS層的海量數(shù)據(jù)存儲與處理技術(shù),二是基于海量數(shù)據(jù)存儲與處理技術(shù)的資源管理與調(diào)度策略。
典型的PaaS平臺包括GoogleAppEngine、Hadoop和WindowsAzure。這些平臺都基于海量數(shù)據(jù)處理技術(shù)搭建且各具代表性。典型的PaaS平臺的比較如圖9-7所示。圖9-7典型PaaS平臺的比較
9.3.3SaaS
SaaS是指用戶獲取軟件服務(wù)的一種新形式。它不需要用戶將軟件產(chǎn)品安裝在自己的計算機或服務(wù)器上,而是按某種服務(wù)水平協(xié)議(SLA)直接通過網(wǎng)絡(luò)向?qū)iT的提供商獲取自己所需要的、帶有相應(yīng)軟件功能的服務(wù)。從本質(zhì)上來說,軟件(即服務(wù))就是軟件服務(wù)提供商為滿足用戶某種特定需求而提供其消費軟件的計算能力。
SaaS是將軟件打包成服務(wù),如Google的在線翻譯和Gmail等服務(wù)。SaaS的特點就是在大多數(shù)情況下不需要安裝任何客戶端,或只需要安裝很小的客戶端就可以運行性能很好的程序或軟件。SaaS服務(wù)取代以往需要安裝客戶端才可以運行的程序,這使得用戶可以在更好的資源環(huán)境下享受這種服務(wù)。
SaaS是在線應(yīng)用平臺,為用戶提供平臺化的服務(wù),為上層各種信息化應(yīng)用提供統(tǒng)一的平臺。它能夠完整地貫穿業(yè)務(wù)流,將各種信息化產(chǎn)品完美整合,統(tǒng)一運行維護(hù),形成一個完整的支撐系統(tǒng)。
下面簡述兩種典型的SaaS應(yīng)用:GoogleApps和SalesforceCRM。
GoogleApps包括GoogleDocs、Gmail等一系列SaaS應(yīng)用。Google將傳統(tǒng)的桌面應(yīng)用程序(如文字處理軟件、電子郵件服務(wù)等)遷移到互聯(lián)網(wǎng),并托管這些應(yīng)用程序。用戶通過Web瀏覽器便可隨時隨地訪問GoogleApps,不需要下載、安裝或維護(hù)任何硬件或軟件。GoogleApps為每個應(yīng)用提供了編程接口,使各應(yīng)用之間可以隨意組合。GoogleApps的用戶既可以是個人用戶,也可以是服務(wù)提供商。
例如,企業(yè)可向Google申請域名為@的郵件服務(wù),以滿足企業(yè)內(nèi)部收發(fā)電子郵件的需求。在此期間,企業(yè)只需對資源使用量付費,而不必考慮購置、維護(hù)郵件服務(wù)器、郵件管理系統(tǒng)的開銷。
SalesforceCRM部署于F云計算平臺,為企業(yè)提供客戶關(guān)系管理服務(wù),包括銷售云、服務(wù)云和數(shù)據(jù)云等部分。通過租用CRM的服務(wù),企業(yè)可以擁有完整的企業(yè)管理系統(tǒng),用以管理內(nèi)部員工、生產(chǎn)銷售和客戶業(yè)務(wù)等。利用CRM預(yù)定義的服務(wù)組件,企業(yè)可以根據(jù)自身業(yè)務(wù)的特點定制工作流程?;跀?shù)據(jù)隔離模型,CRM可以隔離不同企業(yè)的數(shù)據(jù),為每個企業(yè)分別提供一份應(yīng)用程序的副本。CRM可根據(jù)企業(yè)的業(yè)務(wù)量為企業(yè)彈性分配資源。除此之外,CRM為移動智能終端開發(fā)了應(yīng)用程序,支持各種類型的客戶端設(shè)備訪問該服務(wù),實現(xiàn)了泛在接入。
9.3.4IaaS、PaaS和SaaS的比較
IaaS、PaaS和SaaS三者之間的比較如表9-2所示。
9.4云計算與相關(guān)領(lǐng)域的關(guān)系
9.4.1云計算與網(wǎng)格計算的關(guān)系根據(jù)網(wǎng)格之父IanFoster的定義,網(wǎng)格(Grid)的基本概念是:動態(tài)多機構(gòu)虛擬組織中的協(xié)同資源共享與問題解決。網(wǎng)格的三要素為:(1)對非集中控制的資源進(jìn)行協(xié)調(diào)。(2)使用標(biāo)準(zhǔn)的、開放的、通用的協(xié)議和接口。(3)提供非平凡的服務(wù)質(zhì)量。
網(wǎng)格計算體系結(jié)構(gòu)的發(fā)展包括三個階段:五層沙漏結(jié)構(gòu)、開放網(wǎng)格服務(wù)體系結(jié)構(gòu)(OpenGridServiceArchitecture,OGSA)和WebService資源框架(WebServiceResourceFramework,WSRF),如圖9-8所示。圖9-8網(wǎng)格技術(shù)的發(fā)展階段
五層沙漏結(jié)構(gòu)由IanFoster等人最早提出,是一個最先出現(xiàn)的應(yīng)用和影響廣泛的結(jié)構(gòu),從低到高包括構(gòu)造層(FabricLayer)、連接層(ConnectivityLayer)、資源層(ResourceLayer)、匯聚層(CollectiveLayer)和應(yīng)用層(ApplicationLayer),如圖9-9所示。構(gòu)造層提供一套對局部資源控制的工具和接口;連接層提供保證通信安全的認(rèn)證核心協(xié)議;資源層定義了一些對單個的資源實施共享操作的協(xié)議;匯聚層實現(xiàn)多個資源協(xié)同工作;應(yīng)用層提供網(wǎng)格的系統(tǒng)開發(fā)和應(yīng)用開發(fā)工具、環(huán)境。圖9-9五層沙漏結(jié)構(gòu)
網(wǎng)格計算與云計算的比較如表9-3所示。
網(wǎng)格的構(gòu)建大多為完成某一個特定的任務(wù)需要或支持挑戰(zhàn)性的應(yīng)用。這也是生物網(wǎng)格、地理網(wǎng)格、國家教育網(wǎng)格等各種不同的網(wǎng)格項目出現(xiàn)的原因。云計算一般來說都是為了通用應(yīng)用而設(shè)計的。云計算一開始就支持廣泛企業(yè)計算和Web應(yīng)用,普適性更強。網(wǎng)格計算的主要思路是聚合分布的松散耦合資源,而云計算的IT資源相對集中,以Internet的形式提供底層資源的獲得和使用。
9.4.2云計算與P2P計算的關(guān)系
Intel公司P2P(PeertoPeer,對等計算)工作組提出了P2P計算的定義:系統(tǒng)之間通過直接交換來共享計算機資源和服務(wù)。
P2P就是人可以直接連接到其他用戶的計算機來交換資源,不用像過去那樣連接到服務(wù)器去瀏覽與下載資源。P2P另一個重要特點是改變了互聯(lián)網(wǎng)現(xiàn)在的以大網(wǎng)站為中心的狀態(tài),重返非中心化,并把權(quán)力交還用戶。每個計算機作為節(jié)點充當(dāng)客戶端、服務(wù)器的角色,網(wǎng)絡(luò)上的所有節(jié)點都可以通過直接互聯(lián)共享信息資源、處理器資源、存儲資源甚至高速緩存資源等。
P2P是一種分散的、非集中和自組織的分布式系統(tǒng),利用分布式資源進(jìn)行關(guān)鍵性的應(yīng)用。網(wǎng)絡(luò)上現(xiàn)有的許多服務(wù)可以歸入P2P的行列,如搜索外太空智能生命的服務(wù)SETI@home,如圖9-10所示;如ICQ、AOLInstantMessenger、YahooPager、MSNMessenger以及QQ這樣的即時通信系統(tǒng)都是最流行的P2P應(yīng)用。P2P已經(jīng)由最初的文件共享轉(zhuǎn)向更深入的應(yīng)用,如大規(guī)模的分布式存儲等。圖9-10搜索外太空智能生命的服務(wù)SETI@home
P2P計算的優(yōu)勢:
(1)P2P集合大量計算機的能力,達(dá)到空前的計算能力。如圖9-11所示,截至2002年7月,SETI@home項目已有380多萬臺計算機參加,投入百萬年CPU時間,平均每臺返回142.81個結(jié)果,已有547488318個結(jié)果。
(2)P2P使用空閑計算時間,成本很低。圖9-11SETI@home聚合的計算能力
P2P計算的劣勢:
(1)用戶的注意力有限,不可能有大量的類似活動。
(2)由于單元之間是獨立的,P2P對應(yīng)用存在局限性。
(3)P2P的計算能力不穩(wěn)定,需要不斷推動用戶參與。如圖9-12所示,SETI@home項目的計算能力不穩(wěn)定,通常在暑假期間每日返回的結(jié)果數(shù)多,這是因為對該項目感興趣的人多半是中學(xué)生和大學(xué)生。圖9-12SETI@home不穩(wěn)定的計算能力
下面將P2P計算與云計算(以MapReduce為例)進(jìn)行比較。
1)相同點
二者都是將問題分為獨立的塊,然后進(jìn)行并行計算。
2)不同點
(1)P2P計算是CPU高度密集型的。相對于計算時間而言,其傳輸時間幾乎為零。因此,P2P計算貢獻(xiàn)的是CPU周期,而不是帶寬。MapReduce是CPU和帶寬高度密集型的。MapReduce被用來運行那些需要數(shù)分鐘或數(shù)小時才能完成的作業(yè),這些作業(yè)在一個聚集很高帶寬的數(shù)據(jù)中心運行。
(2)P2P計算是在接入互聯(lián)網(wǎng)的不可信的計算機上運行,這些計算機的網(wǎng)速不高,數(shù)據(jù)也不在本地。MapReduce是在高帶寬的高性能數(shù)據(jù)中心的可信任專用硬件設(shè)備上運行。
(3)P2P計算可以運行在世界各地數(shù)萬至數(shù)百萬臺計算機上,規(guī)模龐大。MapReduce目前尚不能跨多個數(shù)據(jù)中心工作,目前它運行在最多4000臺機器的集群上,規(guī)模不算龐大。
9.4.3云計算與集群計算的關(guān)系
集群(Cluster)由彼此連接且相似的基本系統(tǒng)單元(計算\主存\通信\存儲)組成的,通常都位于一個單一的管理域內(nèi)且在很多情況下被看作一個單一的系統(tǒng)。
集群計算主要有以下幾個特點:
(1)集群技術(shù)支持混合平臺工作模式,體系結(jié)構(gòu)上可以同時支持RISC(ReducedInstructionSetComputer,精簡指令集計算機)和IA(IntelArchitecture)節(jié)點,操作系統(tǒng)上可以同時支持WindowsServer、Linux和UNIX等操作系統(tǒng)。
(2)集群技術(shù)具有統(tǒng)一的系統(tǒng)監(jiān)控和管理功能,可以簡單直觀地監(jiān)控到整個集群的軟硬件運行狀態(tài),同時可以通過集群的主機入侵檢測系統(tǒng)保障系統(tǒng)的安全性。
(3)集群技術(shù)的架構(gòu)具有優(yōu)異的動態(tài)擴展性,可以根據(jù)用戶應(yīng)用的需要,隨時增加新的節(jié)點,而不必改動整個集群系統(tǒng)。
(4)集群服務(wù)器節(jié)點可以根據(jù)不同的需要,靈活地進(jìn)行調(diào)整和配置,承擔(dān)不同的應(yīng)用服務(wù)、計算任務(wù)或通過軟件管理協(xié)同處理某一特定任務(wù)。
云計算與集群計算的區(qū)別和聯(lián)系如下:
1)云計算與集群計算的區(qū)別
集群計算局限于某個領(lǐng)域,是為了解決計算能力不足的問題而創(chuàng)建的,因此通常局限于LAN范圍內(nèi),不適用于不同領(lǐng)域參與者之間的資源共享。云計算能夠提供更為廣泛可用的、域內(nèi)/域間的、通信以及資源的共享。
集群中的節(jié)點是集中控制的,且集群管理器(Middleware)知道每個節(jié)點的狀態(tài)。云計算是分布式控制的。
2)云計算與集群計算的聯(lián)系
(1)集群計算是云計算的一個不可缺少的子集。集群計算可以構(gòu)成私有云,它是規(guī)模更大的云計算的基礎(chǔ)。
(2)集群計算能夠減少更高一級的云計算需要解決的問題的數(shù)目。
(3)集群計算使用資源和軟件來實現(xiàn)組合單元的外部特性,這些特性會影響集群計算的使用,甚至它需要在更大的云計算中集成。
9.4.4云計算與物聯(lián)網(wǎng)的關(guān)系
云計算和物聯(lián)網(wǎng)之間存在緊密的關(guān)系。為此說明如下:
(1)物聯(lián)網(wǎng)和云計算是國家非常重視的戰(zhàn)略性新興產(chǎn)業(yè),是國家重點推動跨越發(fā)展的新一代信息技術(shù)產(chǎn)業(yè)。物聯(lián)網(wǎng)產(chǎn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024標(biāo)準(zhǔn)技術(shù)服務(wù)采購協(xié)議:精準(zhǔn)定制版B版
- 2024年項目居間服務(wù)協(xié)議標(biāo)準(zhǔn)格式一
- 2024潤滑油行業(yè)展會贊助與推廣合作合同3篇
- 四川省宜賓市中考語文試卷五套【附參考答案】
- 專用場地租賃合作分成合同全文預(yù)覽一
- 16《人的呼吸》說課稿-2024-2025學(xué)年三年級上冊科學(xué)蘇教版
- 2024年石粉購銷合同協(xié)議規(guī)定規(guī)定樣本
- 2025年度網(wǎng)絡(luò)安全隱秘操作風(fēng)險評估與監(jiān)管服務(wù)協(xié)議3篇
- 2024鄭州二手房買賣合同的文本
- 福建省南平市衛(wèi)閩中學(xué)2021年高二地理月考試卷含解析
- 2024至2030年中國家庭維修行業(yè)發(fā)展前景預(yù)測及投資策略研究報告
- 文化旅游場所運營設(shè)備更新項目資金申請報告-超長期特別國債投資專項
- 2024年新教材七年級上冊道德與法治2.1《認(rèn)識自己》教學(xué)設(shè)計
- 【人教版】二年級數(shù)學(xué)上冊說課稿-第2課時 直角的認(rèn)識
- 人員密集場所消防安全標(biāo)準(zhǔn)化管理規(guī)定
- 2024年印尼認(rèn)知評估和培訓(xùn)解決方案市場競爭態(tài)勢與及未來趨勢預(yù)測報告
- JTG F40-2004 公路瀝青路面施工技術(shù)規(guī)范
- 成都市2022級(2025屆)高中畢業(yè)班摸底測試(零診)英語試卷(含答案)
- 光伏發(fā)電技術(shù)在建筑中的應(yīng)用
- NB∕T 10805-2021 水電工程潰壩洪水與非恒定流計算規(guī)范
- (高清版)JTGT 3331-04-2023 多年凍土地區(qū)公路設(shè)計與施工技術(shù)規(guī)范
評論
0/150
提交評論