摘要:云計(jì)算是繼網(wǎng)格計(jì)算之后興起的新型分布式計(jì)算模型,它為商業(yè)應(yīng)用提供了一種新的模式。文章簡(jiǎn)述了云計(jì)算的定義、體系結(jié)構(gòu)、發(fā)展現(xiàn)狀,分析了當(dāng)前云計(jì)算中存在的問題和云計(jì)算的發(fā)展趨勢(shì)。
關(guān)鍵詞:云計(jì)算 云服務(wù) 虛擬化
0 引言
隨著計(jì)算機(jī)在人們生產(chǎn)生活中的廣泛應(yīng)用,人們對(duì)計(jì)算能力的要求越來越高,迫使計(jì)算機(jī)的存儲(chǔ)容量和運(yùn)算速度不斷地提高。雖然現(xiàn)有的機(jī)架式和刀片服務(wù)器可以解決高性能計(jì)算的問題,但是它主要針對(duì)大型客戶,并且造價(jià)昂貴,所以其適用范圍有限;網(wǎng)格計(jì)算提供了一種造價(jià)低廉且數(shù)據(jù)處理能力較強(qiáng)的計(jì)算模型,但網(wǎng)格計(jì)算是專門針對(duì)復(fù)雜科學(xué)計(jì)算的計(jì)算模型[1],因此網(wǎng)格計(jì)算通用性不是很強(qiáng)。由于以上原因,使高性能服務(wù)器和網(wǎng)格計(jì)算這兩種方法都不能作為廣泛適用且廉價(jià)的高性能計(jì)算的獲取途徑。云計(jì)算的興起為以上問題提供了解決方法,云計(jì)算可以給所有用戶提供隨時(shí)隨地按需獲取的存儲(chǔ)空間和計(jì)算能力。
云計(jì)算是繼網(wǎng)格計(jì)算之后興起的新型分布式計(jì)算模型,它利用分布式技術(shù)建造大型數(shù)據(jù)中心或者超級(jí)計(jì)算機(jī),并將這些數(shù)據(jù)中心和超級(jí)計(jì)算機(jī)中的所有軟硬件資源虛擬化以服務(wù)的形式放在遠(yuǎn)程服務(wù)器上,形成云服務(wù),用戶以免費(fèi)或者按需租用的方式獲取服務(wù),這些由云營(yíng)商提供的云服務(wù)就像天邊的云彩,用戶在需要使用時(shí)把它拿來用,平常就放在云上,資源和服務(wù)的管理由服務(wù)的提供商負(fù)責(zé)。在這種模式下,所有用戶不用考慮任何軟硬件的配置和維護(hù)問題,用戶端只需用瀏覽器和網(wǎng)絡(luò),就可以隨時(shí)隨地按需使用云計(jì)算提供的各種應(yīng)用軟件、超級(jí)計(jì)算能力、海量存儲(chǔ)空間,這樣就降低了用戶配置軟硬件的費(fèi)用,提高了用戶使用軟硬件資源的靈活性、廣泛性。云計(jì)算的興起為商業(yè)應(yīng)用提供了一種新的模式,已經(jīng)成為一個(gè)新的研究熱點(diǎn)。
1 云計(jì)算定義
1.1 云計(jì)算定義
云計(jì)算現(xiàn)在還沒有統(tǒng)一的定義,各個(gè)公司根據(jù)所處的領(lǐng)域提出了不同的云計(jì)算概念,下面給出幾個(gè)典型的定義。
ibm云計(jì)算的定義:云計(jì)算是一個(gè)虛擬化的計(jì)算機(jī)資源池。它可以托管多種不同的工作負(fù)載,包括成批的后端作業(yè)和面向用戶的交互式應(yīng)用程序;通過快速提供虛擬機(jī)器或物理機(jī)器,迅速部署和增加工作負(fù)載;支持冗余、自我恢復(fù)且具有高可擴(kuò)展性的編程模型,以使工作負(fù)載能夠從多種不可避免的硬件軟件故障中進(jìn)行恢復(fù);實(shí)時(shí)監(jiān)控資源使用情況,在需要時(shí)重新平衡資源分配[2]。
維基百科定義:云計(jì)算是分布式計(jì)算技術(shù)的一種,其最基本的概念,是通過網(wǎng)絡(luò)將龐大的計(jì)算處理程序自動(dòng)分拆成無數(shù)個(gè)較小的子程序,再交由多部服務(wù)器所組成的龐大系統(tǒng)經(jīng)搜尋、計(jì)算分析之后將處理結(jié)果回傳給用戶。過這項(xiàng)技術(shù),網(wǎng)絡(luò)服務(wù)提供者可以在數(shù)秒之內(nèi),達(dá)成處理數(shù)以千萬計(jì)甚至以億計(jì)的信息,達(dá)到和“超級(jí)計(jì)算機(jī)”同樣強(qiáng)大效能的網(wǎng)絡(luò)服務(wù)[3]。
google認(rèn)為云計(jì)算就是軟件服務(wù),amazon認(rèn)為云計(jì)算就是平臺(tái)服務(wù),微軟認(rèn)為云計(jì)算是軟件和服務(wù)。
綜上云計(jì)算的定義,可知云計(jì)算是分布式計(jì)算、并行計(jì)算和網(wǎng)格計(jì)算的發(fā)展,或者說是這些計(jì)算機(jī)科學(xué)概念的商業(yè)實(shí)現(xiàn),它是把計(jì)算機(jī)資源虛擬化成具有層次的計(jì)算機(jī)資源池,并將這些資源按層以服務(wù)的形式提供給用戶,用戶不用關(guān)心計(jì)算機(jī)資源的具體情況,只需按需獲取服務(wù)。
1.2 云計(jì)算與網(wǎng)格計(jì)算的異同
云計(jì)算和網(wǎng)格計(jì)算既有相似點(diǎn),又相互有區(qū)別。
云計(jì)算和網(wǎng)格計(jì)算的相同點(diǎn):從云計(jì)算和網(wǎng)格的定義上看二者都是將各種資源看成一個(gè)虛擬的資源池,然后向外提供服務(wù);從發(fā)展上來看兩者都是分布式計(jì)算的進(jìn)一步發(fā)展,都為試圖為用戶提供高性能的計(jì)算能力,都是要提高計(jì)算機(jī)資源的使用效率,降低用戶成本。
云計(jì)算和網(wǎng)格計(jì)算區(qū)別:從定義上看云計(jì)算允許用戶通過互聯(lián)網(wǎng)訪問云計(jì)算提供的各種計(jì)算機(jī)資源,狹義網(wǎng)格只向用戶提供高性能計(jì)算能力;從發(fā)展上來看云計(jì)算是網(wǎng)格計(jì)算的進(jìn)一步發(fā)展,云計(jì)算既可以支持網(wǎng)格程序又可以支持非網(wǎng)格程序;從用戶的角度來看云計(jì)算可以滿足所有用戶對(duì)計(jì)算能力的需求,網(wǎng)格計(jì)算主要針對(duì)科學(xué)計(jì)算支持的用戶需求范圍有限;從資源的分配方式來看云計(jì)算是所有資源作為一個(gè)整體進(jìn)行統(tǒng)一分配,實(shí)現(xiàn)資源的自動(dòng)分配,網(wǎng)格在分配資源時(shí)只能以節(jié)點(diǎn)為單位分配;從目標(biāo)上看云計(jì)算把計(jì)算看作一種公共事業(yè),網(wǎng)格將分布在不同地理位置的計(jì)算機(jī)連接起來解決一個(gè)共同的問題。
2 云計(jì)算體系結(jié)構(gòu)
云計(jì)算由云和云端兩個(gè)部分構(gòu)成,聚集資源和服務(wù)構(gòu)成云,云端即用戶端。云中包含大量的計(jì)算資源、存儲(chǔ)資源、軟件資源和服務(wù),所有能夠使用網(wǎng)絡(luò)的用戶都可以通過internet使用云提供的各種資源和服務(wù)?蛻舳瞬辉傩枰渲冒嘿F的硬件設(shè)備,不再需要購(gòu)買和安裝大量的應(yīng)用軟件,僅僅在需要時(shí)從云中免費(fèi)或者租用相應(yīng)的服務(wù),這樣就簡(jiǎn)化了客戶端的應(yīng)用復(fù)雜性,降低了客戶端的成本。云計(jì)算體系結(jié)構(gòu)如圖1所示,依據(jù)云計(jì)算提供的服務(wù)所在的層次將云計(jì)算可分為基礎(chǔ)設(shè)施服務(wù)(infrastructure-as-a-service,iaas)、平臺(tái)服務(wù)(platform-as-a-s
ervice,paas)、應(yīng)用程序服務(wù)(software-as-a-service,saas),數(shù)據(jù)存儲(chǔ)服務(wù)(data-storage-as-a-service,dsaas)。
2.1 虛擬層 這一層通過虛擬化計(jì)算資源、存儲(chǔ)資源和軟件資源給上層應(yīng)用提供統(tǒng)一訪問接口,提高上層使用的敏捷性和靈活性,它不需要上層應(yīng)用詳細(xì)了解基礎(chǔ)物理資源,同時(shí)為上層提供了一個(gè)優(yōu)勢(shì)分享、可管理和隔離的云環(huán)境。
2.2 數(shù)據(jù)存儲(chǔ)服務(wù)層 其作用是將存儲(chǔ)作為一項(xiàng)服務(wù),為互操作和外部應(yīng)用程序提供一個(gè)統(tǒng)一的編程接口。
2.3 基礎(chǔ)設(shè)施服務(wù)層 這一層是將基礎(chǔ)設(shè)作為服務(wù)出租,只向用戶提供虛擬計(jì)算機(jī),而沒有應(yīng)用軟件棧。它具有在有特定服務(wù)質(zhì)量約束的情況下提供計(jì)算能力或者數(shù)據(jù)存儲(chǔ)能力,并能執(zhí)行任意類型的操作系統(tǒng)和應(yīng)用軟件。用戶能夠從虛擬計(jì)算機(jī)中獲取滿足要求的計(jì)算能力,開發(fā)型用戶可以在基礎(chǔ)設(shè)施層上開發(fā)云計(jì)算應(yīng)用程序。
2.4 平臺(tái)服務(wù)層 類似于基礎(chǔ)設(shè)施服務(wù),但是它包括操作系統(tǒng)和圍繞特定應(yīng)用的必需的服務(wù),即平臺(tái)服務(wù)層是在基礎(chǔ)設(shè)施服務(wù)層上加了一個(gè)用于定制的軟件棧。平臺(tái)服務(wù)層也可描述為一個(gè)有特定的操作系統(tǒng)和應(yīng)用程序集的虛擬平臺(tái),它包括一個(gè)或多個(gè)在一組物理服務(wù)器上虛擬而成的服務(wù)器、操作系統(tǒng)以及特定的應(yīng)用程序。
2.5 軟件服務(wù)層 這一層通過瀏覽器把應(yīng)用程序服務(wù)提供給所有的用戶。從用戶的角度看來,這樣可以降低或者省去配置高級(jí)服務(wù)器和購(gòu)買軟件的費(fèi)用,從供應(yīng)商的角度看,這種模式只需要在云計(jì)算中維持一個(gè)程序就可以滿足所有用戶使用這個(gè)軟件。利用軟件服務(wù),用戶就沒有必要購(gòu)買軟件,只需按照自己的需要從internet上租用軟件。軟件服務(wù)提供兩種應(yīng)用方式,一種是提供在internet 上使用遠(yuǎn)程執(zhí)行的軟件,這種軟件既可以是可以本地使用被定義為web服務(wù)的軟件,也可以是通過web瀏覽器遠(yuǎn)程調(diào)用的不可以本地使用的應(yīng)用軟件;另一種是可以在遠(yuǎn)程執(zhí)行應(yīng)用程序,通常需要依賴于一個(gè)應(yīng)用服務(wù)器來公布所提供的服務(wù)。
3 云計(jì)算研究現(xiàn)狀
云計(jì)算是新興的技術(shù),國(guó)外著名的it公司谷歌、ibm 、亞馬遜、微軟、sun 、emc、hp、oracle等都投入巨資進(jìn)行云計(jì)算的研究和產(chǎn)品開發(fā)。目前比較著名的云計(jì)算有:谷歌的云計(jì)算平臺(tái)和云計(jì)算應(yīng)用程序、ibm云計(jì)算、微軟的“軟件+服務(wù)”和亞馬遜的彈性云計(jì)算。與國(guó)外相比,中國(guó)的云計(jì)算發(fā)展速度相對(duì)比較緩慢,現(xiàn)在清華大學(xué)正在與谷歌合作把云計(jì)算課程推廣到國(guó)內(nèi)更多高校,共同推動(dòng)“云計(jì)算”在中國(guó)的普及,國(guó)內(nèi)的it公司正在逐步展開云計(jì)算的研究與產(chǎn)品開發(fā)。
以下是一些研究云計(jì)算的公司:
3.1 谷歌 谷歌從2007年宣布云計(jì)算計(jì)劃開始就和ibm公司合作把美國(guó)的卡內(nèi)基美隆大學(xué)、麻省理工學(xué)院、史丹佛大學(xué)、加州大學(xué)柏克萊分校及馬里蘭大學(xué)等融入到云計(jì)算的研究和開發(fā)中,并于2008年1月在臺(tái)灣啟動(dòng)了“云計(jì)算學(xué)術(shù)計(jì)劃”,谷歌現(xiàn)在正互聯(lián)網(wǎng)上宣傳和推廣其云計(jì)算產(chǎn)品。谷歌是最早提出云計(jì)算的公司,也是云計(jì)算研究最活躍的公司之一。谷歌現(xiàn)有兩個(gè)最典型的云計(jì)算應(yīng)用,一個(gè)是云計(jì)算平臺(tái)google app engine。它是一個(gè)專為開發(fā)者而設(shè)計(jì)的服務(wù),開發(fā)者可以將自己編寫的在線應(yīng)用程序運(yùn)行在google的資源上。通過它可以在google的可伸縮性極佳的架構(gòu)上部署web應(yīng)用程序。app engine為可通過internet引用的python應(yīng)用程序提供一個(gè)沙盒。除了支持用戶認(rèn)證、鏡像操作和電子郵件發(fā)送外,app engine 還提供了python api,用于持久地存儲(chǔ)和管理數(shù)據(jù)。web應(yīng)用程序運(yùn)行時(shí)所在的沙盒會(huì)限制對(duì)底層操作系統(tǒng)的訪問,這不會(huì)影響到app engine支持有用的web服務(wù)的構(gòu)造。另一個(gè)是云計(jì)算應(yīng)用程序google apps,它是google推出的在線應(yīng)用服務(wù),中文名稱是企業(yè)應(yīng)用套件,包括字處理、電子文檔處理、gmail郵件服務(wù)、gtalk及時(shí)通訊服務(wù)、語(yǔ)音聊天服務(wù)以及在線日歷服務(wù)等。其功能相當(dāng)于微軟的office辦公軟件,區(qū)別在于微軟的office辦公軟件要每個(gè)用戶都必須在自己的計(jì)算機(jī)上安裝整套軟件,而google apps只需通過一個(gè)標(biāo)準(zhǔn)的web瀏覽器用域名申請(qǐng)注冊(cè)就可以獲取全套服務(wù),這些服務(wù)都是由google托管的,用戶不需要配置安裝任何軟硬件,并且使用費(fèi)用遠(yuǎn)遠(yuǎn)低于自己配置硬件和購(gòu)買軟件授權(quán)的費(fèi)用。
3.2 ibm ibm是最早進(jìn)行云計(jì)算研究和實(shí)施的公司之一, ibm推出“藍(lán)云”(blue cloud)計(jì)劃,它是一系列基于開放標(biāo)準(zhǔn)和開源軟件的云計(jì)算產(chǎn)品,能夠把計(jì)算機(jī)連接起來提供如:mashups、開放協(xié)作、社會(huì)網(wǎng)絡(luò)和移動(dòng)商務(wù)等 web2.0 應(yīng)用。2008年5月,ibm建立在無錫科教產(chǎn)業(yè)園第一個(gè)云計(jì)算中心開始運(yùn)營(yíng),該中心將為中國(guó)新興軟件公司提供接入一個(gè)虛擬計(jì)算環(huán)境的能力,使其利用分配的資源來設(shè)計(jì)、開發(fā)和測(cè)試軟件產(chǎn)品。2008年8月ibm投資3.6億美元在美國(guó)北卡羅來納州建立云計(jì)算數(shù)據(jù)中心,ibm將該數(shù)據(jù)中心稱為史上最復(fù)雜的數(shù)據(jù)中心,其數(shù)據(jù)中心的體系結(jié)構(gòu)由基礎(chǔ)設(shè)施、管理平臺(tái)、虛擬機(jī)、應(yīng)用構(gòu)成。這些大型數(shù)據(jù)中心的建成極大的促進(jìn)了云計(jì)算的發(fā)展。
3.3 微軟 微軟公司正在開發(fā)完全脫離桌面的互聯(lián)網(wǎng)操作系統(tǒng),其目的是為了大規(guī)模應(yīng)用云計(jì)算技術(shù)。微軟已經(jīng)發(fā)布了live mesh,它是一個(gè)軟件和服務(wù)相結(jié)合的云計(jì)算平臺(tái),允許用戶同步、共享、存儲(chǔ)和訪問文件和文件夾,并且支持移動(dòng)設(shè)備和網(wǎng)絡(luò)云計(jì)算的項(xiàng)目。live mesh將計(jì)算機(jī)和其它設(shè)備通過互聯(lián)網(wǎng)整合到一起,允許個(gè)人和組織管理、訪問和共享他們的文件和應(yīng)用,無縫整合各種設(shè)備和互聯(lián)網(wǎng)。live mesh包括平臺(tái)、云服務(wù)、軟件和平臺(tái)體驗(yàn),其中平臺(tái)主要明確和構(gòu)建用戶的設(shè)備、數(shù)據(jù)、應(yīng)用和人之間的數(shù)字關(guān)系,開發(fā)者將獲得開放的數(shù)據(jù)模型和協(xié)議;云服務(wù)提供微軟數(shù)據(jù)中心的平臺(tái);軟件允許本地應(yīng)用客戶端離線進(jìn)行云計(jì)算的交互;平臺(tái)體驗(yàn)將用戶設(shè)備、文件和應(yīng)用,以及社會(huì)化圖表通過feed整合在一起。
3.4 亞馬遜 亞馬遜2007年向開發(fā)者開放了名為“彈性計(jì)算機(jī)云”的服務(wù),讓小軟件公司可以按需購(gòu)買亞馬遜數(shù)據(jù)中心的處理能力。其代表產(chǎn)品是amazon elastic compute cloud(ec2)。在ec2中,可以指定一個(gè)特定的虛擬機(jī)器,然后將應(yīng)用程序部署到它上面,或者提供要在服務(wù)器上執(zhí)行的虛擬計(jì)算機(jī)鏡像。根據(jù)計(jì)算時(shí)間、存儲(chǔ)和網(wǎng)絡(luò)帶寬付費(fèi)。eucalyptus (elastic utility computing architecture for linking your programs to useful systems)是加利福尼亞大學(xué)為進(jìn)行云計(jì)算研究而開發(fā)的項(xiàng)目,是amazon ec2的一個(gè)開源實(shí)現(xiàn),它與商業(yè)服務(wù)接口兼容。除了以上典型的云計(jì)算的研究公司和產(chǎn)品以外,其它it公司也在進(jìn)行云計(jì)算的研究和產(chǎn)品開發(fā),限于文章篇幅,不能每個(gè)都詳細(xì)討論,在圖2列出了云計(jì)算各層的主要產(chǎn)品。
另外有一個(gè)值得關(guān)注的云計(jì)算產(chǎn)品是10gen,它是一個(gè)可下載開放源代碼包的云平臺(tái),用戶可以用這個(gè)軟件包創(chuàng)建自己的私有云。10gen是類似于app engine的一個(gè)軟件棧,它提供與app engine類似的功能。通過10gen,可以使用python以及javascript和ruby編程語(yǔ)言開發(fā)應(yīng)用程序。
4 云計(jì)算發(fā)展趨勢(shì)
云計(jì)算是嶄新的技術(shù),是一個(gè)研究的熱點(diǎn),雖然已經(jīng)有了一些云計(jì)算的產(chǎn)品,但是云計(jì)算還處在剛剛起步的階段,還遠(yuǎn)遠(yuǎn)沒有到達(dá)成熟的階段,面臨的主要問是:
4.1 云計(jì)算的安全性 云計(jì)算面臨的安全問題主要包括,用戶遠(yuǎn)程登錄安全、快速數(shù)據(jù)加密、數(shù)據(jù)訪問安全、數(shù)據(jù)傳輸安全都是云計(jì)算研究的方向。
4.2 用戶數(shù)據(jù)保密 隨著云計(jì)算的發(fā)展和應(yīng)用的推廣,將會(huì)有越來越多的用戶使用云計(jì)算,大量用戶的數(shù)據(jù)都保存在數(shù)據(jù)中心,保護(hù)用戶的商業(yè)秘密數(shù)據(jù)和個(gè)人隱私,是云計(jì)算必須解決的問題。
4.3 云計(jì)算標(biāo)準(zhǔn)制定 云計(jì)算剛剛起步,各研究機(jī)構(gòu)和公司對(duì)云計(jì)算的認(rèn)識(shí)和看法都不相同,現(xiàn)在每個(gè)公司都是依據(jù)自己對(duì)運(yùn)計(jì)算的認(rèn)識(shí)設(shè)計(jì)和開發(fā)自己的云計(jì)算產(chǎn)品。沒有統(tǒng)一的標(biāo)準(zhǔn),眾多的云計(jì)算產(chǎn)品將造給用戶造成使用的煩雜、混亂,也會(huì)影響到云計(jì)算的進(jìn)一步發(fā)展。
4.4 云計(jì)算服務(wù)的穩(wěn)定性 硬件故障、軟件故障和網(wǎng)絡(luò)故障都會(huì)造成云計(jì)算系統(tǒng)運(yùn)行不穩(wěn)定,如何檢控和排除云計(jì)算中出現(xiàn)的各種故障是云計(jì)算一個(gè)重要的研究方向。
總之,云計(jì)算被視為計(jì)算機(jī)技術(shù)的下一次革命,它將給現(xiàn)在的工作方式和商業(yè)模式帶來巨大改變。云計(jì)算的發(fā)展很可能改變用戶使用計(jì)算機(jī)的習(xí)慣,未來的個(gè)人計(jì)算機(jī)可能僅僅用作網(wǎng)絡(luò)連接以及使用云計(jì)算服務(wù),那時(shí)網(wǎng)絡(luò)就是計(jì)算機(jī)將成為現(xiàn)實(shí)。云計(jì)算正處在初級(jí)階段,還需要走很長(zhǎng)的路,還需要做很多的研究。
參考文獻(xiàn):
[1]邵黨國(guó).網(wǎng)格數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)及應(yīng)用研究.四川大學(xué),2008-03-06.
[2]cloud computing.greg boss、padma malladi、dennis qu
an等.http://www.ibm.com/developerworks/websphere/zones/hip
ods.
[3]cloud computing. http://en.wikipedia.org/wiki/cloud_comp
uting.
[4]infrastructure as a service. http://en.wikipedia.org/wiki/infrastructure_as_a_service.
[5]platform as a service. http://en.wikipedia.org/wiki/platform_as_a_service.
[6]software as a service. http://en.wikipedia.org/wiki/software_as_a_service.