愈來愈多的軟件,開始採用雲服務。html
雲服務只是一個統稱,能夠分紅三大類。git
IaaS:基礎設施服務,Infrastructure-as-a-service架構
PaaS:平臺服務,Platform-as-a-serviceide
SaaS:軟件服務,Software-as-a-service操作系統
它們有什麼區別呢?設計
IBM 的軟件架構師 Albert Barron 曾經使用披薩做爲比喻,解釋這個問題。David Ng 進一步引伸,讓它變得更準確易懂。orm
請設想你是一個餐飲業者,打算作披薩生意。htm
你能夠從頭至尾,本身生產披薩,可是這樣比較麻煩,須要準備的東西多,所以你決定外包一部分工做,採用他人的服務。你有三個方案。blog
(1)方案一:IaaS資源
他人提供廚房、爐子、煤氣,你使用這些基礎設施,來烤你的披薩。
(2)方案二:PaaS
除了基礎設施,他人還提供披薩餅皮。
你只要把本身的配料灑在餅皮上,讓他幫你烤出來就好了。也就是說,你要作的就是設計披薩的味道(海鮮披薩或者雞肉披薩),他人提供平臺服務,讓你把本身的設計實現。
(3)方案三:SaaS
他人直接作好了披薩,不用你的介入,到手的就是一個成品。你要作的就是把它賣出去,最多再包裝一下,印上你本身的 Logo。
上面的三種方案,能夠總結成下面這張圖。
從左到右,本身承擔的工做量(上圖藍色部分)愈來愈少,IaaS > PaaS > SaaS。
對應軟件開發,則是下面這張圖。
SaaS 是軟件的開發、管理、部署都交給第三方,不須要關心技術問題,能夠拿來即用。普通用戶接觸到的互聯網服務,幾乎都是 SaaS,下面是一些例子。
客戶管理服務 Salesforce
團隊協同服務 Google Apps
儲存服務 Box
儲存服務 Dropbox
社交服務 Facebook / Twitter / Instagram
PaaS 提供軟件部署平臺(runtime),抽象掉了硬件和操做系統細節,能夠無縫地擴展(scaling)。開發者只須要關注本身的業務邏輯,不須要關注底層。下面這些都屬於 PaaS。
Heroku
Google App Engine
OpenShift
IaaS 是雲服務的最底層,主要提供一些基礎資源。它與 PaaS 的區別是,用戶須要本身控制底層,實現基礎設施的使用邏輯。下面這些都屬於 IaaS。
Amazon EC2
Digital Ocean
RackSpace Cloud
參考連接
SaaS, PaaS and IaaS explained in one graphic, by David Ng
When to use SaaS, PaaS, and IaaS, by Eamonn Colman
(完)
本文轉載自:http://www.ruanyifeng.com/blog/2017/07/iaas-paas-saas.html,原做者:阮一峯,若有侵權,請聯繫刪除 ,謝謝。