1. 程式人生 > 其它 >企業級SaaS架構實戰(1):什麼是SaaS?

企業級SaaS架構實戰(1):什麼是SaaS?

SaaS的定義

SaaS,是Software-as-a-Service的縮寫名稱,意思為軟體即服務,即通過網路提供軟體服務。

SaaS平臺供應商將應用軟體統一部署在自己的伺服器上,客戶可以根據工作實際需求,通過網際網路向廠商定購所需的應用軟體服務,按定購的服務多少和時間長短向廠商支付費用,並通過網際網路獲得Saas平臺供應商提供的服務。

SaaS的歷史

20世紀60 - 80年代,主要以C/S(主機系統+終端)為代表的,即大型機的集中式資料處理。那時大型機非常昂貴,能使用大型機的企業寥寥無幾。

進入80年代以後,PC機的效能有了極大提高,網路技術得到普及。大型機的市場越來越小,很多企業都改用小型機和伺服器。

同時,客戶機/伺服器(Client/Server)技術得到了大力發展,C/S模式充分發揮了客戶端的處理能力,客戶端完成介面展示,接受資料輸入,校驗資料有效性,向服務端傳送請求,伺服器的處理負荷減輕,很快在全球普及開來。

進入90年代,資訊科技飛速發展,大量企業大規模使用資訊科技,但是,隨著業務發展,企業逐漸發現,採購的伺服器數量越來越多,由此帶來的是高昂的管理成本、運維成本,企業期望以更低的成本集中管理伺服器資源,這為SaaS模式帶來了巨大的機會。

就在這一時代,大名鼎鼎的Salesforce在1999年3月創立。Salesforce是一家客戶關係管理(CRM) 軟體服務提供商,總部設於美國舊金山,可提供SaaS模式的客戶關係管理平臺。

2004年6月,Salesforce在紐約證券交易所成功上市,股票代號CRM,籌資1.1億美元。在《福布斯》全球最具創新力企業排行榜上Salesforce名列首位,而且連續四年穩居寶座。

如何理解SaaS、PaaS、IaaS

我們用一個吃披薩的例子來類比SaaS、PaaS、IaaS。

  • 首先在家自己做披薩是一件非常繁瑣的事,除了要發麵、和麵外,還需要準備好各種配料。

  • 在超市買好速食披薩,回家自己烤,可能是一個更好的選擇。

  • 當然,更快的方式是打電話點個披薩外賣,送到家裡吃。

  • 也有啥都不需要準備的方式,就是直接去西餐店去吃披薩,餐桌、飲料也是店裡的。

以上四種方式就對應雲服務的四種層次。

企業從0到1研發一款軟體系統,需要關注9個層次。分別是應用、資料、執行庫、中介軟體、執行系統、虛擬化技術、伺服器、儲存、網路。

虛擬化技術、伺服器、儲存、網路是軟體的基礎設施;而中間的執行庫、中介軟體、執行系統,就是利用基礎設施搭建出的平臺;在平臺之上就可以搭建各類應用。

不是所有企業都有獨立搭建軟體系統的能力,不同企業,根據財力不同,演化出不同需求:

  • 大型企業為了控制成本,希望租用伺服器,自己研發軟體。(IaaS)

  • 中型企業希望利用雲平臺,自己設計應用軟體。(PaaS)

  • 小型企業希望使用現成的軟體,應用和資料都上雲。(SaaS)

SaaS的分類

SaaS根據客戶服務內容可分為2類,分別為業務垂直型、行業垂直型。

業務垂直型SaaS指的是,針對企業的業務流程的某一階段提供的工具。例如:法大大是針對電子簽章環節提供SaaS產品,北森是針對人力資源,銷售易針對客戶管理。

業務垂直型SaaS通常會跨多行業,因為一個行業的市場規模非常有限。同時,由於該SaaS只涉及企業流程的部分環節,更容易實現標準化。

圖片來源:艾瑞諮詢:2020年中國企業級SaaS行業研究報告

​行業垂直型級SaaS,指的是聚焦在某一行業深耕的產品,產品複雜度相對較低,也更容易構建競爭壁壘,對於重視規模化的巨頭們對該賽道也不感冒。

圖片來源:艾瑞諮詢:2020年中國企業級SaaS行業研究報告

SaaS的特徵

1.可配置、可定製:

可配置、可定製是SaaS軟體的一個顯著特徵,客戶可以變更一系列的配置選項,這些配置會影響SaaS軟體的功能和介面展示。同時,客戶還可以做一些個性化的定製,不過這些定製點是提前定義好的。例如,客戶可以在介面上加入品牌Logo,或者改變配色。但是客戶一般不能隨意改變介面佈局,除非是深度定製服務。

2.快速交付:

SaaS軟體的迭代速度非常快,大部分SaaS軟體都可以做到按周或按月更新,主要是因為:

  • 軟體應用是中心化部署的,更新完全是由SaaS服務商說了算,不依賴客戶。

  • 系統、配置都只有一套,開發、測試能夠更快,服務商也不需要管理、維護多版本的軟體。

  • 服務商有許可權訪問客戶資料,排查問題和迴歸測試都更加便捷。

  • 服務商能夠方便地採集使用者行為,並及時回顧需求價值,快速改進。

  • 這個特徵非常符合敏捷開發理念,也讓SaaS模式能快速響應市場需求。

3.開放整合:

SaaS軟體沒有辦法訪問企業內部系統,一般而言,SaaS軟體都會提供開放API,通過這些API,企業內部系統可以和SaaS軟體打通。

4.多租戶:

SaaS軟體以一套標準系統支撐大量的客戶(又稱租戶),租戶之間需要資料隔離、配置隔離,保證每個租戶的安全與隱私,同時,不同租戶對UI介面、業務邏輯、資料結構有個性化需求,這對軟體平臺的效能、穩定性、擴充套件性帶來了巨大挑戰。

SaaS的挑戰

1.資料儲存在雲端伺服器上,資料安全是個隱患。

2.因為SaaS是多租戶架構,對軟體效能有非常大的挑戰。同時,無法滿足大客戶的大規模地定製,通常只能在有限的範圍內定製。

3.一些商業SaaS軟體,需要與客戶的資料打通,客戶的資料量可能非常龐大,遠端傳輸可能有巨大開銷,如果包含敏感資料,可能有安全風險,甚至違反法律法規。

4.如果客戶要放棄原有系統,切換到SaaS產品,需要遷移大量歷史資料,這也是一項非常艱鉅的任務。同時,客戶內部也需要增加大量新軟體的培訓成本,承擔新軟體未知的、不穩定的風險。

5.如果SaaS服務商突然倒閉,客戶無法訪問SaaS軟體,可能導致客戶的業務無法開展,甚至客戶的歷史資料也將永久無法訪問。

6.SaaS軟體依賴網際網路進行資料傳輸,速度遠比企業內網要慢。

7.SaaS需要保障SLA中約定的穩定執行時長。