什么是SaaS系統:
越來越多的軟件,開始采用雲服務。
雲服務只是一個統稱,可以分成三大類。

- 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的服務解決方案:
租戶:即每個共享產品的所有者,參與收益分成;
代理:共享產品所有者所發展的城市合伙人,參與收益分成;
商家:共享產品的門店鋪設方,參與收益分成;
用戶:共享商品的付費者;
租戶可實現自有域名、自有公眾號、小程序、以及獨立微信商戶平台的相關部署;
本系列將已目前市面上的共享充電寶為模板,從頭到尾實現相關的關鍵業務流程,關鍵代碼全部開源
服務端運行環境為asp.net core mysql ,客戶端載體為微信公眾號及小程序;
Saas服務概念參考 阮一峰<<IaaS,PaaS,SaaS 的區別>>
