POST TIME:2018-12-03 21:22
越來越多的軟件,開始采用云辦事。
云辦事只是一個統稱,可以分成三大類。
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。