什麼是Saas架構?

XXXcool發表於2018-05-24

一、雲端計算與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,應用程式必須具備某種程度的自助註冊功能。

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

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

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

  • 4,應用程式必須能夠有效地擴充套件。

            必須能夠隨著訂閱的增長進行擴充套件

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

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

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

文章轉自:https://www.cnblogs.com/peak2013/p/7381265.html

相關文章