Azure 架構良好的 SaaS 工作負載
Microsoft Azure 上建置及操作軟體即服務(SaaS)需要與其他類型的軟體相較之下的不同方法。 獨立軟體供應商 (ISV) 在雲端生態系統中具有獨特的地位,因為其 SaaS 解決方案會推動其業務。 他們將其產品銷售給企業,也稱為企業對企業(B2B)或消費者,也稱為企業對消費者(B2C)。 ISV 通常會裝載和維護其建置的 SaaS 解決方案。 其客戶會設定產品及管理數據。
使用良好架構架構建置的解決方案可確保工作負載可以大規模運作。 這一系列文章提供在 Azure 上建立可調整、高效能、可靠且安全的 SaaS 解決方案的重要見解。 如果您還不熟悉妥善架構的架構,建議您花一些時間了解其原則。
什麼是 SaaS 工作負載?
工作負載一詞是指支援一般商務目標或執行一般商務程式的應用程式資源集合,以及多個服務,例如 API 和數據存放區,共同合作以提供特定的端對端功能。
SaaS 一詞是指傳遞軟體即服務的商業模型。 身為廠商,您必須負責傳遞及操作整個解決方案。 您必須仔細管理大規模客戶環境,同時符合客戶隔離、安全性和合規性的需求。 SaaS 解決方案通常依賴多租用戶架構,其中資源會在多個客戶之間共用。 此方法會影響資源的設計和部署,以及提供給客戶的定價模式。
常見的挑戰為何?
Microsoft Azure 是提供 SaaS 的絕佳平臺,可提供必要的彈性和延展性。 它也提供功能來自動化 SaaS 傳遞的各個層面。 不過,在 Azure 上提供 SaaS 隨附自己的一組挑戰:
客戶期望值很高、品質高、安全性和復原能力高。 對於 B2B 解決方案,您基本上會成為客戶 IT 部門的延伸,負責讓您的解決方案運作正常且健康。 這需要從只開發軟體到大規模操作。
提供 SaaS 意謂著與您的客戶平衡自己的業務需求,有時可能會發生衝突。 您將面臨降低銷售商品成本的壓力,並提高效率,而客戶則從您的解決方案中獲得更多需求。
SaaS 通常會大規模運作,或具有積極的成長目標。 當您調整規模時,維護效能和可靠性,同時降低作業複雜度非常重要。 手動作業不切實際,因此需要自動化和結構化程式,需要一定程度的作業成熟度。
隔離是您在客戶之間共用基礎結構時的重要需求。 客戶希望其數據安全無虞,並體驗一致的效能和可靠性,而不論客戶的活動為何。 身為廠商,您必須承擔保護客戶數據和工作負載的重要責任,包括來自其他客戶。
建置 SaaS 的成熟度模型為何?
建置 SaaS 產品的組織通常是:
新創公司或其他小型組織。 一般而言,人員較少,資源較少。 無論組織大小為何,SaaS 都需要某種程度的成熟度,才能符合高客戶的期望。 客戶信任組織來保護其數據和其他資產。 他們也可能依賴解決方案來取得其作業的重要部分。 因此,卓越營運和可靠性會成為解決方案的重要層面。
一開始,新創公司應優先處理其客戶最具影響力的專案。 他們應該同時規劃未來的架構增強功能,例如自動化、租使用者管理、降低成本,以及改善的安全性和可靠性。 儘管這一點一開始可能並不實用,但這項戰略規劃可作為逐步實施和持續改進的藍圖。 隨著新創公司的發展,它應該調整和改進其程式、採用新技術,並符合不斷演進的合規性標準,以有效調整規模並維護客戶信任。
已建立的組織。 想要將其現有解決方案現代化的已建立組織通常會遷移至 SaaS 模型。 即使組織可能有更多的資源,但挑戰也會變得複雜。 他們必須支援現有的客戶,同時開發新的 SaaS 解決方案,以產生作業額外負荷。 此轉換需要技術架構、技能集和整體商務作業的變更。 重點應該是將對目前客戶的影響降到最低,並確保他們收到類似或改善的可靠性、安全性和效能。 一旦舊版解決方案負擔較輕,組織就可以排定新功能和改進的優先順序。
如何使用本指南?
✔ 從 設計方法開始,其概述技術與作業領域的原理和周期性主題。 這種系統化方法有助於定義需求和設計策略。 當面臨不確定的選擇以與工作負載的整體目標保持一致時,請重新流覽此方法。 它也提供與行銷和銷售小組共同作業的架構,以驗證技術決策,並納入客戶意見反應以進行持續改善。
✔ 繼續前往 設計原則 ,以瞭解 SaaS 設計方法如何與核心架構完善的架構支柱保持一致,並考慮成長演進。 共同評估所有支柱的基本原則,包括取捨。
✔ 專注於 對解決方案產生最大影響的設計區域 。 每個區域都包含可引導您完成設計決策的考慮和建議。
設計領域 |
---|
計費和成本管理:評估您的計費策略及其對銷售商品成本的影響(COGS)。 隨著 SaaS 業務規模調整,建立成本變更的模型並預期。 尋找優化雲端資源費用的方法。 |
治理:管理和規範雲端服務使用量,以建立安全的 Azure 環境。 |
資源組織:規劃如何部署資源,以支援您的規模和成本需求。 |
身分識別和存取管理:瞭解在多租使用者 SaaS 環境中管理身分識別的挑戰。 選擇適當的身分識別提供者,並考慮需要與客戶的身分識別系統同盟。 |
計算:選取符合您需求的計算平臺。 規劃客戶隔離、延展性和復原能力。 |
網路功能:規劃您的網路部署,包括拓撲和防禦。 在客戶之間隔離資源並符合其連線需求,包括與其網路整合,並將資源部署到其環境。 |
數據:選擇適當的數據存放區,並規劃隔離客戶數據,同時維持營運效率。 請考慮根據您的規模和成長來規劃容量,並確保您的數據符合客戶復原需求。 |
DevOps 做法:根據您的租用模型,為每個客戶部署基礎結構和應用程式。 針對變更使用結構化方法,包括漸進式推出。 |
事件管理 :建立管理 SaaS 的責任,以及組織內的必要文化元素。 投資工具和程序進行調查、補救和通訊,以準備事件。 |
✔ 使用評定檢閱工具來評估生產環境中優化 SaaS 工作負載的整備程度。
提示
每個架構決策都牽涉到一系列考慮,以及一組公認的妥協,以平衡架構的不同層面。 這些取捨會以這個圖示表示。 .
有哪些資源可供使用?
多租用戶是設計 SaaS 工作負載的核心商務方法。 若要深入瞭解,請閱讀這些額外的資源。
- SaaS 和多租使用者解決方案架構:提供有關如何設計 SaaS 的廣泛和詳細指引,包括如何使用特定 Azure 服務來支援 SaaS 設計目標的資訊。
下一步
瞭解在 Azure 上設計 SaaS 工作負載時要遵循的方法。