初始動機 - SaaS 架構基礎知識

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

初始動機

要了解 SaaS,讓我們從創建 SaaS 業務時嘗試實現的相當簡單的概念開始。最好的開始是查看傳統(非 SaaS)軟件的創建,管理和操作方式。

下圖提供數個廠商如何封裝及交付其解決方案的概念性檢視。

描述了包裝和交付軟件解決方案的經典模型的圖表。

用於包裝和交付軟件解決方案的經典模型

在此圖中,我們描述了客戶環境的集合。這些客戶代表購買廠商軟體的不同公司或實體。這些客戶基本上都是在安裝軟體提供者產品的獨立環境中執行。

在此模式中,每位客戶的安裝都會被視為專屬於該客戶的獨立環境。這表示客戶將自己視為這些環境的擁有者,可能會要求一次性自訂或支援其需求的獨特組態。

這種心態的一個常見的副作用是,客戶將控制他們正在運行的產品的哪個版本。基於各種原因,可能會發生此問題。客戶可能會擔心新功能,或擔心採用新版本相關的中斷。

您可以想像這種動態如何影響軟體提供者的營運足跡。您允許客戶擁有一次性環境越多,管理、更新和支援每位客戶的各種組態就越具挑戰性。

對於一次性環境的需求,通常需要組織建立專門的團隊,為每位客戶提供獨立的管理和營運經驗。雖然其中一些資源可能會在客戶之間共用,但此模型通常會為每個已入職的新客戶引入增量費用。

讓每位客戶在自己的環境 (雲端或內部部署) 執行解決方案也會影響成本。雖然您可以嘗試擴展這些環境,但擴展將限制為單一客戶的活動。基本上,您的成本最佳化僅限於您在個別客戶環境範圍內可達成的目標。這也意味著您可能需要單獨的擴展策略來適應客戶之間的活動變化。

最初,一些軟件企業會將此模型視為一個強大的結構。他們利用提供一次性自訂作為銷售工具的功能,讓新客戶能夠強加其環境獨有的需求。儘管客戶數量和業務的增長仍然溫和,但這種模式似乎完全可持續。

然而,隨著公司開始取得更廣泛的成功,這種模式的限制開始創造真正的挑戰。例如,想像一下,您的業務達到顯著增長峰值的情況,您可以快速增加許多新客戶。這種增長將開始增加營運開銷,管理複雜性,成本以及許多其他問題。

最終,這種模式的集體開銷和影響可能會從根本上破壞軟件業務的成功。第一個痛點可能是運營效率。與引進客戶相關的增量人員配置和成本開始侵蝕業務的利潤。

但是,操作問題只是挑戰的一部分。真正的問題是,隨著規模的擴展,這種模式會直接開始影響企業發布新功能並與市場保持同步的能力。當每個客戶都有自己的環境時,提供者在嘗試將新功能引入其系統時,必須在許多更新、移轉和客戶需求之間取得平衡。

這通常會導致更長和更複雜的發行週期,這往往會減少每年發布的發布數量。更重要的是,這種複雜性使團隊在發布給客戶之前就花費更多時間來分析每個新功能。團隊開始更專注於驗證新功能,而減少交付速度。發布新功能的開銷變得如此重要,以至於團隊變得更加專注於測試機制,而不再關注推動其產品創新的新功能。

在這種較慢,更謹慎的模式下,團隊往往會有很長的循環時間,這些想法開始與落在客戶手中之間會有更大的差距。總體而言,這可能會阻礙您對市場動態和競爭壓力作出反應的能力。