周劍,張明新
(常熟理工學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇常熟 215000)
云計(jì)算平臺(tái)即服務(wù)PaaS架構(gòu)研究與設(shè)計(jì)
周劍,張明新
(常熟理工學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇常熟 215000)
云計(jì)算是當(dāng)前信息技術(shù)研究的重要領(lǐng)域,平臺(tái)即服務(wù)(PaaS)已經(jīng)成為業(yè)界探討云計(jì)算的熱點(diǎn)之一.但是平臺(tái)服務(wù)的功能組成和體系架構(gòu)還沒(méi)有定論.本文通過(guò)對(duì)平臺(tái)即服務(wù)最新技術(shù)發(fā)展的研究,結(jié)合對(duì)國(guó)內(nèi)外著名公司的PaaS產(chǎn)品的分析,綜合討論了平臺(tái)服務(wù)的作用和定位,提出一種平臺(tái)即服務(wù)的參考架構(gòu),對(duì)參考模型各個(gè)模塊的功能進(jìn)行了概要設(shè)計(jì)說(shuō)明.為平臺(tái)即服務(wù)的普及和發(fā)展提供一個(gè)參考架構(gòu)模型.
云計(jì)算;平臺(tái)即服務(wù);資源池;服務(wù)
云計(jì)算中討論的服務(wù)包括基礎(chǔ)設(shè)施即服務(wù)(IaaS),平臺(tái)即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)三個(gè)層次的服務(wù).平臺(tái)即服務(wù)(PaaS)是云計(jì)算的重要組成部分,提供了面向開(kāi)發(fā)者用于集成到他們應(yīng)用中的平臺(tái)服務(wù),通過(guò)PaaS平臺(tái)能夠顯著提供開(kāi)發(fā)者的效率,開(kāi)發(fā)出豐富的應(yīng)用,這種模式被認(rèn)為是云計(jì)算的主要趨勢(shì)之一.但是從目前來(lái)看,云計(jì)算在國(guó)內(nèi)外的發(fā)展不太均衡,云計(jì)算的產(chǎn)品和案例主要集中在SaaS層和IaaS層兩端的較多,涉及到PaaS層的較少.
目前,主要的幾個(gè)IT廠商和電信運(yùn)營(yíng)商都從各自立場(chǎng)提出了PaaS層的框架模型.但是,目前平臺(tái)即服務(wù)(PaaS)還沒(méi)有一個(gè)成熟的標(biāo)準(zhǔn),業(yè)界對(duì)其定義和描述也不盡相同.本文在分析目前國(guó)內(nèi)外著名公司的PaaS產(chǎn)品架構(gòu)的基礎(chǔ)上,結(jié)合PaaS平臺(tái)的作用和定位,最后提出了一種平臺(tái)即服務(wù)的參考架構(gòu),并對(duì)參考模型的各個(gè)模塊的功能進(jìn)行了概要設(shè)計(jì).為平臺(tái)即服務(wù)(PaaS)平臺(tái)的普及和發(fā)展提供一個(gè)參考的架構(gòu)模型.
云計(jì)算是當(dāng)前信息技術(shù)研究的重要領(lǐng)域,廣義云計(jì)算指服務(wù)的交付和使用模式,通過(guò)網(wǎng)絡(luò)以按需、易擴(kuò)展的方式獲得所需服務(wù).云計(jì)算中討論的服務(wù)包括三個(gè)層次的服務(wù).IaaS層解決了業(yè)務(wù)應(yīng)用和物理硬件設(shè)施之間的解耦,目前已經(jīng)有成熟的產(chǎn)品和廣泛的案例,IaaS的作用定位和技術(shù)架構(gòu)也已經(jīng)非常成熟.SaaS層是基于互聯(lián)網(wǎng)提供軟件服務(wù)的軟件應(yīng)用模式,經(jīng)過(guò)短短幾年的發(fā)展,SaaS應(yīng)用已經(jīng)具備了一定的規(guī)模,技術(shù)和產(chǎn)品都逐漸成熟和穩(wěn)定.
PaaS層需要解決應(yīng)用開(kāi)發(fā)平臺(tái)和應(yīng)用運(yùn)行平臺(tái),通過(guò)集成企業(yè)內(nèi)部和外部的基礎(chǔ)公共服務(wù),可以快速高效地開(kāi)發(fā)企業(yè)級(jí)應(yīng)用.主流的IT硬件廠商、互聯(lián)網(wǎng)企業(yè)、SaaS軟件商、電信設(shè)備廠商和運(yùn)營(yíng)商等都從各自立場(chǎng)提出了PaaS層的框架模型.
通過(guò)對(duì)現(xiàn)有PaaS平臺(tái)的調(diào)查和分析,目前主要有四類PaaS廠商:SaaS層演進(jìn)型、IaaS層演進(jìn)型、企業(yè)能力開(kāi)放平臺(tái)型、企業(yè)級(jí)應(yīng)用開(kāi)發(fā)平臺(tái)型.PaaS平臺(tái)分類示意圖見(jiàn)圖1.
下面對(duì)四類PaaS平臺(tái)產(chǎn)品進(jìn)行分析,簡(jiǎn)要介紹典型廠商的PaaS產(chǎn)品.
2.1 SaaS層演進(jìn)型PaaS平臺(tái)
隨著SaaS的快速發(fā)展,最迫切的問(wèn)題是要引入一個(gè)完整的應(yīng)用開(kāi)發(fā)平臺(tái),該平臺(tái)能夠支持各行業(yè)、各企業(yè)、各業(yè)務(wù)模式的各種應(yīng)用要求.平臺(tái)即服務(wù)(PaaS)的延伸模式應(yīng)運(yùn)而生,它擴(kuò)展了按需服務(wù),并實(shí)現(xiàn)了客戶可根據(jù)需要自定制應(yīng)用程序,成為改變應(yīng)用程序開(kāi)發(fā)的一個(gè)途徑,延續(xù)SaaS繼續(xù)對(duì)應(yīng)用程序交付方式進(jìn)行著變革[1].
八百客是SaaS(軟件即服務(wù))市場(chǎng)和技術(shù)領(lǐng)導(dǎo)者,是中國(guó)首家提供大型企業(yè)級(jí)CRM(客戶關(guān)系管理)的托管商.八百客PaaS平臺(tái)于2006年發(fā)布,使用者可直接在互聯(lián)網(wǎng)上創(chuàng)建和運(yùn)行新的應(yīng)用程序而無(wú)需安裝任何輔助軟件,并將企業(yè)應(yīng)用拓展,能夠支持所有類型的業(yè)務(wù),業(yè)務(wù)所有環(huán)節(jié)的應(yīng)用.而且800PaaS平臺(tái)使用者可直接利用800APP.CRM后臺(tái)的核心技術(shù)來(lái)開(kāi)發(fā)應(yīng)用程序.
Salesforce是目前世界上最成功的在線CRM解決方案提供商,從2007年開(kāi)始將用于SaaS的系統(tǒng)架構(gòu)對(duì)外公開(kāi),用Force.com這個(gè)名稱進(jìn)入PaaS業(yè)務(wù).他所提供的PaaS服務(wù)里采用Java類似的語(yǔ)言Apex以及Eclipse開(kāi)發(fā)平臺(tái),直觀的拖放設(shè)計(jì)加快了開(kāi)發(fā)速度,API則使連接其他應(yīng)用程序變得輕而易舉.每個(gè)應(yīng)用程序都具有內(nèi)置的社交和移動(dòng)功能.
2.2 IaaS層演進(jìn)型PaaS平臺(tái)
隨著IaaS的快速發(fā)展,很多企業(yè)都建設(shè)了公有云和私有云,解決了計(jì)算能力、存儲(chǔ)能力、網(wǎng)絡(luò)能力等基礎(chǔ)設(shè)施的虛擬化問(wèn)題.國(guó)外的Google、Amazon,國(guó)內(nèi)的新浪、盛大、百度、淘寶等公司都相繼建立了公有云計(jì)算平臺(tái).這些公有云平臺(tái)提供了一系列分布式計(jì)算、存儲(chǔ)服務(wù)供開(kāi)發(fā)者使用,這些服務(wù)大大地降低了開(kāi)發(fā)者的開(kāi)發(fā)成本.
Amazon公司把最初為了自己公司運(yùn)營(yíng)用的構(gòu)筑起來(lái)的系統(tǒng)平臺(tái)進(jìn)行出租,用戶可以自由選擇操作系統(tǒng)和中間軟件,以這樣的方式提供硬件以及軟件平臺(tái)作為服務(wù).從2006年開(kāi)始,Amazon EC2和Amazon S3開(kāi)始作為服務(wù)推向市場(chǎng).Amazon的PaaS服務(wù)為用戶的自由組合提供了更多的自由度[3].
Google以搜索引擎以及新的廣告模式而聞名.2008年4月發(fā)表了PaaS服務(wù)Google App Engine.客戶的網(wǎng)絡(luò)應(yīng)用程序能夠在Google的基礎(chǔ)架構(gòu)上運(yùn)行.使用Google App Engine將不再需要維護(hù)服務(wù)器,同時(shí)Google App Engine應(yīng)用程序易于構(gòu)建和維護(hù),并可根據(jù)您的訪問(wèn)量和數(shù)據(jù)存儲(chǔ)需要的增長(zhǎng)輕松擴(kuò)展[3].
新浪SAE(Sina App Engine)是國(guó)內(nèi)非常成功的公有云計(jì)算平臺(tái).SAE提供了一系列分布式計(jì)算、存儲(chǔ)服務(wù)供開(kāi)發(fā)者使用,同時(shí)SAE提供高可靠性和新浪的品牌保證,大大降低了開(kāi)發(fā)者的運(yùn)營(yíng)風(fēng)險(xiǎn).另外,作為典型的云計(jì)算平臺(tái),SAE采用“所付即所用,所付僅所用”的計(jì)費(fèi)理念,通過(guò)日志和統(tǒng)計(jì)中心精確計(jì)算每個(gè)應(yīng)用的資源消耗(包括CPU、內(nèi)存、磁盤等)[4].
從Amazon EC2、Google GAP和新浪SAE提供的功能來(lái)看,PaaS平臺(tái)和IaaS層提供的服務(wù)差異較大. IaaS層提供的是虛擬化的硬件設(shè)備,使用者得到的也是虛擬化設(shè)備的使用權(quán);而PaaS平臺(tái)面向的服務(wù),使用者得到的是服務(wù)的使用權(quán).
圖1 PaaS平臺(tái)分類
從上面四個(gè)類型的PaaS平臺(tái)分析可以看出,PaaS層作為云計(jì)算中重要的組成部分,它解決的是業(yè)務(wù)應(yīng)用和業(yè)務(wù)平臺(tái)解耦的問(wèn)題,即業(yè)務(wù)平臺(tái)能力的資源池化.但是,不同的廠商提出的PaaS平臺(tái)架構(gòu)模型差異較大,各有特色,都能夠解決應(yīng)用快速開(kāi)發(fā)的問(wèn)題,目前業(yè)界對(duì)PaaS平臺(tái)還沒(méi)有統(tǒng)一的架構(gòu)參考模型.
從業(yè)界對(duì)平臺(tái)即服務(wù)PaaS的定位來(lái)看,它主要是解決業(yè)務(wù)應(yīng)用和業(yè)務(wù)平臺(tái)解耦的問(wèn)題,即業(yè)務(wù)平臺(tái)能力的資源池化.在這個(gè)云化的過(guò)程中,一方面是我們常說(shuō)的數(shù)據(jù)庫(kù)即服務(wù),中間件即服務(wù),快速高效使用虛擬化資源;另外一個(gè)方面是我們一直強(qiáng)調(diào)的屬于各個(gè)應(yīng)用系統(tǒng)中平臺(tái)層能力的下沉,即形成企業(yè)內(nèi)部面向企業(yè)多個(gè)應(yīng)用的平臺(tái)層能力.這些能力包括了流程引擎、規(guī)則引擎、組織權(quán)限、主數(shù)據(jù)中心等多個(gè)方面的內(nèi)容.
PaaS平臺(tái)的作用不僅僅是產(chǎn)生和提供可復(fù)用的能力,對(duì)于PaaS平臺(tái)我們更加強(qiáng)調(diào)的是業(yè)務(wù)系統(tǒng)完全可以在這個(gè)平臺(tái)的基礎(chǔ)上開(kāi)發(fā)業(yè)務(wù)組件和業(yè)務(wù)應(yīng)用.PaaS平臺(tái)提供了通用的數(shù)據(jù)庫(kù)服務(wù),中間件服務(wù),業(yè)務(wù)服務(wù)和技術(shù)服務(wù),PaaS平臺(tái)本身遵循標(biāo)準(zhǔn)的開(kāi)發(fā)框架和開(kāi)發(fā)方法,可以滿足在PaaS平臺(tái)上開(kāi)發(fā)的應(yīng)用完全可以進(jìn)行自動(dòng)部署和應(yīng)用托管.
4.1 總體架構(gòu)參考模型
根據(jù)前面對(duì)平臺(tái)即服務(wù)(PaaS)發(fā)展現(xiàn)狀的調(diào)研,結(jié)合對(duì)國(guó)內(nèi)外各PaaS廠商產(chǎn)品的深入分析,對(duì)企業(yè)內(nèi)部私有云和PaaS平臺(tái)總體架構(gòu)進(jìn)行整理,初步考慮PaaS平臺(tái)總體架構(gòu)如圖2所示.
PaaS平臺(tái)總體架構(gòu)包括企業(yè)內(nèi)公共服務(wù)、互聯(lián)網(wǎng)公共服務(wù)、基礎(chǔ)平臺(tái)、IaaS虛擬資源適配等模塊組成.
4.2 IaaS虛擬資源適配器功能設(shè)計(jì)
IaaS層實(shí)現(xiàn)了業(yè)務(wù)應(yīng)用和物理資源的解耦,提供了虛擬化的資源池,但是不負(fù)責(zé)資源池里面的資源調(diào)度和分配.IaaS虛擬資源適配器模塊的作用是實(shí)現(xiàn)動(dòng)態(tài)調(diào)度和分配資源,提供支持托管的開(kāi)發(fā)框架和環(huán)境,提供自動(dòng)部署功能.通過(guò)動(dòng)態(tài)調(diào)度和應(yīng)用托管,業(yè)務(wù)應(yīng)用能夠靈活地去調(diào)度IaaS資源池中的資源.
IaaS虛擬資源適配器是PaaS平臺(tái)的核心模塊,它能夠屏蔽IaaS層的技術(shù)差異性,降低業(yè)務(wù)應(yīng)用編程的復(fù)雜度,從而提高業(yè)務(wù)應(yīng)用開(kāi)發(fā)的效率和質(zhì)量.
4.3 PaaS平臺(tái)基礎(chǔ)平臺(tái)功能概要設(shè)計(jì)
基礎(chǔ)平臺(tái)又可以細(xì)分為應(yīng)用開(kāi)發(fā)平臺(tái)、應(yīng)用運(yùn)行平臺(tái)、數(shù)據(jù)庫(kù)即服務(wù)、服務(wù)集成平臺(tái)、應(yīng)用中間件平臺(tái)、流程服務(wù)平臺(tái)等模塊.
應(yīng)用開(kāi)發(fā)平臺(tái)的核心是提供一套集成的應(yīng)用開(kāi)發(fā)平臺(tái),提供集成的應(yīng)用開(kāi)發(fā)框架和環(huán)境、集成的PaaS底層技術(shù)能力,提供標(biāo)準(zhǔn)的技術(shù)服務(wù)(如日志、異常、國(guó)際化、安全、規(guī)則、緩存等).
數(shù)據(jù)庫(kù)即服務(wù)模塊需要提供對(duì)底層數(shù)據(jù)庫(kù)的統(tǒng)一封裝,提供公共的數(shù)據(jù)訪問(wèn)接口,提供數(shù)據(jù)庫(kù)資源池和數(shù)據(jù)庫(kù)水平擴(kuò)展能力,支持分布式數(shù)據(jù)庫(kù),支持非關(guān)系型數(shù)據(jù)庫(kù),支持?jǐn)?shù)據(jù)庫(kù)本身的多租戶.
服務(wù)集成平臺(tái)模塊包括數(shù)據(jù)集成和應(yīng)用集成多方面的內(nèi)容,數(shù)據(jù)集成包括了ETL、ODI等,應(yīng)用集成重點(diǎn)是ESB企業(yè)服務(wù)總線,實(shí)現(xiàn)企業(yè)業(yè)務(wù)服務(wù)的集成,統(tǒng)一的服務(wù)目錄的提供等功能.
應(yīng)用運(yùn)行平臺(tái)模塊提供平臺(tái)資源的運(yùn)營(yíng)管理,包括資源的申請(qǐng)、資源的使用、資源的回收、資源的調(diào)度、資源的監(jiān)控等.應(yīng)用中間件平臺(tái)包括傳統(tǒng)的Weblogic、Jboss、Websphere、Tomcat、IIS等,中間件平臺(tái)的重點(diǎn)是形成中間件資源池和應(yīng)用托管容器,這即是可以管理和調(diào)度的計(jì)算資源和計(jì)算單元.
圖2 PaaS平臺(tái)總體架構(gòu)圖
流程服務(wù)平臺(tái)是更高層次的集成,包括了BPEL、HWF和BPM業(yè)務(wù)流程管理.流程即服務(wù)提供了流程建模、流程設(shè)計(jì)、流程執(zhí)行、流程監(jiān)控、流程分析的端到端流程管理能力.通過(guò)統(tǒng)一流程平臺(tái)的方式支持各個(gè)業(yè)務(wù)系統(tǒng)實(shí)現(xiàn)業(yè)務(wù)流程管理功能.
從上述功能設(shè)計(jì)中可以清楚地看到“企業(yè)級(jí)應(yīng)用開(kāi)發(fā)平臺(tái)型PaaS平臺(tái)”包含在PaaS平臺(tái)基礎(chǔ)平臺(tái)模塊中.“SaaS層演進(jìn)型PaaS平臺(tái)”一部分也包含在基礎(chǔ)平臺(tái)模塊中,本文設(shè)計(jì)的參考模型中賦予PaaS平臺(tái)的基礎(chǔ)平臺(tái)模塊更多的職責(zé).
云計(jì)算技術(shù)方興未艾,平臺(tái)即服務(wù)(PaaS)的發(fā)展也非常迅速.本文在分析目前國(guó)內(nèi)外著名公司的PaaS產(chǎn)品架構(gòu)的基礎(chǔ)上,結(jié)合PaaS平臺(tái)的作用和定位,提出了一種平臺(tái)即服務(wù)的參考架構(gòu),并對(duì)參考模型的各個(gè)模塊的功能進(jìn)行分析.提出的PaaS平臺(tái)總體架構(gòu)為平臺(tái)即服務(wù)(PaaS)的普及和發(fā)展提供了一個(gè)可以借鑒的架構(gòu)模型.
[1]劉鵬.云計(jì)算[M].北京:電子工業(yè)出版社,2011:213-215.
[2]方國(guó)偉.詳解微軟W indows Azure云計(jì)算平臺(tái)[M].北京:電子工業(yè)出版社,2011:114-116.
[3]吳朱華.云計(jì)算核心技術(shù)剖析[M].北京:人民郵電出版社,2011:96-101.
[4]張光衛(wèi),何銳,劉禹,等.基于云模型的進(jìn)化算法[J].計(jì)算機(jī)學(xué)報(bào),2008(07):31-35.
[5]房秉毅,張?jiān)朴?,陳清?云計(jì)算環(huán)境下統(tǒng)一SaaS平臺(tái)[J].電信網(wǎng)技術(shù),2011(05):33-36.
[6]周相兵,佘堃,馬洪江,等.一種基于云計(jì)算的SaaS組裝方法研究[J].小型微型計(jì)算機(jī)系統(tǒng),2010(10):30-34.
An Architecture Research and Design of Platform as a Service (PaaS) of Cloud Computing
ZHOU Jian,ZHANGMing-Xin
(School of Computer Science and Engineering,Changshu Institute of Technology,Changshu 215000,China)
Cloud computing is an important area of the current IT research,and Platform as a Service(PaaS)has become one of the hotspots of it in the industry.The role and positioning of Platform as a Service(PaaS)has been clear.However,the function,component and architecture of PaaS have not been defined yet.Through the research on the latest technology and development of PaaS and combined with the analysis of PaaS products at well-known companies both at home and abroad,the role and positioning of PaaS has been generally discussed. Moreover,a referenced architecture of Platform as a Service(PaaS)has been put forward with general design specification of the function of each module,which provides reference for the popularization and development of Platform as a Service(PaaS).
cloud computing;PaaS;resources pool;service
TP39
A
1008-2794(2012)08-0085-04
2012-04-16
周劍(1981—),男,湖南婁底人,講師,碩士,研究方向:云計(jì)算、并行計(jì)算、數(shù)據(jù)庫(kù)及系統(tǒng)集成.
張明新(1962—),男,山西偏關(guān)人,教授,博士生導(dǎo)師,研究方向:云計(jì)算、數(shù)據(jù)庫(kù)及系統(tǒng)集成、智能信息處理.