1 什么是PaaS
平臺即服務(platform as a service),把服務器平臺作為一種服務提供的商業模式,也可以理解為面向開發者的SaaS。
網上的概念還是很抽象。用人話說翻譯一下,有兩種翻譯方式:
1 PaaS是將軟件研發的平臺作為一種服務,以SaaS的模式提交給用戶。
2?如果一個SaaS能給客戶在互聯網上提供開發(自定義)、測試、在線部署應用程序的功能,那么這就叫PaaS
以上兩種說法是我認為大多數人可以看得懂的,不喜勿噴。
PaaS的特點:
首先PaaS作為SaaS的一種形式,必定有SaaS的一些特點:云端架構、成本低、體驗好
另外它也有區別于SaaS的特點。SaaS多數只能滿足共性需求,雖然可以通過個性化的二次開發來幫助用戶實現需要的功能,但通常來講都需要較長一段時間的開發周期,客戶的需求無法得到及時的滿足。
PaaS平臺就是針對這個問題的最佳解決方案,PaaS指的是給開發人員提供構建應用程序的環境,通過在PaaS平臺上進行編程創建的應用功能可以快速部署到平臺上并且實時生效。PaaS就是在線編程平臺。
相較于常規的編程工具,PaaS平臺的好處是可以基于SaaS產品已有的字段和對象來進行二次開發,快速對接平臺已有的功能,在SaaS已有的功能之上進行個性化功能的設計,具有快速,靈活,穩定的特點。綜上,PaaS平臺還具有的特點為:
1 可編譯部署自己的個性化代碼,這些資源通過API開放給用戶
2 可以對平臺已提供的SaaS接口進行二次開發
3 平臺運營商除了提供基礎平臺外,還提供技術支持服務和應用系統開發和優化的服務
2 PaaS系統架構
SaaS的功能架構大體如下:
PaaS在功能中加入了第三方開發和開放API等個性化功能模塊,其功能架構如下:
從上面兩張圖可以看出,PaaS平臺主要多了用于第三方用戶個性化開發和部署的業務功能(開發、測試、發布、管理四部分),為了實現快速二次開發,所以PaaS平臺還應該提供業務通用的開放API接口。
另外需要提一句,在平臺搭建的時候還需要考慮負載均衡和接口頻控的細節問題。
有了以上介紹的功能,再加上運營平臺、監控平臺等輔助模塊,輔以各種應用支撐和公共服務,全面高效地實現了企業應用所需的云平臺環境。
另外,為了進一步降低PaaS平臺的使用門檻,很多公司正在開發圖形化PaaS平臺,只需要拖拽和點擊就可以完成編程的工作,無需專業的開發人員,而是售前工程師或客戶方的管理員也可以很方便的進行個性化功能的配置。
基于此,PaaS平臺就被分為APaaS和IPaaS兩種,APaaS是應用部署平臺,應用可以有ISV提供,比如釘釘。IPaaS是為開發者提供一整套開發工具和底層,所以App和平臺接入程度深。這么看來在普通使用者眼里,APaaS就是SaaS,他們不需要知道ISV是誰...
3 PaaS的兩種實現形式
3.1 虛擬機為基礎
代表是AWS。
首先是負載均衡層:當應用實例出現擴容時,需要動態將調整的服務器實例注冊到對應的域名上,以完成分流
中間是Web服務器層,支持Java、Python和PHP等多種編程語言,盡量為編程人員提供多樣性的選擇,開放性基本是所有PaaS平臺的標配
在服務后端,Beanstalk基本依托于AWS本身的服務生態系統為應用提供服務,比如RDS、S3、DynamoDB等。
3.2 容器為基礎
相比于虛擬機,容器帶來的系統開銷非常低,如果一臺虛擬機的操作系統需要占用2G的內存,則7個虛擬機所組成的集群只是操作系統就需要14G的內存占用。基于容器的技術如果一臺16G的裸機除去2G的操作系統開銷,還能夠部署7個容器進程。所以,從經濟性來說,容器的技術遠遠好于虛擬機。另外一個比較的標準是性能,容器的性能相對而言更好一些。但是,從安全性和隔離型來說,虛擬機是遠遠好于容器的。
代表是CloudFoundry。
4 PaaS產品經理的工作和能力
平臺思維:PaaS作為一種平臺,需要產品經理具有平臺思維:不只關心功能和用戶,因為用戶是多方的,所以要考慮建立多方共贏的生態圈
對業務的理解:和SaaS相同,不了解業務就別當產品了...
多角色權限,復雜業務流程的拆解能力:化繁為簡的能力不解釋,和一些SaaS也一樣
需要有一定的技術能力,所以技術出身的產品經理有一定的優勢
學習能力:PaaS的應用還是很新的,國內成熟的PaaS平臺不多,可以借鑒的也不多,這就需要產品經理的學習能力和領悟能力很強
商業能力:敏銳的商業能力,不賺錢就是耍流氓
其他通用的產品經理能力:溝通、優先級把控、邏輯、執行力、迭代思維、決策力、產品規劃能力
5 產品設計工作流程
看了百度云、紛享銷客的PaaS產品,結合去年我們公司想做AI算法模型管理平臺的內部系統時我整理的資料,發現PaaS產品的工作流程基本三部:創建應用(對象),創建個性化流程以及部署個性化功能。
創建應用:可以添加自定義的字段,這一步完成后,輸出的API接口就基本確定了
創建個性化流程:包含觸發條件,傳入參數,完成條件,傳出參數等步驟,這一步就是平臺自帶的變成工具進行編程的步驟
部署個性化功能:這一步需要結合用戶需求來進行
6 升華:SaaS,IaaS的區別
在查看網上的資料時,發現一張圖,在很多文章上都出現了,就存到這里,這樣圖很好的闡述了本地部署、SaaS、PaaS和IaaS的區別。