雲技術-SaaS架構初步理解

最近公司準備整一個SaaS的東西。有幸參入這一塊東西的搭建,藉着這個機會也重新好好梳理了一下對SaaS的認識。今天整理一下!

 

一、雲計算與SaaS

說起SaaS,就得先說說雲計算了。關於雲計算分爲三層,基礎設施在最下端,平臺在中間,軟件在頂端,分別是分別是Infrastructure-as-a-Service(IaaS),Platform-as-a-Service(PaaS),Software-as-a-
Service(SaaS)。這裏雖說主要是要記錄一下SaaS架構的理解,隨便說說IaaS,PaaS,SaaS分別是個啥東西。

IaaS: Infrastructure-as-a-Service(基礎設施即服務)有了IaaS,你可以將硬件外包到別的地方去。IaaS公司會提供場外服務器,存儲和網絡硬件,供其他軟件公司租用;

PaaS: Platform-as-a-Service(平臺即服務)某些時候也叫做中間件。你公司所有的開發都可以在這一層進行,節省了時間和資源。

SaaS: Software-as-a-Service(軟件即服務)第三層也就是所謂SaaS。被用戶直接接觸,大多是通過網頁瀏覽器來接入。任何一個遠程服務器上的應用都可以通過網絡來運行,就是SaaS了。

 

二、有關SaaS的理解

2.1、SaaS架構成熟度模型的5個級別——從“混亂”到“烏托邦“

第0級(混亂):每次新增一個客戶,都會新增軟件的一個實例。
第1級(受控的混亂):所有客戶都運行在軟件的同一個版本上,而且任何的定製化都通過修改配置來實現。
第2級(多租戶[multi-tenant]、高層建築[Highrise]):所有的客戶都已經可以在軟件的同一個版本上運行了,而且他們都在同一個“實例”上運行。
第3級(多租戶, 擴建[Build-Out]):此時你已經擁有了多租戶、單一版本的軟件模型。不過你還是可以通過硬件擴展(scale-out)的方式來進行擴充。
第4級(烏托邦):如同第3級,除非你可以找出有效的方式,以在不同的“實例”上運行不同版本的軟件。

2.2、SaaS的關鍵點:多租戶;硬件虛擬化;

2.3、web 應用程序與SaaS 應用程序對比,SaaS需要多考慮的方面

  • 1,應用程序必須支持多租戶

    多租戶可以分爲幾個不同的類別(如列表下方的圖所示):
    1.1,雲中的簡單虛擬化,其中只對硬件進行共享。
    1.2,共享應用程序,對每個租戶使用不同的數據庫。
    1.3,共享應用程序和數據庫(效率最高,真正的多租戶)。

  • 2,應用程序必須具備某種程度的自助註冊功能。

    2.1, 應用程序必須具備某種程度的自助註冊功能,即便僅僅是一種請求機制,即產生一種嚮應用程序添加租戶的業務流程。

  • 3,必須具備訂閱/記賬機制。

    3.1, 必須提供訂閱和記賬機制。因爲 SaaS 應用程序被設計爲根據各種因素進行支付,如每個租戶的用戶數、應用程序選擇,還可能包括使用時間等,必須通過某種方式來跟蹤和管理
應用程序的使用,然後生成可由租戶管理人員訪問的記賬信息

  • 4,應用程序必須能夠有效地擴展。

    4.1, 必須能夠隨着訂閱的增長進行擴展

  • 5,必須能夠監視、配置和管理應用程序和租戶。

    5.1, 必須提供治理和應用程序管理功能,以監視、配置和管理應用程序及所有租戶

  • 6,必須有一種機制能夠支持惟一的用戶標識和身份驗證。
  • 7,必須有一種機制能夠支持對每個租戶進行某種程度的自定義。

2.4、性能問題

  • 1,橫向/縱向擴展

     1.1,橫向擴展通常用於應用服務器層。

     1.2,縱向擴展通常用於數據庫層。

  • 2,數據庫集羣化
  • 3,地理、分區和同步
  • 4,獨立的數據庫

2.5、需要考慮的安全性問題

  • 1, 阻止一個租戶查看另一個租戶的數據作爲一個基本要求;
  • 2, 這些其他應用程序可以是需要訪問或共享數據的內部應用程序;也可以是對數據進行挖掘以獲得趨勢的分析或報告編寫工具。(即使是數據庫管理員使用的實用工具也會引起安全問題,如果租戶可以使用它們訪問,或者更糟,操作不屬於它們的數據的話。

2.6、選擇技術棧

2.7、SaaS分層:呈現層,調度層,業務層,數據層;

2.8、SaaS計費

  SaaS系統是一種租憑方式的軟件銷售手段。收費一定要遵守“按需訂閱,按量付費”的原則。其中付費點有三個維度:一個是計算量、存儲量和時間

 

暫時對SaaS的大概理解就是這麼多,後續實施再進一步完善。最後感謝網絡,感謝前輩們的無私分享!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章