PaaS
1.什么是PaaS
PaaS是平臺即服務(Platform as a Service)的簡稱,平臺即服務是一種云計算服務,提供運算平臺與解決方案堆棧即服務。在云計算的典型層級中,平臺即服務層介于軟件即服務與基礎設施即服務之間。
平臺即服務提供用戶能將云基礎設施部署與創(chuàng)建至客戶端,或者借此獲得使用編程語言、程序庫與服務。用戶不需要管理與控制云基礎設施,包含網(wǎng)絡、服務器、操作系統(tǒng)或存儲,但需要控制上層的應用程序部署與應用代管的環(huán)境。
PaaS將軟件研發(fā)的平臺做為一種服務,以軟件即服務(SaaS)的模式交付給用戶。因此,PaaS 也是 SaaS 模式的一種應用。但是,PaaS 的出現(xiàn)可以加快 SaaS 的發(fā)展,尤其是加快 SaaS 應用的開發(fā)速度。
平臺即服務(PaaS)這是在軟件即服務(Software as a Service,簡稱 SaaS)之后興起的一種新的軟件應用模式或者架構。是應用服務提供商(the Application Service Provider,簡稱 ASP)的進一步發(fā)展。
2.PaaS的獨特特點
平臺即服務(PaaS)常常是最容易讓人迷惑的云計算類別,因為很難識別它,常常把它誤認為是基礎設施即服務(IaaS)或軟件即服務(SaaS)。PaaS的獨特特點是,它讓開發(fā)人員可以在駐留的基礎設施上構建并部署web應用程序。換句話說,PaaS讓您能使用云基礎設施似乎無窮的計算資源。
當然,計算資源的數(shù)量看起來無窮只是幻想,限制取決于基礎設施的規(guī)模。但是,正如在本系列的第一篇中了解到的,Google基礎設施大約包含超過一百萬臺基于x86的計算機。另外,因為用于PaaS的基礎設施是彈性的(第1部分中討論過這個概念),在需要時云可以擴展以提供更多的計算資源,所以無窮的資源并不完全是想像。
3.PaaS對于開發(fā)人員的意義
開發(fā)人員常常誤以為云計算只適用于網(wǎng)絡管理員。但是,這個錯誤的觀念忽視了云計算可能給開發(fā)和質量保證團隊帶來的許多好處。
在軟件開發(fā)過程中,一些東西常常會出問題。以我的經(jīng)驗,設置服務器環(huán)境以駐留開發(fā)團隊要構建的Web應用程序可能會帶來許多爭吵。即使在最大的企業(yè)中,通常一位網(wǎng)絡管理員要負責為幾個開發(fā)團隊服務。在不使用PaaS的情況下,設置開發(fā)或測試環(huán)境通常需要完成以下任務:
- 獲取并部署服務器。
- 安裝操作系統(tǒng)、運行時環(huán)境、源代碼控制存儲庫和必需的所有其他中間件。
- 配置操作系統(tǒng)、運行時環(huán)境、存儲庫和其他中間件。
- 轉移或復制現(xiàn)有的代碼。
- 測試并運行代碼以確保一切正常。
4.PaaS的主要成分
了解PaaS的最好方法可能是把它分解為主要組件:平臺和服務?,F(xiàn)在,考慮提供的服務,這稱為解決方案堆。也就是說,PaaS的兩個主要成分是計算平臺和解決方案堆。
按照最簡單的形式,計算平臺是指一個可以一致地啟動軟件的地方(只要代碼滿足平臺的標準)。平臺的常見示例包括Windows、Apple MacOSX和Linux操作系統(tǒng);用于移動計算的Google Android、Windows Mobile和Apple iOS;以及作為軟件框架的Adobe AIR和Microsoft NET Framework。要記住的重點是,計算平臺不是指軟件本身,而是指構建并運行軟件的平臺。下表提供一張示意圖以幫助理解這種關系。
范型轉變 | 特征 | 關鍵詞匯 | 優(yōu)點 | 缺點和風險 | 不應該使用的場合 | |
---|---|---|---|---|---|---|
IaaS | 基礎設施即資產(chǎn) | 常常獨立于平臺;分擔基礎設施成本,因此會降低成本;服務水平協(xié)議(SLA);按使用量付費;自我伸縮 | 網(wǎng)格計算,效用計算,計算實例,系統(tǒng)管理程序,暴雨(cloud bursting),多租用者計算,資源池 | 避免在硬件和人力資源方面花費資產(chǎn)費用;降低ROI風險;降低進入門檻;簡化和自動化伸縮過程 | 企業(yè)效率和生產(chǎn)力很大程度上取決于廠商的能力;可能會增加長期成本;集中化需要新的/不同的安全措施 | 當資產(chǎn)預算大于運營預算時 |
PaaS | 許可證購買 | 消費云基礎設施;能滿足敏捷的項目管理方法 | 解決方案堆 | 簡化的版本部署 | 集中化需要新的/不同的安全措施 | 無 |
SaaS | 軟件即資產(chǎn)(企業(yè)和消費者) | SLA;由“瘦客戶機”應用程序提供UI;云組件;通過API進行通信;無狀態(tài);松散耦合;模塊化;語義性互操作能力 | 瘦客戶機;客戶機-服務器應用程序 | 避免在軟件和開發(fā)資源方面花費資產(chǎn)費用;降低ROI風險;簡化和迭代式的更新 | 數(shù)據(jù)的集中化需要新的/不同的安全措施 | 無 |