SaaS成熟度模型的4個等級
SaaS成熟度模型根據是否具有可配置性、高性能、可伸縮可將SaaS成熟度分為四級,每一級都比前一級增加三種特性中的一種。
SaaS優勢:規模效應
SaaS軟件相對傳統軟件而言,具有強大的規模效應。
就傳統軟件而言,每部署一套應用都需要配置相應的服務器,網絡設備,運維人員及進行一定程度的定制化開發,成本隨部署應用的增多以恒定的速率上升。
但,SaaS模式只部署一套軟件實例,所需投入的開發、服務器、運維人員是明確的。隨著客戶規模的上升,分攤到單個客戶所需要承擔的成本將進一步下降。
如圖所示:
在軟件初期,SaaS模式需要投入的軟件綜合使用成本會比傳統模式高,但隨著客戶數的增加,SaaS模式的“規模效應”的逐漸形成,其綜合使用成本上升幅度不大,并逐步趨于平穩。反觀傳統模式,隨著客戶數的增加,所需投入的軟件綜合使用成本一直以恒定的增幅上升。
SaaS應用具有可預期的規模效應,這種規模效應不僅僅是商業上的問題,更是一個應用架構的問題,只有更穩定優良的應用架構,才能更好的支撐SaaS。
SaaS的成熟度模型
根據是否具有可配置性、高性能、可伸縮可將SaaS成熟度分為四級,每一級都比前一級增加三種特性中的一種。
Level1:定制開發
為用戶提供專用的數據庫實例及應用服務器實例,依據用戶實際需求進行定制化開發,其實最初的SaaS應用成熟度模型,在技術架構上和傳統項目型軟件開發或軟件外包沒什么區別。有一個客戶項目,就按照客戶的需求來定制一個版本,每個客戶都有一份獨立的代碼,各版本間可通用的只有少量可重用軟件,庫及開發人員經驗。
雖然最初級的SaaS模型,在應用架構上和傳統軟件模式并沒有什么區別,但,在商業模式上,最初級的SaaS模型和傳統軟件模式,還是存在本質上的區別——即軟硬件及相應的維護職責都由SaaS服務商提供,用戶按需繳納費用即可使用。
Level2:可配置
還是為用戶部署單獨的運行實例,但有效的減低了第二次開發的成本,通過可配置的形式,滿足用戶的基本需求。
最初級的成熟度模型,顯然并不是良好的SaaS成熟度模型,每次新增用戶都需要進行定制化的開發,單獨部署。這種模式勢必會導致隨著客戶數的增加,需要投入的定制化開發成本,軟硬件已經運營成本,都將隨著客戶的增加而按照比較增加。
但這種模式達到一定規模后,想要進一步擴大規模,基本上就只能依賴于人肉戰術了。
所以,首先需要解決的問題就是降低定制化開發成本。SaaS第二級依賴的解決方案,就是通過可配置化實現有效降低開發,進而達到縮減成本的目的。希望通過可配置化來滿足不同客戶的需求,而不需要為客戶進行特定的開發。
但是,其實通過描述可發現,在第二級模型中,軟件的部署架構并沒有發生多大的變化,依舊是為每個客戶部署一個運行實例,只是每個運行實例都是運行著同一份代碼,通過配置的不同來滿足不同客戶的需求。
Level3:高性能多租戶架構
從應用架構的角度而言,第一級和第二級成熟度模型和傳統軟件并沒有太大的區別,只是在商業模式上比較符合SaaS的定義。由于其應用架構的設計是為每一個新的租戶都單獨部署一份軟件實例,在一對一的架構,勢必會導致需要維護軟硬件成本,隨著新租戶的增加而直線上升,無法有效的發揮SaaS模式的規模效應。
所以,多租戶單實例的SaaS架構才是通常上真正意義的SaaS模式,多個租戶對應一個軟件實例可有效的降低軟硬件成本,充分發揮SaaS模式的規模效應。
實現多租戶模型的關鍵是通一定的策略來確保用戶數據的獨立性,用戶共享統一的應用實例,勢必會對數據獨立性提出一定的要求,在用戶需求差別不大,客戶數量不多時,講一個第一級/第二級成熟度模型改造成多租戶并不會太復雜,通??梢酝ㄟ^獨立數據庫,共享數據庫獨立數據結構,共享數據結果實現。
Level4:可伸縮性多租戶架構
該級別的初始目的為了實現在用戶數大量增加的情況下,無須更改應用架構,只需要簡答的增加硬件部署的數量,就可支撐應用規模的增長。
在架構設計中的Tenant Load Balaner層將會保存用戶,租戶與對應軟件實例的映射,用戶登錄后,即刻映射到對應的軟件實例。
本文由 @老鬼 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自網絡
你好,能否詳細介紹一下高性能多租戶架構?我這邊還不是很明白。