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