周劍,張明新
(常熟理工學院計算機科學與工程學院,江蘇常熟 215000)
云計算平臺即服務PaaS架構研究與設計
周劍,張明新
(常熟理工學院計算機科學與工程學院,江蘇常熟 215000)
云計算是當前信息技術研究的重要領域,平臺即服務(PaaS)已經成為業界探討云計算的熱點之一.但是平臺服務的功能組成和體系架構還沒有定論.本文通過對平臺即服務最新技術發展的研究,結合對國內外著名公司的PaaS產品的分析,綜合討論了平臺服務的作用和定位,提出一種平臺即服務的參考架構,對參考模型各個模塊的功能進行了概要設計說明.為平臺即服務的普及和發展提供一個參考架構模型.
云計算;平臺即服務;資源池;服務
云計算中討論的服務包括基礎設施即服務(IaaS),平臺即服務(PaaS)和軟件即服務(SaaS)三個層次的服務.平臺即服務(PaaS)是云計算的重要組成部分,提供了面向開發者用于集成到他們應用中的平臺服務,通過PaaS平臺能夠顯著提供開發者的效率,開發出豐富的應用,這種模式被認為是云計算的主要趨勢之一.但是從目前來看,云計算在國內外的發展不太均衡,云計算的產品和案例主要集中在SaaS層和IaaS層兩端的較多,涉及到PaaS層的較少.
目前,主要的幾個IT廠商和電信運營商都從各自立場提出了PaaS層的框架模型.但是,目前平臺即服務(PaaS)還沒有一個成熟的標準,業界對其定義和描述也不盡相同.本文在分析目前國內外著名公司的PaaS產品架構的基礎上,結合PaaS平臺的作用和定位,最后提出了一種平臺即服務的參考架構,并對參考模型的各個模塊的功能進行了概要設計.為平臺即服務(PaaS)平臺的普及和發展提供一個參考的架構模型.
云計算是當前信息技術研究的重要領域,廣義云計算指服務的交付和使用模式,通過網絡以按需、易擴展的方式獲得所需服務.云計算中討論的服務包括三個層次的服務.IaaS層解決了業務應用和物理硬件設施之間的解耦,目前已經有成熟的產品和廣泛的案例,IaaS的作用定位和技術架構也已經非常成熟.SaaS層是基于互聯網提供軟件服務的軟件應用模式,經過短短幾年的發展,SaaS應用已經具備了一定的規模,技術和產品都逐漸成熟和穩定.
PaaS層需要解決應用開發平臺和應用運行平臺,通過集成企業內部和外部的基礎公共服務,可以快速高效地開發企業級應用.主流的IT硬件廠商、互聯網企業、SaaS軟件商、電信設備廠商和運營商等都從各自立場提出了PaaS層的框架模型.
通過對現有PaaS平臺的調查和分析,目前主要有四類PaaS廠商:SaaS層演進型、IaaS層演進型、企業能力開放平臺型、企業級應用開發平臺型.PaaS平臺分類示意圖見圖1.
下面對四類PaaS平臺產品進行分析,簡要介紹典型廠商的PaaS產品.
2.1 SaaS層演進型PaaS平臺
隨著SaaS的快速發展,最迫切的問題是要引入一個完整的應用開發平臺,該平臺能夠支持各行業、各企業、各業務模式的各種應用要求.平臺即服務(PaaS)的延伸模式應運而生,它擴展了按需服務,并實現了客戶可根據需要自定制應用程序,成為改變應用程序開發的一個途徑,延續SaaS繼續對應用程序交付方式進行著變革[1].
八百客是SaaS(軟件即服務)市場和技術領導者,是中國首家提供大型企業級CRM(客戶關系管理)的托管商.八百客PaaS平臺于2006年發布,使用者可直接在互聯網上創建和運行新的應用程序而無需安裝任何輔助軟件,并將企業應用拓展,能夠支持所有類型的業務,業務所有環節的應用.而且800PaaS平臺使用者可直接利用800APP.CRM后臺的核心技術來開發應用程序.
Salesforce是目前世界上最成功的在線CRM解決方案提供商,從2007年開始將用于SaaS的系統架構對外公開,用Force.com這個名稱進入PaaS業務.他所提供的PaaS服務里采用Java類似的語言Apex以及Eclipse開發平臺,直觀的拖放設計加快了開發速度,API則使連接其他應用程序變得輕而易舉.每個應用程序都具有內置的社交和移動功能.
2.2 IaaS層演進型PaaS平臺
隨著IaaS的快速發展,很多企業都建設了公有云和私有云,解決了計算能力、存儲能力、網絡能力等基礎設施的虛擬化問題.國外的Google、Amazon,國內的新浪、盛大、百度、淘寶等公司都相繼建立了公有云計算平臺.這些公有云平臺提供了一系列分布式計算、存儲服務供開發者使用,這些服務大大地降低了開發者的開發成本.
Amazon公司把最初為了自己公司運營用的構筑起來的系統平臺進行出租,用戶可以自由選擇操作系統和中間軟件,以這樣的方式提供硬件以及軟件平臺作為服務.從2006年開始,Amazon EC2和Amazon S3開始作為服務推向市場.Amazon的PaaS服務為用戶的自由組合提供了更多的自由度[3].
Google以搜索引擎以及新的廣告模式而聞名.2008年4月發表了PaaS服務Google App Engine.客戶的網絡應用程序能夠在Google的基礎架構上運行.使用Google App Engine將不再需要維護服務器,同時Google App Engine應用程序易于構建和維護,并可根據您的訪問量和數據存儲需要的增長輕松擴展[3].
新浪SAE(Sina App Engine)是國內非常成功的公有云計算平臺.SAE提供了一系列分布式計算、存儲服務供開發者使用,同時SAE提供高可靠性和新浪的品牌保證,大大降低了開發者的運營風險.另外,作為典型的云計算平臺,SAE采用“所付即所用,所付僅所用”的計費理念,通過日志和統計中心精確計算每個應用的資源消耗(包括CPU、內存、磁盤等)[4].
從Amazon EC2、Google GAP和新浪SAE提供的功能來看,PaaS平臺和IaaS層提供的服務差異較大. IaaS層提供的是虛擬化的硬件設備,使用者得到的也是虛擬化設備的使用權;而PaaS平臺面向的服務,使用者得到的是服務的使用權.

圖1 PaaS平臺分類
從上面四個類型的PaaS平臺分析可以看出,PaaS層作為云計算中重要的組成部分,它解決的是業務應用和業務平臺解耦的問題,即業務平臺能力的資源池化.但是,不同的廠商提出的PaaS平臺架構模型差異較大,各有特色,都能夠解決應用快速開發的問題,目前業界對PaaS平臺還沒有統一的架構參考模型.
從業界對平臺即服務PaaS的定位來看,它主要是解決業務應用和業務平臺解耦的問題,即業務平臺能力的資源池化.在這個云化的過程中,一方面是我們常說的數據庫即服務,中間件即服務,快速高效使用虛擬化資源;另外一個方面是我們一直強調的屬于各個應用系統中平臺層能力的下沉,即形成企業內部面向企業多個應用的平臺層能力.這些能力包括了流程引擎、規則引擎、組織權限、主數據中心等多個方面的內容.
PaaS平臺的作用不僅僅是產生和提供可復用的能力,對于PaaS平臺我們更加強調的是業務系統完全可以在這個平臺的基礎上開發業務組件和業務應用.PaaS平臺提供了通用的數據庫服務,中間件服務,業務服務和技術服務,PaaS平臺本身遵循標準的開發框架和開發方法,可以滿足在PaaS平臺上開發的應用完全可以進行自動部署和應用托管.
4.1 總體架構參考模型
根據前面對平臺即服務(PaaS)發展現狀的調研,結合對國內外各PaaS廠商產品的深入分析,對企業內部私有云和PaaS平臺總體架構進行整理,初步考慮PaaS平臺總體架構如圖2所示.
PaaS平臺總體架構包括企業內公共服務、互聯網公共服務、基礎平臺、IaaS虛擬資源適配等模塊組成.
4.2 IaaS虛擬資源適配器功能設計
IaaS層實現了業務應用和物理資源的解耦,提供了虛擬化的資源池,但是不負責資源池里面的資源調度和分配.IaaS虛擬資源適配器模塊的作用是實現動態調度和分配資源,提供支持托管的開發框架和環境,提供自動部署功能.通過動態調度和應用托管,業務應用能夠靈活地去調度IaaS資源池中的資源.
IaaS虛擬資源適配器是PaaS平臺的核心模塊,它能夠屏蔽IaaS層的技術差異性,降低業務應用編程的復雜度,從而提高業務應用開發的效率和質量.
4.3 PaaS平臺基礎平臺功能概要設計
基礎平臺又可以細分為應用開發平臺、應用運行平臺、數據庫即服務、服務集成平臺、應用中間件平臺、流程服務平臺等模塊.
應用開發平臺的核心是提供一套集成的應用開發平臺,提供集成的應用開發框架和環境、集成的PaaS底層技術能力,提供標準的技術服務(如日志、異常、國際化、安全、規則、緩存等).
數據庫即服務模塊需要提供對底層數據庫的統一封裝,提供公共的數據訪問接口,提供數據庫資源池和數據庫水平擴展能力,支持分布式數據庫,支持非關系型數據庫,支持數據庫本身的多租戶.
服務集成平臺模塊包括數據集成和應用集成多方面的內容,數據集成包括了ETL、ODI等,應用集成重點是ESB企業服務總線,實現企業業務服務的集成,統一的服務目錄的提供等功能.
應用運行平臺模塊提供平臺資源的運營管理,包括資源的申請、資源的使用、資源的回收、資源的調度、資源的監控等.應用中間件平臺包括傳統的Weblogic、Jboss、Websphere、Tomcat、IIS等,中間件平臺的重點是形成中間件資源池和應用托管容器,這即是可以管理和調度的計算資源和計算單元.

圖2 PaaS平臺總體架構圖
流程服務平臺是更高層次的集成,包括了BPEL、HWF和BPM業務流程管理.流程即服務提供了流程建模、流程設計、流程執行、流程監控、流程分析的端到端流程管理能力.通過統一流程平臺的方式支持各個業務系統實現業務流程管理功能.
從上述功能設計中可以清楚地看到“企業級應用開發平臺型PaaS平臺”包含在PaaS平臺基礎平臺模塊中.“SaaS層演進型PaaS平臺”一部分也包含在基礎平臺模塊中,本文設計的參考模型中賦予PaaS平臺的基礎平臺模塊更多的職責.
云計算技術方興未艾,平臺即服務(PaaS)的發展也非常迅速.本文在分析目前國內外著名公司的PaaS產品架構的基礎上,結合PaaS平臺的作用和定位,提出了一種平臺即服務的參考架構,并對參考模型的各個模塊的功能進行分析.提出的PaaS平臺總體架構為平臺即服務(PaaS)的普及和發展提供了一個可以借鑒的架構模型.
[1]劉鵬.云計算[M].北京:電子工業出版社,2011:213-215.
[2]方國偉.詳解微軟W indows Azure云計算平臺[M].北京:電子工業出版社,2011:114-116.
[3]吳朱華.云計算核心技術剖析[M].北京:人民郵電出版社,2011:96-101.
[4]張光衛,何銳,劉禹,等.基于云模型的進化算法[J].計算機學報,2008(07):31-35.
[5]房秉毅,張云勇,陳清金.云計算環境下統一SaaS平臺[J].電信網技術,2011(05):33-36.
[6]周相兵,佘堃,馬洪江,等.一種基于云計算的SaaS組裝方法研究[J].小型微型計算機系統,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—),男,湖南婁底人,講師,碩士,研究方向:云計算、并行計算、數據庫及系統集成.
張明新(1962—),男,山西偏關人,教授,博士生導師,研究方向:云計算、數據庫及系統集成、智能信息處理.