從一個(gè)方面來(lái)分析,開(kāi)發(fā)云應(yīng)用程序的平臺(tái)即服務(wù)模式有兩種:一種是專用模式,托管在本地或私有云中;另一種是公共模式,由第三方提供商來(lái)托管,并采用訂閱支付模式。那只是問(wèn)題的一個(gè)方面。還可以以一種全然不同的方式來(lái)分析PaaS:這種方式基于與云環(huán)境的聯(lián)系。
據(jù)長(zhǎng)期的IT和云計(jì)算顧問(wèn)Judith Hurwitz聲稱,從這種聯(lián)系的角度來(lái)分析PaaS,會(huì)發(fā)現(xiàn)存在兩種不同的模式。其中之一是,PaaS與某個(gè)特定的軟件即服務(wù)(SaaS)環(huán)境聯(lián)系在一起,比如Salesforce的Force.com和Heroku Enterprise。另一種是PaaS受制于某個(gè)特定的云操作環(huán)境,以亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)的Elastic Beanstalk為代表。另外還有可以自由添加的PaaS解決方案,它們并不與任何一個(gè)云聯(lián)系在一起。這些包括Apprenda、CloudBees、Engine Yard及其他PaaS解決方案。
隨著公眾對(duì)云提供商安全的信心不斷加強(qiáng),對(duì)PaaS的依賴程度也隨之提高,用于開(kāi)發(fā)云應(yīng)用程序。雖然PaaS支出僅占總體云環(huán)境的一小部分,但正以驚人的速度增長(zhǎng)。Markets And Markets公司在最近一項(xiàng)研究中預(yù)測(cè),到2018年,全球PaaS市場(chǎng)會(huì)增長(zhǎng)到69.4億美元,而五年前還僅僅只有12.8億美元――年復(fù)合增長(zhǎng)率高達(dá)32.54%。
作為Hurwitz提出的兩種模式中的第一種,將PaaS綁定到SaaS讓提供商得以“通過(guò)提供一個(gè)完整的、受保護(hù)的生態(tài)系統(tǒng),延伸品牌,”她說(shuō)。“這是獨(dú)立軟件開(kāi)發(fā)商或企業(yè)開(kāi)發(fā)人員構(gòu)建旨在完全在該環(huán)境中運(yùn)行的自定義應(yīng)用程序的最容易、最快速、最安全的方式。”這不是什么新的想法:2011年――按云計(jì)算行業(yè)的標(biāo)準(zhǔn)來(lái)看那已是很久以前,Workday發(fā)布了自己的受制型PaaS,采用的品牌名是Workday集成云平臺(tái)(Workday Integration Cloud Platform)。這家公司位于加州普萊森頓,專門(mén)開(kāi)發(fā)基于云的人力資源和財(cái)務(wù)管理應(yīng)用軟件。
在第二種模式中,PaaS解決方案與整個(gè)云操作環(huán)境、而不是與某個(gè)特定的應(yīng)用服務(wù)緊密聯(lián)系起來(lái)。她說(shuō):“如果你打算編寫(xiě)只在AWS、微軟Azure或IBM Bluemix上運(yùn)行的應(yīng)用程序,選擇它們的PaaS解決方案是合理的選擇。”她表示,比如說(shuō),如果某家企業(yè)組織在。NET框架方面有扎實(shí)的專長(zhǎng),或者有一大批應(yīng)用程序在使用。NET框架,那么選擇微軟的Azure開(kāi)發(fā)和部署生態(tài)系統(tǒng)將是自然而然的選擇。
據(jù)Hurwitz聲稱,這個(gè)PaaS領(lǐng)域勢(shì)必會(huì)出現(xiàn)重大變化。她說(shuō):“雖然我們?nèi)匀豢吹脚c某個(gè)特定平臺(tái)綁定的PaaS解決方案,但現(xiàn)在我們更多地看到Pivotal的開(kāi)源Cloud Foundry受到追捧,作為實(shí)施PaaS的一種標(biāo)準(zhǔn)方法。”EMC旗下的VMware部門(mén)在2011年推出了Cloud Foundry。兩年后,EMC將那些資產(chǎn)作為Pivotal Software拆分出來(lái)。
Dave McCrory是Basho科技公司的首席技術(shù)官,這家公司專門(mén)開(kāi)發(fā)Riak開(kāi)源數(shù)據(jù)庫(kù)。他表示,想選擇合適類型的PaaS來(lái)開(kāi)發(fā)云應(yīng)用程序,關(guān)鍵因素是了解手頭的項(xiàng)目。沒(méi)有哪一種類型的PaaS適合所有情形,而這勢(shì)必需要開(kāi)發(fā)人員的工具包中同時(shí)有幾個(gè)PaaS。
McCrory說(shuō):“由于應(yīng)用程序開(kāi)發(fā)場(chǎng)景不同,所以有眾多不同的PaaS類型。”他贊同Hurwitz的觀點(diǎn),表示一種就是SaaS式樣,以Force綁定到Salesforce這種方式為代表。他表示,Heroku不一樣,就在于“你上傳想要運(yùn)行的各個(gè)組件,然后將應(yīng)用程序上線。它并不像Force那樣緊密地綁定到Salesforce。”
McCory表示,其他PaaS解決方案允許開(kāi)發(fā)與基礎(chǔ)設(shè)施更緊密結(jié)合的云應(yīng)用程序,他提到Mesosphere就是個(gè)例子。“這是一種PaaS式樣的服務(wù),更接近網(wǎng)絡(luò)物理層。”
最近云計(jì)算領(lǐng)域新增的一個(gè)角色是AWS Lambda,它自稱是“構(gòu)建和運(yùn)行云端應(yīng)用程序的一種全新方式。”McCrory表示,雖然它不是典型的PaaS,但基于這個(gè)想法:編寫(xiě)極小的代碼片段,以便將其他小小的代碼模塊連接起來(lái)。McCrory說(shuō):“你不是構(gòu)建一個(gè)龐大的程序;相反,你是構(gòu)建一系列小小的組件。”McCrory表示,與其他PaaS模式一樣,其目的也是加快開(kāi)發(fā)、簡(jiǎn)化維護(hù)。
無(wú)論最終選擇哪種類型的PaaS來(lái)幫助開(kāi)發(fā)人員加快開(kāi)發(fā)和部署,McCrory表示,仍要認(rèn)識(shí)到PaaS只是整個(gè)開(kāi)發(fā)環(huán)境里面的一個(gè)組件而已,這點(diǎn)很重要。他說(shuō):“當(dāng)前的趨勢(shì)就是,擁有從頭到尾的綜合工作流程、實(shí)現(xiàn)測(cè)試和部署自動(dòng)化,即從基于云的IDE(可以在其中編寫(xiě)代碼),到源代碼庫(kù)(比如GitHub)。”
McCrory表示,對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),轉(zhuǎn)移到PaaS模式最終是為了加快開(kāi)發(fā)應(yīng)用程序和更新應(yīng)用程序(一旦部署到生產(chǎn)環(huán)境中)。“優(yōu)點(diǎn)在于,你不需要升級(jí)龐大的整體式應(yīng)用程序,而是只要進(jìn)行小幅的增量變化。”
系統(tǒng)可能順暢地運(yùn)行幾個(gè)月,結(jié)果卻在軟件變化后出現(xiàn)崩潰,無(wú)論是大變化還是小變化。推特已經(jīng)在2016年1月出現(xiàn)停運(yùn),幾乎遍及全世界,公司將這六小時(shí)的停運(yùn)歸咎于“內(nèi)部的代碼變化”。后來(lái)代碼回滾消除了那個(gè)問(wèn)題。McCrory說(shuō):“如果你在更新后遇到了問(wèn)題,若使用PaaS模式,可以輕松回滾,并檢查導(dǎo)致問(wèn)題的增量變化。這要比另一種方法:六個(gè)月的升級(jí)周期好得多,因?yàn)槟菢涌赡苓M(jìn)行了數(shù)千處變化,你在查找導(dǎo)致問(wèn)題的代碼時(shí),可能要停運(yùn)好幾天。”
Hurwitz表示,雖然由于性能和安全方面的問(wèn)題,PaaS概念沒(méi)有迅速流行起來(lái),但現(xiàn)在這個(gè)概念普遍得到了接受。她說(shuō):“從單槍匹馬的個(gè)體開(kāi)發(fā)人員,到小型部門(mén),再到大企業(yè),PaaS可能是開(kāi)發(fā)云計(jì)算應(yīng)用程序的一種必然選擇。你幾乎可以馬上搭建并運(yùn)行起來(lái),測(cè)試現(xiàn)有代碼,或者用你選擇的一種語(yǔ)言來(lái)編寫(xiě)新代碼。作為一種開(kāi)發(fā)方法,PaaS已站穩(wěn)了腳跟。”