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

[科普中國(guó)]-平臺(tái)即服務(wù)

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

由來(lái)

業(yè)界最早的PaaS服務(wù)是由Salesforce于2007年推出的Force.corn,它為用戶提供了關(guān)系型數(shù)據(jù)庫(kù)、用戶界面選項(xiàng)、企業(yè)邏輯及一個(gè)專用的集成開發(fā)環(huán)境,應(yīng)用程序開發(fā)者可以在該平臺(tái)提供的運(yùn)行環(huán)境中對(duì)他們開發(fā)出來(lái)的應(yīng)用軟件進(jìn)行部署測(cè)試,然后將應(yīng)用提交給Salesforce供用戶使用。作為SaaS服務(wù)提供商,Salesforce推出PaaS的目的是使商業(yè)SaaS應(yīng)用的開發(fā)更加便捷,進(jìn)而使SaaS服務(wù)用戶能夠有更多的軟件應(yīng)用可以選擇。

還有當(dāng)代計(jì)算的先驅(qū)Google,使用便宜的計(jì)算機(jī)和強(qiáng)有力的中間件,以及自己的技術(shù)裝備出了世界上功能最強(qiáng)大的數(shù)據(jù)中心,以及超高性能的并行計(jì)算群。2008年4月發(fā)表的PaaS服務(wù)GAE,為用戶提供了更多的服務(wù),方便了用戶的使用,去掉了煩瑣的作業(yè)。

微軟在2008年冬推出Windows Azure平臺(tái),并在其上陸續(xù)發(fā)布了用于提供數(shù)據(jù)庫(kù)服務(wù)、總線服務(wù)、身份認(rèn)證服務(wù)等相關(guān)組件,構(gòu)建完整的微軟PaaS服務(wù)。

PaaS服務(wù)更多地從用戶角度出發(fā),將更多的應(yīng)用移植到PaaS平臺(tái)上進(jìn)行開發(fā)管理,充分體現(xiàn)了互聯(lián)網(wǎng)低成本、高效率、規(guī)?;膽?yīng)用特性,PaaS對(duì)于SaaS的運(yùn)營(yíng)商來(lái)說(shuō),可以幫助他們進(jìn)行產(chǎn)品多元化和產(chǎn)品定制化。2

關(guān)鍵技術(shù)PaaS層的技術(shù)比較多樣,下面是常見的5種。

(1)REST。通過(guò)REST(Representational State Transfer,表述性狀態(tài)轉(zhuǎn)移)技術(shù),能夠非常方便和優(yōu)雅地將中間件層所支撐的部分服務(wù)提供給調(diào)用者。

(2)多租戶。它能讓一個(gè)單獨(dú)的應(yīng)用實(shí)例為多個(gè)組織服務(wù),而且能保持良好的隔離性和安全性。通過(guò)這種技術(shù),能有效地降低應(yīng)用的購(gòu)置和維護(hù)成本。

(3)并行處理。為了處理海量數(shù)據(jù),需要利用龐大的x86集群進(jìn)行規(guī)模巨大的并行處理,Google的MapReduce是這方面的代表之作。

(4)應(yīng)用服務(wù)器。在原有應(yīng)用服務(wù)器的基礎(chǔ)上為云計(jì)算做了一定程度的優(yōu)化,比如用于Google App Engine的Jetty應(yīng)用服務(wù)器。

(5)分布式緩存。通過(guò)這種技術(shù),不僅能有效降低對(duì)后臺(tái)服務(wù)器的壓力,而且還能加快相應(yīng)的反應(yīng)速度。最著名的分布式緩存的例子莫過(guò)于Memcached。

對(duì)于很多PaaS平臺(tái),比如用于部署Ruby應(yīng)用的Heroku云平臺(tái),應(yīng)用服務(wù)器和分布式緩存都是必備的,REST技術(shù)常用于對(duì)外的接口,多租戶技術(shù)則主要用于SaaS應(yīng)用的后臺(tái)(比如用于支撐Salesforce的CRM等應(yīng)用的Force.com多租戶內(nèi)核),而并行處理技術(shù)常被用作單獨(dú)的服務(wù)推出(比如Amazon的Elastic MapReduce)。3

實(shí)現(xiàn)模式PaaS在laaS的基礎(chǔ)上封裝虛擬操作系統(tǒng)、中間件、數(shù)據(jù)庫(kù)、開發(fā)環(huán)境等軟件棧后,將分布式軟件開發(fā)、測(cè)試、部署環(huán)境提供給開發(fā)者.對(duì)PaaS而言,主要的技術(shù)問題是采用合適的分布式技術(shù)解決分布式存儲(chǔ)和分布式計(jì)算問題,并屏蔽底層復(fù)雜的分布式處理操作,把簡(jiǎn)單易用的編程接口和編程模型提供給用戶,PaaS同樣需要構(gòu)建PaaS運(yùn)營(yíng)管理系統(tǒng)解決用戶管理、資源管理等問題

根據(jù)業(yè)務(wù)領(lǐng)域和技術(shù)類型的不同,PaaS提供應(yīng)用開發(fā)層面的服務(wù)目前有兩種主流的實(shí)現(xiàn)模式:一種主要是面向廣大互聯(lián)網(wǎng)應(yīng)用開發(fā)者.把端到端的分布式軟件開發(fā)、測(cè)試、部署、運(yùn)行環(huán)境以及復(fù)雜的應(yīng)用程序托管當(dāng)作服務(wù),通過(guò)互聯(lián)網(wǎng)提供給用戶,其核心技術(shù)是分布式并行計(jì)算;另一種是面向電信增值應(yīng)用開發(fā)者,把基于電信開放能力的增值應(yīng)用開發(fā)、測(cè)試、部署以及應(yīng)用發(fā)布和銷售渠道作為服務(wù),通過(guò)運(yùn)營(yíng)商的電信能力開放平臺(tái)提供給用戶。1

特征PaaS具有以下幾個(gè)重要的特征:

(1)是在一個(gè)集成開發(fā)環(huán)境中為開發(fā)人員提供的一種開發(fā)、測(cè)試、運(yùn)維和部署的服務(wù)。這些服務(wù)必須滿足一定的開發(fā)程序流程需求。

(2)開發(fā)環(huán)境可以是基于Web的富客戶端形式,也可以是能與PaaS直接相連的桌面端開發(fā)環(huán)境,后者在編寫完代碼后能將代碼即時(shí)上傳到PaaS服務(wù)器上執(zhí)行。

(3)PaaS平臺(tái)一般都有開發(fā)語(yǔ)言的限制。

(4)多租戶架構(gòu)能夠讓許多開發(fā)人員同時(shí)進(jìn)行協(xié)同工作,因此PaaS上還包含了項(xiàng)目管理和交互工具。

(5)PaaS提供的應(yīng)用開發(fā)環(huán)境能夠與Web服務(wù)和數(shù)據(jù)庫(kù)直接相連。4