當前位置: 妍妍網 > 碼農

你知道什麽是 SaaS 嗎?

2024-02-27碼農

來源:juejin.cn/post/ 7270864903014268962

👉 歡迎 ,你將獲得: 專屬的計畫實戰 / Java 學習路線 / 一對一提問 / 學習打卡 / 贈書福利

全棧前後端分離部落格計畫 1.0 版本完結啦,2.0 正在更新中 ... , 演示連結 http://116.62.199.48/ ,全程手摸手,後端 + 前端全棧開發,從 0 到 1 講解每個功能點開發步驟,1v1 答疑,直到計畫上線。 目前已更新了219小節,累計34w+字,講解圖:1492張,還在持續爆肝中.. 後續還會上新更多計畫,目標是將Java領域典型的計畫都整一波,如秒殺系統, 線上商城, IM即時通訊,Spring Cloud Alibaba 等等,

  • 1 雲服務架構的三個概念

  • 1.1 PaaS

  • 1.2 IaaS

  • 1.3 SaaS

  • 2 SaaS系統的兩大特征

  • 3 SaaS服務與傳統服務、互聯網服務的區別

  • 3.1 SaaS服務

  • 3.2 傳統軟體

  • 3.3 互聯網套用供應商

  • 4 B2B2C

  • 5 SaaS系統的分類

  • 5.1 業務型SaaS

  • 5.2 效率型SaaS

  • 5.3 混合型SaaS

  • 6 如何SaaS化

  • 7 SaaS產品的核心元件

  • 8 SaaS多租戶

  • 8.1 多租戶核心概念

  • 8.2 三大模式

  • 8.3 多租戶系統需要具備的能力

  • 8.4 多租戶系統套用架構圖

  • 天天聽SaaS,相信大家都知道什麽叫SaaS系統!這不?領導安排下來了任務,說要去做SaaS系統,作為小白的我趕緊去看看什麽是SaaS,大概收集整理(並非原創)了這部份內容,分享給大家。相信大家看了也會有很多收獲。

    本文從以下幾個方面對SaaS系統召開介紹:

  • 雲服務架構的三個概念

  • SaaS系統的兩大特征

  • SaaS服務與傳統服務、互聯網服務的區別

  • B2B2C

  • SaaS系統的分類

  • 如何SaaS化

  • SaaS產品的核心元件

  • SaaS多租戶

  • 1 雲服務架構的三個概念

    1.1 PaaS

    英文就是 Platform-as-a-Service(平台即服務)

    PaaS,某些時候也叫做中介軟體。就是把客戶采用提供的開發語言和工具(例如Java,python, .Net等)開發的或收購的應用程式部署到供應商的雲端運算基礎設施上去。

    客戶不需要管理或控制底層的雲基礎設施,包括網路、伺服器、作業系統、儲存等,但客戶能控制部署的應用程式,也可能控制執行應用程式的托管環境配置。

    PaaS 在網上提供各種開發和分發套用的解決方案,比如虛擬伺服器和特定的作業系統。底層的平台3/4幫你鋪建好了,你只需要開發自己的上層套用。這即節省了你在硬體上的費用,也讓各類套用的開發更加便捷,不同的工作互相打通也變得容易,因為在同一平台上遵循的是同樣的程式語言、協定和底層程式碼。

    1.2 IaaS

    英文就是 Infrastructure-as-a-Service(基礎設施即服務)

    IaaS 提供給消費者的服務是對所有計算基礎設施的利用,包括處理 CPU、記憶體、儲存、網路和其它基本的計算資源,使用者能夠部署和執行任意軟體,包括作業系統和應用程式。

    消費者不管理或控制任何雲端運算基礎設施,但能控制作業系統的選擇、儲存空間、部署的套用,也有可能獲得有限制的網路元件(例如路由器、防火墻、負載均衡器等)的控制。

    IaaS 會提供場外伺服器,儲存和網路硬體,你可以租用。節省了維護成本和辦公場地,公司可以在任何時候利用這些硬體來執行其套用。我們最熟悉的IaaS服務是我們伺服器托管業務,多數的IDC都提供這樣的服務,使用者自己不想要再采購價格昂貴的伺服器和磁碟陣列了,所有的硬體都由 IaaS 提供,你還能獲得品質更高的網路資源。

    1.3 SaaS

    英文就是 Software-as-a-Service(軟體即服務)

    SaaS提供給客戶的服務是執行在雲端運算基礎設施上的應用程式,使用者可以在各種裝置上透過客戶端界面存取,如瀏覽器。

    消費者不需要管理或控制任何雲端運算基礎設施,包括網路、伺服器、作業系統、儲存等等。

    SaaS 與我們普通使用者聯系可能是最直接的,簡單地說任何一個遠端伺服器上的套用都可以透過網路來執行,就是SaaS了。國內的互聯網巨頭竭力推薦的 SaaS 套用想必大家已經耳熟能詳了,比如阿裏的釘釘,騰訊的企業微信,這些軟體裏面套用平台上的可供使用的各類SaaS小軟體數不勝數,從OA,到ERP到CRM等等,涵蓋了企業執行所需的幾乎所用套用。

    2 SaaS系統的兩大特征

    部署在供應商的伺服器上,而不是部署在甲方的伺服器上。

    訂購模式,服務商提供大量功能供客戶選擇,客戶可以選擇自己需要的進行組合,支付所需的價格,並支持按服務時間付費。

    3 SaaS服務與傳統服務、互聯網服務的區別

    3.1 SaaS服務

    介於傳統與互聯網之間,透過租用的方式提供服務,服務部署在雲端,任何使用者透過註冊後進行訂購後獲得需要的服務,可以理解成伺服器及軟體歸供應商所有,使用者透過付費獲得使用權

    圖片

    3.2 傳統軟體

    出售軟體及配套裝置,將軟體部署在客戶伺服器或客戶指定雲伺服器,出售的軟體系統及運維服務為盈利來

    圖片

    3.3 互聯網套用供應商

    伺服器部署在雲端,所有使用者可以透過客戶端註冊進行使用,廣告及付費增值服務作為盈利來源

    圖片

    4 B2B2C

    SaaS作為租戶系統,需要為租戶(C端)提供註冊、購買、業務系統的入口,還得為B端(營運/運維)提供租戶管理、流量監控、服務狀態監控運維入口

    5 SaaS系統的分類

    5.1 業務型SaaS

    定義:為客戶的賺錢業務提供工具以及服務的SaaS,直面的是使用者的生意,例如有贊微盟等電商SaaS以及銷售CRM工具,為B2B2C企業;

    架構以及商業模式:在產品的成長期階段,為了擴充業務規模和體量,業務SaaS產品會拓展為「多場景+多行業」的產品模式,為不同行業或者不同場景提供適應的解決方案,例如做電商獨立站的有贊,後期發展為「商城、零售、美業、教育」多行業的解決方案進行售賣。

    圖片

    5.2 效率型SaaS

    定義:為客戶效率提升工具的SaaS,如計畫管理工具、Zoom等會議工具,提升辦公或者生產效率,為B2B企業;

    架構以及商業模式:不同於業務型的SaaS,效率SaaS思考得更多的是企業記憶體在一個大共性的效率的問題,不同的企業對於CRM銷售系統的需求是不一樣的,但都需要一個協同辦公的產品來提升協作效率。對於效率類SaaS來說,從哪來到哪去是非常清晰的,就是要解決最佳化或者解決一個流程上的問題。

    圖片

    5.3 混合型SaaS

    定義:即兼顧企業業務和效率效用SaaS,例如近幾年在私域流量上大做文章的企業微信,其本身就是一個辦公協同工具,但為企業提供了一整套的私域管理能力,實作業務的提升,同時也支持第三方服務。

    架構以及商業模式:混合SaaS是業務和效率SaaS的結合體,負責企業業務以及企業管理流程的某類場景上的降本增效;因混合SaaS核心業務的使用場景是清晰且通用的,非核心業務是近似於錦上添花的存在,所以在中台產品架構上更接近為「1+X」組合方式——即1個核心業務+X個非核心功能,兩者在產品層級上是屬於同一層級的。

    圖片

    6 如何SaaS化

  • 進行雲化部署,效能升級,能夠支持更大規模的使用者存取

  • 使用者系統改造,支持2C使用者登入(手機號一鍵登入、小程式登入、簡訊驗證碼登入)

  • 閘道器服務,限流,介面防篡改等等

  • 租戶系統開發,包含租戶基礎資訊管理、租戶繫結資源(訂購的功能)、租戶服務期限等等

  • 客戶端改造(通常SaaS系統主要提供WEB端服務),頁面許可權控制,根據租戶系統使用者資源提供使用者已購買的模組或頁面

  • 官網開發,功能報價單,功能試用、使用者選購及支付

  • 伺服端介面數據許可權改造、租戶級別數據許可權

  • 7 SaaS產品的核心元件

  • 安全元件: 在SaaS產品中,系統安全永遠是第一位需要考慮的事情

  • 數據隔離元件: 安全元件解決了使用者數據安全可靠的問題,但數據往往還需要解決私密問題,各企業之間的數據必須相互不可見,即相互隔離。

  • 可配置元件: SaaS產品在設計之初就考慮了大多數通用的功能,讓租戶開箱即用,但任然有為數不少的租戶需要客製服務自身業務需求的配置項,如UI布局、主題、標識(Logo)等資訊

  • 可延伸元件: SaaS產品應該具備水平擴充套件的能力。如透過網路負載均衡其和容器技術,在多個伺服器上部署多個軟體執行範例並提供相同的軟體服務,以此實作水平擴充套件SaaS產品的整體服務效能

  • 0停機時間升級產品: 實作在不重新開機原有應用程式的情況下,完成應用程式的升級修復工作

  • 多租戶元件: SaaS產品需要同時容納多個租戶的數據,同時還需要保證各租戶之間的數據不會相互幹擾,保證租戶中的使用者能夠按期望索引到正確的數據

  • 8 SaaS多租戶

    8.1 多租戶核心概念

  • 租戶: 一般指一個企業客戶或個人客戶,租戶之間數據與行為是隔離的

  • 使用者: 在某個租戶內的具體使用者,可以透過使用帳戶名、密碼等登入資訊,登入到SaaS系統使用軟體服務

  • 組織: 如果租戶是一個企業客戶,通常會擁有自己的組織架構

  • 員工: 是指組織內部具體的某位員工。

  • 解決方案: 為了解決客戶的某型別業務問題,SaaS服務商將產品與服務組合在一起,為商家提供整體的打包方案。

  • 產品能力: 指的是SaaS服務商對客戶售賣的產品套用,特指能夠幫助客戶實作端到端場景解決方案閉環的能力。

  • 資源域: 用來執行1個或多個產品套用的一套雲資源環境

  • 雲資源: SaaS產品一般都部署在各種雲平台上,例如阿裏雲、騰訊雲、華為雲等。對這些雲平台提供的計算、儲存、網路、容器等資源,抽象為雲資源。

  • 8.2 三大模式

    8.2.1 豎井隔離模式

    圖片

    優勢:

  • 滿足強隔離需求: 一些客戶為了系統和數據的安全性,可能提出非常嚴格的隔離需求,期望軟體產品能夠部署在一套完全獨立的環境中,不和其他租戶的套用例項、數據放在一起。

  • 計費邏輯簡單: SaaS服務商需要針對租戶使用資源進行計費,對於復雜的業務場景,計算、儲存、網路資源間的關系同樣也會非常復雜,計費模型是很有挑戰的,但在豎井模式下,計費模型相對來說是比較簡單的。

  • 降低故障影響面: 因為每個客戶的系統都部署在自己的環境中,如果其中一個環境出現故障,並不會影響其他客戶使用軟體服務。

  • 劣勢:

  • 規模化問題: 由於租戶的SaaS環境是獨立的,所以每入駐一個租戶,就需要建立和營運一套SaaS環境,如果只是少量的租戶,還可能可以管理,但如果是成千上萬的租戶,管理和營運這些環境將會是非常大的挑戰。

  • 成本問題: 每個租戶都有獨立的環境,花費在單個客戶上的成本將非常高,會大幅削弱SaaS軟體服務的盈利能力。

  • 敏捷叠代問題: SaaS模式的一個優勢是能夠快速響應市場需求,叠代產品功能。但豎井隔離策略會阻礙這種敏捷叠代能力,因為更新、管理、支撐這些租戶的SaaS環境,會變得非常復雜和低效。

  • 統一管理與監控: 在同一套環境中,對部署的基礎設施進行管理與監控,是較為簡單的。但每個租戶都有獨立的環境,在這種非中心化的模式下,對每個租戶的基礎設施進行管理與監控,同樣也是非常復雜、困難的。

  • 8.2.2 共享模式

    圖片

    優勢:

  • 高效管理: 在共享策略下,能夠集中化地管理、營運所有租戶,管理效率非常高。同時,對基礎設施配置管理、監控,也將更加容易。相比豎井策略,產品的叠代更新會更快。

  • 成本低: SaaS服務商的成本結構中,很大一塊是基礎設施的成本。在共享模型下,服務商可以根據租戶們的實際資源負載情況,動態伸縮系統,這樣基礎設施的利用率將非常高。

  • 劣勢:

  • 租戶相互影響: 由於所有租戶共享一套資源,當其中一個租戶大量占用機器資源,其他租戶的使用體驗很可能受到影響,在這種場景下,需要在技術架構上設計一些限制措施(限流、降級、伺服器隔離等),讓影響面可控。

  • 租戶計費困難: 在豎井模型下,非常容易統計租戶的資源消耗。然而,在共享模型下,由於所有租戶共享一套資源,需要投入更多的精力統計單個租戶的合理費用。

  • 8.2.3 分域隔離模式

    圖片

    8.3 多租戶系統需要具備的能力

  • 多個租戶支持共享一套雲資源,如計算、儲存、網路資源等。單個租戶也可以獨占一套雲資源。

  • 多個租戶間能夠實作數據與行為的隔離,能夠對租戶進行分權分域控制。

  • 租戶內部能夠支持基於組織架構的管理,可以對產品能力進行授權和管理。

  • 不同的產品能力可以根據客戶需求,支持執行在不同的雲資源上。

  • 8.4 多租戶系統套用架構圖

    👉 歡迎 ,你將獲得: 專屬的計畫實戰 / Java 學習路線 / 一對一提問 / 學習打卡 / 贈書福利

    全棧前後端分離部落格計畫 1.0 版本完結啦,2.0 正在更新中 ... , 演示連結 http://116.62.199.48/ ,全程手摸手,後端 + 前端全棧開發,從 0 到 1 講解每個功能點開發步驟,1v1 答疑,直到計畫上線。 目前已更新了219小節,累計34w+字,講解圖:1492張,還在持續爆肝中.. 後續還會上新更多計畫,目標是將Java領域典型的計畫都整一波,如秒殺系統, 線上商城, IM即時通訊,Spring Cloud Alibaba 等等,


    1. 

    2. 

    3. 

    4. 

    最近面試BAT,整理一份面試資料Java面試BATJ通關手冊,覆蓋了Java核心技術、JVM、Java並行、SSM、微服務、資料庫、數據結構等等。

    獲取方式:點「在看」,關註公眾號並回復 Java 領取,更多內容陸續奉上。

    PS:因公眾號平台更改了推播規則,如果不想錯過內容,記得讀完點一下在看,加個星標,這樣每次新文章推播才會第一時間出現在你的訂閱列表裏。

    「在看」支持小哈呀,謝謝啦