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