隨著新冠疫情的爆發(fā)、疫情的逐漸好轉(zhuǎn),中小企業(yè)們的生意開(kāi)始變得好做,老板們花錢(qián)再也不敢大手大腳,而是精打細(xì)算的經(jīng)營(yíng),SAAS模式便是其最好的選擇。企業(yè)只需要按照自己的需求進(jìn)行購(gòu)買(mǎi)服務(wù)、付費(fèi)就好了,也不需要再去安裝、運(yùn)維服務(wù),服務(wù)的升級(jí)、更新也不用管;傳統(tǒng)情況下都是企業(yè)自己購(gòu)買(mǎi)服務(wù)器、將代碼部署在應(yīng)用程序上并提供服務(wù),需要支付服務(wù)器的成本、服務(wù)成本、實(shí)施成本、維護(hù)成本,這樣的成本是很高的。因此SAAS越來(lái)越得到認(rèn)可。那么一個(gè)SAAS產(chǎn)品的技術(shù)特點(diǎn)是什么?技術(shù)架構(gòu)是怎么樣?如何做技術(shù)實(shí)現(xiàn)呢?
SAAS產(chǎn)品最典型的特點(diǎn)便是多租戶,所謂多租戶就是一個(gè)平臺(tái)、多個(gè)企業(yè)(1人或多人)。一個(gè)平臺(tái)指的是企業(yè)提供的一個(gè)代碼版本、一套服務(wù)器、一個(gè)數(shù)據(jù)庫(kù);多個(gè)企業(yè)指的是每個(gè)企業(yè)的數(shù)據(jù)是不一樣的,每個(gè)企業(yè)都有一個(gè)唯一的租戶ID,所有的數(shù)據(jù)訪問(wèn)和安全措施都按租戶ID隔離。這也是我們?cè)谑褂胹alesforce、appdynamics等SAAS產(chǎn)品的訪問(wèn)鏈接時(shí)有一個(gè)唯一的ID的原因。
清楚了一個(gè)SAAS產(chǎn)品的特點(diǎn)后,我們?cè)賮?lái)看看把一個(gè)產(chǎn)品進(jìn)行SAAS化核心要考慮的點(diǎn)有哪些呢?總的來(lái)說(shuō)有5點(diǎn),第一是嚴(yán)格隔離不同租戶的數(shù)據(jù),第二是對(duì)用戶需求所使用的計(jì)算存儲(chǔ)能力按需分配,第三是滿足不同用戶的不同使用需求,用戶可以按需搭配功能使用,第四是對(duì)產(chǎn)品進(jìn)行統(tǒng)一升級(jí)并且不影響用戶的已有功能與數(shù)據(jù),第五是支持用戶按需進(jìn)行功能和數(shù)據(jù)的開(kāi)發(fā)與擴(kuò)展。
對(duì)于第二點(diǎn),基于云平臺(tái)的彈性伸縮便可以實(shí)現(xiàn)計(jì)算資源、網(wǎng)絡(luò)資源、存儲(chǔ)資源按用戶需求自由擴(kuò)展。對(duì)于第三點(diǎn),在產(chǎn)品設(shè)計(jì)時(shí),采用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的思想、微服務(wù)的架構(gòu)實(shí)現(xiàn)將服務(wù)拆分成原子化,這樣便可滿足不同用戶選擇不同功能組合的訴求。對(duì)于第一點(diǎn)、第四點(diǎn)、第五點(diǎn),則是在做底層數(shù)據(jù)模型設(shè)計(jì)時(shí),要對(duì)數(shù)據(jù)進(jìn)行抽象建模,然后再把不同的數(shù)據(jù)模型映射到物理模型、存儲(chǔ)架構(gòu),這樣在隔離用戶數(shù)據(jù)、支持用戶按需進(jìn)行功能擴(kuò)展和開(kāi)發(fā)時(shí)都比較容易擴(kuò)展。
清楚核心要素后,我們?cè)賮?lái)看看一個(gè)SAAS產(chǎn)品的設(shè)計(jì)。其實(shí)SAAS產(chǎn)品相對(duì)普通產(chǎn)品而言只是多了一個(gè)多租戶的特點(diǎn),因此在技術(shù)架構(gòu)上也比普通產(chǎn)品多了一層,即租戶識(shí)別層-》應(yīng)用層-〉數(shù)據(jù)訪問(wèn)層-》緩存層-〉數(shù)據(jù)庫(kù)層。在租戶識(shí)別層,一般的做法都是通過(guò)URL來(lái)唯一識(shí)別租戶,SAAS系統(tǒng)中給租戶生成一個(gè)隨機(jī)的三級(jí)域名,比如xxx.aikegongchang.com,用戶還可以通過(guò)系統(tǒng)自定義自己的三級(jí)域名,比如xiaoming.aikegongchang.com。這樣當(dāng)用戶輸入U(xiǎn)RL進(jìn)行訪問(wèn)時(shí),系統(tǒng)便可判斷這是哪個(gè)企業(yè)。在收費(fèi)、功能定制開(kāi)發(fā)時(shí)也按照對(duì)應(yīng)的ID映射處理即可。
在SAAS產(chǎn)品的架構(gòu)一般可抽象為四層:呈現(xiàn)層-》調(diào)度層-〉業(yè)務(wù)層-》數(shù)據(jù)層。呈現(xiàn)層即前端,使用html、css、ajax等技術(shù)將產(chǎn)品web化,呈現(xiàn)在瀏覽器或本地客戶端中。調(diào)度層即負(fù)載均衡,根據(jù)不同的用戶請(qǐng)求將其轉(zhuǎn)發(fā)到不同的服務(wù)器。業(yè)務(wù)層即處理實(shí)際的業(yè)務(wù),接收并執(zhí)行來(lái)自調(diào)度層的請(qǐng)求,返回?cái)?shù)據(jù)。數(shù)據(jù)層即存儲(chǔ)業(yè)務(wù)的數(shù)據(jù),業(yè)務(wù)擴(kuò)展時(shí)還可以使用數(shù)據(jù)庫(kù)主從復(fù)制、分庫(kù)分表等進(jìn)行高可用。整個(gè)SAAS產(chǎn)品的架構(gòu)宏觀看就是分布式的代碼部署、分布式的數(shù)據(jù)存儲(chǔ),這樣便可以滿足不同規(guī)模用戶的訴求了。
SAAS模式已經(jīng)成為了軟件市場(chǎng)上令人興奮的發(fā)展模式。尤其是歐美國(guó)家,SAAS模式更是得到了高度認(rèn)可,我們所熟知的銷售產(chǎn)品Salesforce、電商平臺(tái)Shopify、人力資源平臺(tái)workday、IT服務(wù)ServiceNow、移動(dòng)支付Square、在線開(kāi)發(fā)協(xié)作平臺(tái)Atlassian、視頻會(huì)議zoom、企業(yè)溝通Slack,無(wú)一不是SAAS平臺(tái),也都做的非常成功。而中國(guó),SAAS的春天剛剛開(kāi)始,諸如電商平臺(tái)有贊、移動(dòng)支付兌吧、北森人力資源服務(wù)、財(cái)務(wù)支付暢捷通等等,也是收到了市場(chǎng)的認(rèn)可。
2021年更是迎來(lái)了SAAS的新一波發(fā)展期,突如其來(lái)的新冠疫情在一些行業(yè)按下了暫停鍵,但是另一些行業(yè)卻又按下了加速鍵,SAAS便是其中的一個(gè)。SAAS是一個(gè)很好的方向,中國(guó)企業(yè)的付費(fèi)習(xí)慣也慢慢被養(yǎng)成,市場(chǎng)也在有推動(dòng),或許也會(huì)是一個(gè)不錯(cuò)的創(chuàng)業(yè)方向~
(責(zé)任編輯:代碼如詩(shī)) |