在過(guò)去的十年里,計(jì)算機(jī)在處理性能,存儲(chǔ)容量,網(wǎng)絡(luò)技術(shù)等方面獲得了長(zhǎng)足的進(jìn)步,并由此誕生了很多新興的計(jì)算機(jī)技術(shù)來(lái)方便人們的日常辦公和生活需要。目前,物聯(lián)網(wǎng)技術(shù)和云計(jì)算技術(shù)是新興的研究熱點(diǎn)。云計(jì)算由于其較高的可擴(kuò)展性,較低的設(shè)備價(jià)格及按需服務(wù)等特點(diǎn)越來(lái)越受到企業(yè)、院校、政府的青睞。學(xué)術(shù)界也對(duì)此也做了很多的研究性工作。
目前對(duì)于云計(jì)算的定義有很多種,比較常用的說(shuō)法是云計(jì)算是一種基于互聯(lián)網(wǎng)的計(jì)算方式,通過(guò)這種方式,共享的軟硬件資源和信息可以按需提供給計(jì)算機(jī)和其他設(shè)備。1961年John McCarthy在MIT一百周年的紀(jì)念典禮的演講上述,計(jì)算機(jī)的應(yīng)用性將越來(lái)越普遍,并且將成為將來(lái)新型的重要工業(yè)基礎(chǔ)。這段話在一定程度上也預(yù)示了云計(jì)算技術(shù)的產(chǎn)生。2006年在Google的搜索引擎戰(zhàn)略會(huì)議,Eric Schmidt首次提出了云計(jì)算這個(gè)整體性的概念。隨著計(jì)算機(jī)處理器性能和存儲(chǔ)容量的迅速發(fā)展,云計(jì)算技術(shù)所具有的優(yōu)勢(shì)使得對(duì)企業(yè),政府機(jī)構(gòu)等組織非常有吸引力:
較少的資金開(kāi)銷(xiāo),一般云計(jì)算用戶可以通過(guò)租用的方式獲得服務(wù),這樣在減少設(shè)備成本投入的同時(shí)也獲得了自己所需要的計(jì)算性能。
可擴(kuò)展性,高度的可擴(kuò)展性能無(wú)疑是云計(jì)算技術(shù)一大亮點(diǎn),云服務(wù)提供者只需要增加一定數(shù)量的服務(wù)器,數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)帶寬等設(shè)備就能擴(kuò)展云服務(wù)的能力。
災(zāi)難恢復(fù)的功能,大多數(shù)的中小型企業(yè)一般沒(méi)有災(zāi)難恢復(fù)的設(shè)施。由于云技術(shù)的虛擬化和冗余性備份功能,企業(yè)不太會(huì)丟失掉他們的數(shù)據(jù)。
虛擬化,云計(jì)算其實(shí)也是虛擬化技術(shù)的一種實(shí)現(xiàn)。通過(guò)虛擬化的技術(shù),底層的硬件設(shè)備被抽象化了。由服務(wù)器構(gòu)成的虛擬資源將會(huì)動(dòng)態(tài)的,按需的方式分配給應(yīng)用用戶。
一、云計(jì)算的體系結(jié)構(gòu)
傳統(tǒng)上來(lái)講,云計(jì)算體系的結(jié)構(gòu)可以分成四個(gè)部分,如圖1所示:物理層、虛擬層、平臺(tái)層和應(yīng)用層,接下來(lái)我們?cè)斒雒總(gè)層的功能。
物理層:顧名思義,物理層負(fù)責(zé)管理云中的硬件資源,包含物理服務(wù)器、路由器、交換機(jī)、電力和冷卻系統(tǒng)。實(shí)際上,一般一個(gè)數(shù)據(jù)中心等同于一個(gè)物理層。數(shù)據(jù)中心包含了好幾千個(gè)的服務(wù)器,它們通過(guò)高速交換機(jī)、路由器或者其他的光纖介質(zhì)互聯(lián)起來(lái)形成一個(gè)整體。物理層上的事務(wù)性處理包括硬件設(shè)備的配置管理、容錯(cuò)性保證、流量管理、電力和冷卻系統(tǒng)管理等。
虛擬層:虛擬層使用了諸如Xen、KVM和VMware等虛擬技術(shù),將計(jì)算資源和存儲(chǔ)資源整合形成了一個(gè)資源池,應(yīng)用用戶就可以從這個(gè)資源池中獲取他需要的計(jì)算服務(wù)。虛擬層是云計(jì)算技術(shù)的-個(gè)重要組成成分,因?yàn)橹挥型ㄟ^(guò)虛擬化技術(shù)才能實(shí)現(xiàn)像動(dòng)態(tài)資源管理的功能。
平臺(tái)層:平臺(tái)層在虛擬層之上,該層的由操作系統(tǒng)、應(yīng)用程序框架之類(lèi)的構(gòu)建構(gòu)成。平臺(tái)層設(shè)置的目的主要是為了方便應(yīng)用層和虛擬機(jī)之間的連通,減少部署應(yīng)用程序時(shí)的負(fù)擔(dān)。例如,Google在平臺(tái)層的應(yīng)用引擎就提供了API接口用以支持存儲(chǔ)數(shù)據(jù)庫(kù)和Web應(yīng)用的常用操作。
應(yīng)用層:應(yīng)用層在體系結(jié)構(gòu)中的最高層,由實(shí)際的云應(yīng)用程序構(gòu)成。和傳統(tǒng)的應(yīng)用程序相比,云中的應(yīng)用程序的優(yōu)點(diǎn)在于它可以簡(jiǎn)單地通過(guò)可擴(kuò)展行的優(yōu)點(diǎn)獲得更高的性能、可用性,并減少運(yùn)行開(kāi)銷(xiāo)。
和傳統(tǒng)的網(wǎng)絡(luò)服務(wù)模式相比較,云計(jì)算的體系結(jié)構(gòu)更加地模塊化。每一層和上下層的關(guān)系都是比較松散的耦合關(guān)系,這一點(diǎn)和OSI的體系結(jié)構(gòu)很類(lèi)似,每一層可以很獨(dú)立的進(jìn)行升級(jí)。
但在商業(yè)的角度來(lái)看,硬件和平臺(tái)級(jí)的資源是按需提供服務(wù)的基礎(chǔ),根據(jù)每個(gè)公司具體的策略又將云計(jì)算分成了三類(lèi)不同的模型Hl:軟件即服務(wù)(saas),平臺(tái)即服務(wù)(PaaS),基礎(chǔ)設(shè)施即服務(wù)(IaaS)。但是這些不同的模型都具有按需服務(wù),錯(cuò)誤容忍,較好的彈性等特點(diǎn)。
基礎(chǔ)設(shè)施即服務(wù)需要提供具體的基礎(chǔ)設(shè)備,它一般包含前面提到的虛擬層和物理層。通常以虛擬機(jī)的形式呈現(xiàn)給用戶,而提供IaaS服務(wù)的云擁有者就可以成為IaaS服務(wù)商,例如Amazon EC2、Flexicale和GoGrid等。平臺(tái)即服務(wù)是提供平臺(tái)級(jí)的資源,包括操作系統(tǒng)和軟件開(kāi)發(fā)框架等,為其他軟件開(kāi)發(fā)人員提供開(kāi)發(fā)的接口,并由此調(diào)用相應(yīng)的云計(jì)算功能。像Paas服務(wù)商有MicrosoftWindowsAzure,GoogleApp Engine和Force.com等。
軟件即服務(wù)是指在互聯(lián)網(wǎng)上以按需方式向用戶提供服務(wù)的應(yīng)用程序。例如Salesforce.com,Facebook等。
二、商用云計(jì)算平臺(tái)
目前,云計(jì)算以其優(yōu)異的性能特點(diǎn),吸引了眾多的互聯(lián)網(wǎng)公司投入大量的人力物力進(jìn)行研究和開(kāi)發(fā)工作,并形成了各自的云計(jì)算技術(shù)理論體系,典型的代表有Google、Microsoft和Amazon,接下來(lái)將逐一進(jìn)行介紹。
a)Google云;計(jì)算平臺(tái)。
Google公司由搜索引擎而著名,但同時(shí)它的郵件服務(wù),地圖服務(wù)等其他的應(yīng)用也很受大眾的歡迎。這全得益于Google云計(jì)算技術(shù)。Google云計(jì)算技術(shù)大致主要包含三個(gè)內(nèi)容Google文件系統(tǒng),MapReduce框架和BigTable數(shù)據(jù)存儲(chǔ)系統(tǒng)。
在計(jì)算機(jī)技術(shù)高度發(fā)達(dá)的今天,Google以一種特別另類(lèi)的方式構(gòu)建了它們高性能的云計(jì)算系統(tǒng)。Google云物理設(shè)備只是將許多普通計(jì)算機(jī)形成一個(gè)集群的方式構(gòu)建而成,相比于其他的互聯(lián)網(wǎng)公司采用一些高性能服務(wù)器的方式,Google公司在減少設(shè)備開(kāi)銷(xiāo)的同時(shí),也獲得了良好的服務(wù)陛能,而且Google在可擴(kuò)展|生方面更加的具有彈性。Google文件系統(tǒng)Google之件系統(tǒng)簡(jiǎn)稱為GFS.GFS是Google