越來越多的軟件,開始採用雲服務。
雲服務只是一個統稱,可以分成三大類。
IaaS:基礎設施服務,Infrastructure-as-a-service
PaaS:平臺服務,Platform-as-a-service
SaaS:軟件服務,Software-as-a-service
它們有什麼區別呢?
IBM 的軟件架構師 Albert Barron 曾經使用披薩作爲比喻,解釋這個問題。David Ng 進一步引申,讓它變得更準確易懂。
請設想你是一個餐飲業者,打算做披薩生意。
你可以從頭到尾,自己生產披薩,但是這樣比較麻煩,需要準備的東西多,因此你決定外包一部分工作,採用他人的服務。你有三個方案。
(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,原作者:阮一峯,如有侵權,請聯繫刪除 ,謝謝。