PaaS軟件與服務差異容易區分。PaaS改變了軟件開發者創建應用程序的方式,同時也改變了IT設計與規劃基礎設施架構支持定制企業應用程序的方式。
平臺即服務(PaaS)是一個動態的目標,這讓清晰明確的定義變得復雜化。作為三大XaaS種類中最年輕的一個,居于SaaS(軟件即服務)和基礎設施即服務(IaaS)之后——PaaS是企業與產品爭奪的下一領域,合并與并購,各種新功能,比IT購買者從傳統渠道所能獲取的多得多。IT領導者可能對整個PaaS概念存有疑慮,因為它主要針對開發者,對此的討論可能迅速變成技術細節有關的深度辯論。另外可以互換使用的PaaS術語也導致了傳播混亂:PaaS的使用場景包括了在公有云服務器上運行服務和在私有服務器上安裝購買軟件兩類。舉例來說, PaaS業內的一些領先廠商包括Appenda、HP Enterprise和Red Hat在內,比較專注于提供內部部署軟件。
這種混亂局面導致兩種截然不同但非常重要的概念:PaaS軟件主要改變應用程序開發流程以及基礎設施部署決策。隨著云服務的選項加入,PaaS能夠替換現有開發模式,為企業提供了新的選擇。
什么是PaaS?它又是如何影響IT的?
如果不是IaaS或SaaS,那就是PaaS,這是一種最簡單的定義方式。但廣義來說,PaaS是一組作為自助服務或共享服務進行交付的應用程序、數據或開發組件。PaaS比基本虛擬機實例或對象存儲更加復雜,包含數據庫表、大數據存儲和查詢(如Hadoop、MapReduce)、中間件服務、軟件配置管理、移動后端、應用程序編程接口(API)網關和管理用戶與群組身份目錄和訪問控制。作為高級別的服務交付,PaaS軟件從基礎設施配置細節與配置、管理和構建低級別服務與API所需的編碼兩個方面把開發者隔離。在這種情況下,通過平臺服務器構建應用程序,類似于通過Excel宏或使用Access或Visual Basic構建前端,而不是使用C#與Windows原生API進行編碼。
從應用程序實施中抽象應用程序開發組件,意味著有許多不同的PaaS例子可循。典型的PaaS是一種云服務,其提供一套平臺服務交付,包括多租戶基礎設施,如按使用量計費服務,通常結合了Microsoft Azure與Google Cloud Platform,作為更大的IaaS解決方案的一部分。然而,PaaS軟件棧同樣可以建立在專屬的私有系統上并作為專屬服務交付給內部開發者。在這個例子中,PaaS軟件通常是分層在虛擬基礎設施棧,如VMware vSphere、OpenStack或Amazon Web Services,但有些產品如Apprenda運行類似Internet Information Server或Apache Tomcat,直接運行在服務器操作系統上。
PaaS棧包括了多種針對不同選區與使用場景的功能,所以很難進行直接比較。對比PaaS的最簡單辦法,是從功能、服務層級和供應商定價模型進行對比。沒有一款產品可以滿足所有不同的應用程序。一些如Azure、Google App Engine或CloudFoundry的PaaS適合于新應用程序開發。其他PaaS廠商的例子有——Force.com與SAP HANA Cloud Platform——更適合通過自定義功能充實現有軟件。
PaaS的優勢 | PaaS的劣勢 |
對市場來說能獲得更快的部署周期并節約時間 | 平臺鎖定 |
托管于公有云,極少或不需要能力規劃支出,降低總擁有成本 | 新語言、功能、方法技術與平臺管理的學習曲線 |
通過提高用戶生產力、資源使用率、自動化與自助服務提高效率 | 與傳統應用程序、數據源的集成存在挑戰。這樣加劇了共有PaaS與托管或自建數據中心基礎設施交互時,需要安全網絡連接的需求。 |
通過基礎設施外包與采用普通開發平臺與技術降低支持成本 | 在沒有在大量重構的情況下,將傳統代碼移植到新平臺,應用程序性能可能受影響 |
支持新型、更豐富的功能,如大數據分析、移動與物聯網后端甚至機器學習 | 某些服務如數據庫和移動API存在能力訪問限制 |
更高的平臺擴展性 | -- |
從以上表格可以看到,PaaS的好處在于它可以被看作是一種服務產品,但應用程序部署方案都存在各自的缺點。