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層將會保存用戶,租戶與對應軟體實例的映射,用戶登錄後,即刻映射到對應的軟體實例。
推薦閱讀:
相關文章