版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

[科普中國]-PaaS

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識科普陣地
收藏

PaaS是(Platform as a Service)的縮寫,意思是平臺即服務(wù)。 把服務(wù)器平臺作為一種服務(wù)提供的商業(yè)模式。通過網(wǎng)絡(luò)進(jìn)行程序提供的服務(wù)稱之為SaaS(Software as a Service),而云計算時代相應(yīng)的服務(wù)器平臺或者開發(fā)環(huán)境作為服務(wù)進(jìn)行提供就成為了PaaS(Platform as a Service)。

所謂PaaS實際上是指將軟件研發(fā)的平臺作為一種服務(wù),以SaaS的模式提交給用戶。因此,PaaS也是SaaS模式的一種應(yīng)用。但是,PaaS的出現(xiàn)可以加快SaaS的發(fā)展,尤其是加快SaaS應(yīng)用的開發(fā)速度。在2007年國內(nèi)外SaaS廠商先后推出自己的PAAS平臺。

簡介云計算(cloud computing)是分布式計算的一種,指的是通過網(wǎng)絡(luò)“云”將巨大的數(shù)據(jù)計算處理程序分解成無數(shù)個小程序,然后,通過多部服務(wù)器組成的系統(tǒng)進(jìn)行處理和分析這些小程序得到結(jié)果并返回給用戶。云計算早期,簡單地說,就是簡單的分布式計算,解決任務(wù)分發(fā),并進(jìn)行計算結(jié)果的合并。因而,云計算又稱為網(wǎng)格計算。通過這項技術(shù),可以在很短的時間內(nèi)(幾秒種)完成對數(shù)以萬計的數(shù)據(jù)的處理,從而達(dá)到強(qiáng)大的網(wǎng)絡(luò)服務(wù)。

云計算中討論的服務(wù)包括基礎(chǔ)設(shè)施即服務(wù)(IaaS),平臺即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)三個層次的服務(wù)。 平臺即服務(wù)(PaaS)是云計算的重要組成部分,提供運(yùn)算平臺與解決方案服務(wù)。1在云計算的典型層級中,PaaS層介于軟件即服務(wù)與基礎(chǔ)設(shè)施即服務(wù)之間。PaaS提供用戶將云端基礎(chǔ)設(shè)施部署與創(chuàng)建至客戶端,或者借此獲得使用編程語言、程序庫與服務(wù)。用戶不需要管理與控制云端基礎(chǔ)設(shè)施(包含網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)或存儲),但需要控制上層的應(yīng)用程序部署與應(yīng)用托管的環(huán)境。PaaS將軟件研發(fā)的平臺做為一種服務(wù),以軟件即服務(wù)(SaaS)模式交付給用戶。PaaS 提供軟件部署平臺(runtime),抽象掉了硬件和操作系統(tǒng)細(xì)節(jié),可以無縫地擴(kuò)展(scaling)。開發(fā)者只需要關(guān)注自己的業(yè)務(wù)邏輯,不需要關(guān)注底層。

作用與特點(diǎn)作用

PaaS之所以能夠推進(jìn)SaaS的發(fā)展,主要在于它能夠提供企業(yè)進(jìn)行定制化研發(fā)的中間件平臺,同時涵蓋數(shù)據(jù)庫和應(yīng)用服務(wù)器等。PaaS可以提高在Web平臺上利用的資源數(shù)量。例如,可通過遠(yuǎn)程Web服務(wù)使用數(shù)據(jù)即服務(wù)(Data-as-a-Service:數(shù)據(jù)即服務(wù)),還可以使用可視化的API,甚至像800app的PaaS平臺還允許你混合并匹配適合你應(yīng)用的其他平臺。用戶或者廠商基于PaaS平臺可以快速開發(fā)自己所需要的應(yīng)用和產(chǎn)品。同時,PaaS平臺開發(fā)的應(yīng)用能更好地搭建基于SOA架構(gòu)的企業(yè)應(yīng)用。

此外,PaaS對于SaaS運(yùn)營商來說,可以幫助他進(jìn)行產(chǎn)品多元化和產(chǎn)品定制化。例如Salesforce的PaaS平臺讓更多的ISV成為其平臺的客戶,從而開發(fā)出基于他們平臺的多種SaaS應(yīng)用,使其成為多元化軟件服務(wù)供貨商(Multi Application Vendor),而不再只是一家CRM隨選服務(wù)提供商。而國內(nèi)的SaaS廠商800app通過PaaS平臺,不僅改變了CRM供應(yīng)商的市場定位,而且實現(xiàn)了 BTO(Built to order:按訂單生產(chǎn))和在線交付流程。使用800app的PaaS開發(fā)平臺,用戶不再需要任何編程即可開發(fā)包括CRM、OA、HR、SCM、進(jìn)銷存管理等任何企業(yè)管理軟件,而且不需要使用其他軟件開發(fā)工具并立即在線運(yùn)行。

面向個人的EC站點(diǎn)(electronic commerce site)的巨頭公司Amazon,把最初為了自己公司的運(yùn)營用的構(gòu)筑起來的系統(tǒng)平臺,進(jìn)行出租,用戶可以自由選擇操作系統(tǒng)和中間軟件,以這樣的方式提供硬件以及軟件平臺作為服務(wù),最初被海外以一些冒險事業(yè)的企業(yè)所使用。從2006年開始 [Amazon EC] [Amazon S3]開始作為服務(wù)推向市場。

還有現(xiàn)代軟件業(yè)霸主同時又是次時代計算的先驅(qū)的Google,大家都知道在世界上構(gòu)筑以及運(yùn)行了非常多的數(shù)據(jù)中心。以搜索引擎以及新的廣告模式而聞名。他們使用便宜的計算機(jī)和強(qiáng)有力的中間件,以及自己的技術(shù)裝備出了世界上最強(qiáng)大的數(shù)據(jù)中心,以及超高性能的并行計算群。 2008年4月發(fā)表的PaaS服務(wù)[Google App Engine]和Amazon 的 EC2,S3,SimpleDB等服務(wù)擁有相似的功能。這些穩(wěn)定的平臺上同樣搜索引擎,GMail等服務(wù)也在運(yùn)行。同樣以ASP~SaaS成功的Salesforce,2007年開始用于提供SaaS的系統(tǒng)基盤對外公開,用Force這個名稱開始進(jìn)入PaaS業(yè)務(wù)。他所提供的PaaS服務(wù)里采用Java類似的語言Apex以及Eclipse開發(fā)平臺,整合的開發(fā)環(huán)境也作為服務(wù)進(jìn)行提供(Development as a Service)。Google/Amazon/Salesforce這三個軟件巨頭非常的重視PaaS這種新的商業(yè)模式,Amazon的PaaS服務(wù)為了用戶可以自由的組合服務(wù)提供了更多的自由度,Google的話提供了更多的服務(wù)使用戶能夠方便的使用,去掉了一些繁瑣的作業(yè)。Google/Salesforce的PaaS不僅是基礎(chǔ)硬件的提供開發(fā)環(huán)境的同樣被提供屬于真正的平臺作為一種服務(wù)(PaaS)

特點(diǎn)

PaaS能將現(xiàn)有各種業(yè)務(wù)能力進(jìn)行整合,具體可以歸類為應(yīng)用服務(wù)器、業(yè)務(wù)能力接入、業(yè)務(wù)引擎、業(yè)務(wù)開放平臺,向下根據(jù)業(yè)務(wù)能力需要測算基礎(chǔ)服務(wù)能力,通過IaaS提供的API調(diào)用硬件資源,向上提供業(yè)務(wù)調(diào)度中心服務(wù),實時監(jiān)控平臺的各種資源,并將這些資源通過API開放給SaaS用戶。PaaS主要具備以下三個特點(diǎn):

(1)平臺即服務(wù):PaaS所提供的服務(wù)與其他的服務(wù)最根本的區(qū)別是PaaS提供的是一個基礎(chǔ)平臺,而不是某種應(yīng)用。在傳統(tǒng)的觀念中,平臺是向外提供服務(wù)的基礎(chǔ)。一般來說,平臺作為應(yīng)用系統(tǒng)部署的基礎(chǔ),是由應(yīng)用服務(wù)提供商搭建和維護(hù)的,而PaaS顛覆了這種概念,由專門的平臺服務(wù)提供商搭建和運(yùn)營該基礎(chǔ)平臺,并將該平臺以服務(wù)的方式提供給應(yīng)用系統(tǒng)運(yùn)營商;

(2)平臺及服務(wù):PaaS運(yùn)營商所需提供的服務(wù),不僅僅是單純的基礎(chǔ)平臺,而且包括針對該平臺的技術(shù)支持服務(wù),甚至針對該平臺而進(jìn)行的應(yīng)用系統(tǒng)開發(fā)、優(yōu)化等服務(wù)。PaaS的運(yùn)營商最了解他們所運(yùn)營的基礎(chǔ)平臺,所以由PaaS運(yùn)營商所提出的對應(yīng)用系統(tǒng)優(yōu)化和改進(jìn)的建議也非常重要。而在新應(yīng)用系統(tǒng)的開發(fā)過程中,PaaS運(yùn)營商的技術(shù)咨詢和支持團(tuán)隊的介入,也是保證應(yīng)用系統(tǒng)在以后的運(yùn)營中得以長期、穩(wěn)定運(yùn)行的重要因素;

(3)平臺級服務(wù):PaaS運(yùn)營商對外提供的服務(wù)不同于其他的服務(wù),這種服務(wù)的背后是強(qiáng)大而穩(wěn)定的基礎(chǔ)運(yùn)營平臺,以及專業(yè)的技術(shù)支持隊伍。這種“平臺級”服務(wù)能夠保證支撐SaaS或其他軟件服務(wù)提供商各種應(yīng)用系統(tǒng)長時間、穩(wěn)定的運(yùn)行。PaaS的實質(zhì)是將互聯(lián)網(wǎng)的資源服務(wù)化為可編程接口,為第三方開發(fā)者提供有商業(yè)價值的資源和服務(wù)平臺。有了PaaS平臺的支撐,云計算的開發(fā)者就獲得了大量的可編程元素,這些可編程元素有具體的業(yè)務(wù)邏輯,這就為開發(fā)帶來了極大的方便,不但提高了開發(fā)效率,還節(jié)約了開發(fā)成本。有了PaaS平臺的支持,WEB應(yīng)用的開發(fā)變得更加敏捷,能夠快速響應(yīng)用戶需求的開發(fā)能力,也為最終用戶帶來了實實在在的利益。

應(yīng)用平臺即服務(wù)(PaaS)已存在了相當(dāng)長的一段時間了,這是一種在基于云計算的系統(tǒng)中使用一套被提供的工具來開發(fā)和部署應(yīng)用程序的高效既定方法。它的核心理念是將軟件開發(fā)平臺作為一種服務(wù)提供給用戶,使得各類的應(yīng)用程序所需的運(yùn)行時環(huán)境在平臺中良好支持。PaaS 抽象有效地隱藏執(zhí)行物理資源分配(CPU,內(nèi)存,磁盤等),服務(wù)生態(tài)系統(tǒng)管理,操作系統(tǒng)和網(wǎng)絡(luò)配置等細(xì)節(jié)。PaaS 還使負(fù)載平衡和資源擴(kuò)展自動化,并為 PaaS 組件和服務(wù)提供高可用性和容錯能力。2

如果一家企業(yè)承受著把應(yīng)用程序軟件遷移至網(wǎng)絡(luò)或移動設(shè)備的壓力,那么PaaS則具有明顯的優(yōu)勢。企業(yè)業(yè)務(wù)進(jìn)入市場的時間更短,這樣也就避免了開發(fā)時間冗長、上市時間過長的產(chǎn)品開發(fā)過程。這樣的產(chǎn)品必定是高質(zhì)量的,同時也必須能夠被快速提供。PaaS可讓企業(yè)更專注于他們所開發(fā)和交付的應(yīng)用程序,而不是管理和維護(hù)完整的平臺系統(tǒng)。

對于小型企業(yè)和初創(chuàng)型企業(yè)來說,PaaS也是比較有用的,因為這些企業(yè)并沒有廣泛的、具有較高依賴性的舊應(yīng)用程序需要遷移。PaaS的多租戶特性可實現(xiàn)應(yīng)用程序和數(shù)據(jù)資源的最大數(shù)量共享,同時讓開發(fā)資源繼續(xù)專注于應(yīng)用程序的交付和連接,而不是開發(fā)和支持?jǐn)?shù)據(jù)庫資源。PaaS的未來發(fā)展空間似乎在小型企業(yè)和初創(chuàng)企業(yè),這類公司由于不依賴于與舊應(yīng)用程序的集成而更適于在云計算中進(jìn)行應(yīng)用程序開發(fā)。

PaaS區(qū)別簡單地說,PaaS平臺就是指云環(huán)境中的應(yīng)用基礎(chǔ)設(shè)施服務(wù),也可以說是中間件即服務(wù)。PaaS平臺在云架構(gòu)中位于中間層,其上層是SaaS,其下層是IaaS。在傳統(tǒng)On-Premise部署方式下,應(yīng)用基礎(chǔ)設(shè)施即中間件的種類非常多, 有應(yīng)用服務(wù)器,數(shù)據(jù)庫,ESBs, BPM, Portal,消息中間件,遠(yuǎn)程對象調(diào)用中間件等等。對于PaaS平臺,Gartner把它們分為兩類,一類是應(yīng)用部署和運(yùn)行平臺APaaS(application platform as a service),另一類是集成平臺IPaaS(integration as a service)。 人們經(jīng)常說的PaaS平臺基本上是指APaaS,如Force和Google App Engine。

國內(nèi)日前上線的中國云應(yīng)用平臺,能夠為軟件廠商提供領(lǐng)先的IaaS基礎(chǔ)平臺,使得軟件廠商能夠?qū)⒆⒁饬性谄鋺?yīng)用產(chǎn)品的云化之上,而將對基礎(chǔ)資源的需求,包括云服務(wù)器、云存儲、云監(jiān)控等完全依托在理念領(lǐng)先、技術(shù)成熟、安全可靠的IaaS平臺上。

中國云應(yīng)用平臺將加盟入駐的傳統(tǒng)軟件向SaaS軟件轉(zhuǎn)型,采用傳統(tǒng)軟件結(jié)合云計算IaaS的模式,逐步實現(xiàn)多租戶單實例的應(yīng)用架構(gòu)最終實現(xiàn)高性能應(yīng)用。未來大量傳統(tǒng)軟件企業(yè)在與華云數(shù)據(jù)的合作過程中,通過與PaaS平臺的整合,可以快速實現(xiàn)云化與SaaS化改造。

企業(yè)級云計算起源于大型互聯(lián)網(wǎng)企業(yè)。對于互聯(lián)網(wǎng)企業(yè),成本壓力和指數(shù)級的業(yè)務(wù)增長壓力使他們關(guān)注于物理資源的利用率和應(yīng)用的可擴(kuò)展性。在應(yīng)用服務(wù)器這層,通過Cluster Session來實現(xiàn)水平擴(kuò)展;在數(shù)據(jù)存儲這層,采用基于BASE模型的NOSQL數(shù)據(jù)存儲來實現(xiàn)擴(kuò)展?;ヂ?lián)網(wǎng)企業(yè)主導(dǎo)面向公眾服務(wù)的公有云PaaS平臺,如Google App Engine和Amazon Beanstalk。對于公有云PaaS平臺,PaaS就是云環(huán)境下的應(yīng)用部署平臺。

(1)基于商業(yè)軟件的部署方式:Application - Framework/Libs - Websphere/Weblogic + RDBMS

(2)基于開源軟件的部署方式:Application - Frameworks/Libs - Tomcat/JBoss + RDBMS

(3)云環(huán)境下的部署方式:Application - Frameworks/Libs - PaaS(Goole App Engine, Amazon)

注:1、WebSphere:是 IBM 的軟件平臺。它包含了編寫、運(yùn)行和監(jiān)視全天候的工業(yè)強(qiáng)度的隨需應(yīng)變 Web應(yīng)用程序和跨平臺、跨產(chǎn)品解決方案所需要的整個中間件基礎(chǔ)設(shè)施,如服務(wù)器、服務(wù)和工具。WebSphere 提供了可靠、靈活和健壯的軟件。

2、Weblogic:是一個基于Javaee架構(gòu)的中間件,BEA WebLogic是用于開發(fā)、集成、部署和管理大型分布式Web應(yīng)用、網(wǎng)絡(luò)應(yīng)用和數(shù)據(jù)庫應(yīng)用的Java應(yīng)用服務(wù)器。將Java的動態(tài)功能和Java Enterprise標(biāo)準(zhǔn)的安全性引入大型網(wǎng)絡(luò)應(yīng)用的開發(fā)、集成、部署和管理之中。

3、Tomcat 服務(wù)器是一個免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器

4、JBoss是一個管理EJB的容器和服務(wù)器,支持EJB 1.1、EJB 2.0和EJB3.0的規(guī)范。但JBoss核心服務(wù)不包括支持servlet/JSP的WEB容器,一般與Tomcat或Jetty綁定使用。

5、RDBMS:指的是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。

這種情況下,PaaS實質(zhì)上就是一個預(yù)先裝好的Web Container和一組公共服務(wù),如數(shù)據(jù)存儲服務(wù)(不一定是關(guān)系型數(shù)據(jù)庫)、消息隊列、集中式session及cache等等。對于個人用戶或者簡單應(yīng)用來說,公有云PaaS平臺使得開發(fā)人員僅關(guān)注應(yīng)用邏輯開發(fā)本身,不用把精力花費(fèi)在基礎(chǔ)實施和應(yīng)用的擴(kuò)展和維護(hù)上。

所謂企業(yè)級PaaS平臺,主要包含兩類,一是大型企業(yè)內(nèi)部的私有云PaaS平臺,另一類是面向ISV廠商的PaaS平臺。然而對于企業(yè)級PaaS平臺,PaaS不僅僅是云環(huán)境下的應(yīng)用部署平臺。 拋開安全問題不講,私有云PaaS平臺和公有云PaaS有如下核心區(qū)別:

(1)復(fù)雜的多租戶模型:對于公有云PaaS平臺,其租戶模型是 (用戶-> 應(yīng)用 -> 應(yīng)用實例),一個用戶可以部署多個應(yīng)用,每個應(yīng)用可以有多個運(yùn)行時實例,應(yīng)用實例共享資源池。對于一個大型企業(yè),一個大部門可能是一個租戶,大部門下面的子部門也是一個租戶;或者一個SaaS應(yīng)用系統(tǒng)的一個實例就是一個租戶。對于租戶的資源使用,大部門租戶是共享資源池里面的資源,也可能某些關(guān)鍵租戶需要獨(dú)占一些資源以保證安全。

(2)已有應(yīng)用的兼容:企業(yè)的歷史應(yīng)用都是基于關(guān)系型數(shù)據(jù)庫的,某些PaaS平臺不支持關(guān)系型數(shù)據(jù)存儲,即使是簡單的已有應(yīng)用都無法遷移到PaaS平臺上。

(3)復(fù)合應(yīng)用的構(gòu)建:企業(yè)On-Premise應(yīng)用在很長一段時間內(nèi)都是要存在的,私有云PaaS平臺要成為On-Premise和公有云之間的橋梁。私有云PaaS平臺除了是應(yīng)用部署平臺外,還需要提供集成和方便構(gòu)建復(fù)合應(yīng)用的能力,就是Gartner所提的iPaaS能力。 企業(yè)級PaaS平臺不僅僅是應(yīng)用部署平臺,而且是復(fù)雜多租戶環(huán)境和復(fù)雜應(yīng)用環(huán)境下的共享基礎(chǔ)設(shè)施平臺,是On-Premise部署通往公有云部署的必經(jīng)之路。

本詞條內(nèi)容貢獻(xiàn)者為:

徐恒山 - 講師 - 西北農(nóng)林科技大學(xué)