以成本效益的思維設計
只將錢花在實現最高投資報酬率的必要項目上。 |
---|
每個架構決策都有直接和間接的財務影響。 了解與建置和購買選項、技術選擇、計費模式和授權、訓練、作業等相關聯的成本。
基於一組需求,將成本相關的取捨最佳化並做出決策,仍能有效解決工作負載的交叉考慮。
範例案例
Contoso Manufacturing (CM) 執行自訂建置的倉儲管理系統 (WMS),以處理其在南美洲的四個倉儲,他們已決定是時候更新解決方案,並將其移至雲端。 他們正在考慮使用新式雲端工具對目前解決方案進行隨即轉移或綠地建置。 CM 的高級領導想要控制成本,並已要求工作負載小組的負責人如何以維護成本效益為目標來處理移轉。
WMS 解決方案是在 IIS 上執行的 .NET 應用程式,並針對其資料庫使用 SQL Server。
測量工作負載設計的總成本
將投資報酬率 (ROI) 的影響納入考慮,測量技術和自動化選擇所產生的總成本。 設計必須適用於所有功能和非功能性需求的可接受界限內。 設計也必須具有彈性,才能容納預測的演進。 考慮取得、訓練和變更管理的成本。
實作平衡的方法,將 ROI 納入考慮可防止可能會增加成本的過度工程。
Contoso 的挑戰
- 工作負載工程小組很高興能將此工作負載放入雲端,並加入其他已經執行雲端原生開發的 CM 小組。
- 他們知道應用程式中的技術債務,並期待透過重寫大量的應用程式程式碼並移至許多元件的新雲端原生解決方案來解決。
- 工程小組希望利用這個機會,將系統完全重新設計為微服務,並將它託管在 AKS 上,這是團隊最新而令人興奮的技術。
套用方法和結果
- 雖然工作負載小組清楚想要在雲端移轉期間進行大規模的重構,但他們意識到工作負載需要維持其 ROI。 維護工作負載的 ROI 可能會讓團隊使用不需要大量新工程小組訓練的解決方案,而且在移轉過程中無法對工作負載進行大量重寫。
- 工作負載小組會針對系統設計採取務實的方法,確保其保持符合成本效益,並在預期的參數內運作,而且不會過度設計。 為了確保 ROI 得以維持且有效率地執行移轉,他們決定最好的方法是在雲端中使用類似解決方案,例如 Azure App Service。
- 在移轉期間,他們會選擇性地解決一些技術債務,以便使平台在位於 Azure 上之後繼續進化,並將 ROI 視為選取流程的一部分。
精簡設計
將可降低整體成本、不需要額外投資,或對功能產生重大影響的服務置於優先,以微調設計。 優先順序應該考慮帶來高 ROI 的商務模型和技術選擇。
您將能夠探索較便宜的選項,這些選項可能會開啟資源彈性或動態調整,也可以證明使用現有投資的合理性。 優先順序參數可能會考慮關鍵工作負載、執行階段和作業所需的成本,以及可能協助小組更有效率的其他成本。
Contoso 的挑戰
- 現有的工作負載託管在超融合式基礎結構 (HCI) 設備上,而會向團隊的成本中心收取計算、網路和儲存體成本的費用。
- 工作負載已在 Windows 虛擬機器上部署實際執行前和實際執行環境。
- 具有自我託管執行器的 GitHub Actions 可用來執行 GitHub Actions 作業。
套用方法和結果
- 在評估數個雲端原生選項之後,團隊決定將 Web 元件移至 Azure App Service 可提供 Windows IIS 應用程式相容性,而不需要重大的變更或大量訓練。
- 團隊決定繼續使用 GitHub Actions 搭配自我託管的執行器,但是他們會移轉至虛擬機器擴展集,且能夠在不使用節點時調整為零節點。
設計您的架構以支援成本護欄
透過平台解決方案、原則、基礎結構和應用程式設計模式或自動化實作成本防護,以協助確保您的雲端環境成本保持在預算內。
透過治理原則或內建應用程式設計模式強制執行,可以防止附帶或未經核准的費用。
Contoso 的挑戰
- 現有的系統沒有成本護欄,但是很少變更,所以建置這種護欄的動機很少。
- HCI 環境的擁有者已設定套用至此工作負載的資源限制,有效地阻止工作負載耗用過多的計算和儲存體資源。
- 小組擔心移至雲端會造成產生非預期成本的風險,且不確定如何將風險降到最低。
套用方法和結果
- 小組自行教育 Microsoft 成本管理解決方案。
- 小組計劃為 Azure App Service 方案設定規模限制。
- 小組計劃為某些較高價格的虛擬機器 SKU 設定拒絕原則,以禁止部署這些 SKU。
- 小組計劃實作自動化,以協助控制儲存體成本。 根據上次存取日期等準則,特定資料類型會自動從經常性存取儲存體移至冷儲存體或封存儲存體。 HCI 環境中無法進行這種類型的自動化。