優化流程成本的建議

適用於此 Azure 架構完善的架構成本優化檢查清單建議:

CO:09 將流程成本優化。 讓每個流程的成本與流程優先順序一致。 當您排定流程的優先順序時,請考慮每個流程的功能、功能和非功能需求。 最佳化流程支出通常需要策略性妥協。

本指南說明優化工作負載中每個流程成本的建議。 在工作負載中優化流程的成本牽涉到策略性配置和管理資源,以將費用降到最低,同時維持效能。 這項優化非常重要,因為它可確保有效率地利用投資的資源、減少不必要的支出,並改善基礎結構的整體投資報酬率。 如果您未對工作負載中的流程進行成本優化,您會有資源超支的風險,這會導致營運成本膨脹和獲利率降低。

定義

詞彙 定義
解 耦 從包含多個流程的資源中移除流程,並將其放入個別資源的策略。
Flow 在工作負載中,執行特定函式的動作順序。 流程牽涉到數據移動,以及工作負載元件之間的進程執行。
系統流程 系統中的資訊和處理程式流程。 系統會自動遵循此流程來啟用使用者流程或工作負載功能。
使用者流程 使用者在應用程式或系統內採取的路徑或動作順序。

關鍵設計策略

投資高優先順序流程比優先順序較低的流程多。 對齊流程優先順序和支出,可牽涉到目前共用相同資源的分離流程。 它也牽涉到結合具有類似需求的流程,但在不同的資源上執行。 例如,假設您有一個 Web 應用程式,其中包含多個流程,例如用戶註冊、登入和數據處理。 這些流程會在單一伺服器上執行,即使它們有不同的資源需求也一樣。 若要將成本和效能優化,您可以分隔流程或合併流程:

  • 分隔流程。 例如,您可以將用戶註冊流程與其他人分離,並將其移至專用、低成本的伺服器。 此流程很重要,但並非需要大量資源,因此對於成本較低的伺服器而言,這是很好的候選專案。

  • 結合流程。 例如,您可以結合登入和數據處理流程,這兩者都有較高的資源需求,並在高效能伺服器上一起執行它們。 結合這些流程可讓伺服器有效率地處理這兩個流程的資源密集型需求。 其可優化效能和成本。

在工作負載中,您可以考慮不同類型的流程或路徑。 本指南著重於下列流程類型:

  • 系統流程。 優化系統流程涉及簡化系統元件之間的通訊和互動、將瓶頸降到最低,並確保有效率的資源使用率。

  • 使用者流程。 優化使用者流程涉及改善使用者體驗、減少摩擦點,以及確保應用程式或系統內的順暢瀏覽和互動。

建立流程清查

流程清查是工作負載內所有動作序列、數據轉換和系統互動的完整清單和描述。 流程清查是確保投資符合流程優先順序的第一個步驟。 當您完全瞭解流程的目的和相依性時,您應該只將流程優化。 以下是建立工作負載流程清查的步驟:

  1. 檔流程。 首先,記錄並列出您工作負載中的所有現有流程,以了解系統的完整狀態。 包含每個動作序列、資料轉換和系統互動。 熟悉每個元件,例如外部服務、資料庫、中間件和第三方整合。 此外,追蹤或估計一段時間的要求量。

  2. 將流程可視化。 若要取得更清楚的觀點,請在流程圖或圖表中以可視化方式呈現您的結果。 視覺效果可協助您查看元件之間的相關性。 請考慮使用 Visio 之類的工具來協助您處理視覺效果。

  3. 將流程分類。 將類似的流程組合在一起,並考慮其功能等屬性(例如驗證、數據擷取和事務處理)、業務關鍵性,或其使用的資源(CPU、記憶體或頻寬)。

排定流程的優先順序

流程優先順序是根據流程對商務成果的影響、對用戶體驗的影響,以及他們取用的資源來分類流程的程式。 關鍵流程通常需要更高的可用性層級、更快的復原時間,以及更好的效能,以符合工作負載目標。 藉由將流程排定優先順序,您可以更妥善地調整支出與流程優先順序。 若要設定流程的優先順序,請考慮下列步驟:

  • 識別流程值。 當您將工作負載流程成本優化時,您必須識別提供最多值的流程。 你不想花更多的流程是值得的。 請考慮將成本轉移以排定更有價值流程的優先順序,而不是簡單地削減成本。 例如,您的結帳流程對企業而言很重要,但購買歷程記錄則不重要。 您應該將更多資源和預算配置給結帳流程。

    低優先順序流程對於可用性、復原和效能的期望較低。 您可以使用更便宜的設定來降低成本,以減少效能、可用性或商務持續性支出。

  • 請考慮流程計量。 如果您正努力排定流程的優先順序,請考慮您為其指派的可用性和復原目標。 重要流程通常具有高可用性需求和服務等級協定 (SLA)。 與較低 RPO 和 RTO 相關聯的流程比具有較高 RPO 和 RTO 的流程更重要。

優化獨立流程

有時候您的流程已在不同的資源上執行。 在這些情況下,您可以更輕鬆地評估和優化支出。 評估每個獨立流程所涉及的元件和程式,以判斷是否有辦法優化或簡化它們。 若要優化獨立流程,您可以遵循下列步驟:

  • 排除不必要的元件。 拿掉任何不參與流程核心功能的額外元素,進而降低複雜度和成本。

  • 重新設計流程。 請考慮重新設計流程的架構,以提高其效率。 例如,您可以變更作業順序、減少延遲或改善資料傳送速率。

  • 選擇適當的效能層級。 不同的流程在處理速度、記憶體或其他資源計量方面可能會有不同的需求。 請務必選擇符合每個流程特定需求的資源層。

  • 調整調整設定。 如果流程遇到可變需求,請考慮實作自動調整,以根據即時需求動態調整資源,進而將成本優化。

  • 微調組態。 微調其他設定,例如網路或數據儲存選項,以更符合流程的效能和預算需求。

分隔不同的流程

將不同的流程分割到不同的資源,是將具有不同計算需求的不同工作配置給專用資源的程式。 不同的流程是具有不同屬性的流程。 這些屬性可能包括計算需求、數據相依性、I/O 作業、延遲敏感度、安全性需求和合規性需求。 在個別資源上執行不同類型的流程通常更有成本效益。 這麼做可為每個流程提供精確的資源配置,以減少不必要的支出,並確保最大效率。

請考慮分隔目前合併的不同流程。 此區隔可提升延展性、容錯能力及適應性,並簡化成本。 藉由確保每個流程獨立運作,您可以降低干擾風險,並根據每個流程的優先順序,更有成本效益地配置資源。 例如,假設您與數據引擎 (數據流) 共置CRM(使用者流程)。 在辦公室時間對CRM系統的使用者流量可能會降低數據引擎的速度。 當您分離流程時,數據引擎可以根據工作負載需求獨立調整每個元件或服務。 這種分離可優化資源配置並降低成本。

結合類似的流程

將類似的流程合併到單一資源是合併具有可比較屬性的工作或進程,併為其使用共用資源的程式。 此策略可消除備援,並確保更有效率地使用資源,進而節省可觀的成本。 類似的流程類型會共用類似的屬性。 您可能會考慮在分隔不同流程時所查看的相同屬性:計算需求、數據相依性、I/O 作業、延遲敏感度、安全性需求和合規性需求。 以下是一些範例,其中結合類似工作負載流程以使用相同的資源可能會導致大幅節省:

  • 網頁伺服器。 請考慮合併這些伺服器,而不是針對每個應用程式指定個別的網頁伺服器,特別是當流量不一致高時。 與反向 Proxy 配對的共用網頁伺服器,可以有效地管理和將流量路由傳送至多個應用程式。

  • API 閘道。 您可以使用集中式 API 閘道來簡化要求,並將其導向相關服務,而不是維護個別微服務或應用程式的個別 API 閘道。 這麼做可讓管理變得更容易,也降低了成本。

  • 記錄處理。 請考慮將它們全部導向至共用記錄處理工具,而不是讓多個應用程式或服務各自操作自己的記錄處理實例。 這種方法可將作用中實例的數目降到最低,這可轉化為直接節省成本。

  • 驗證服務。 如果多個應用程式部署自己的相異驗證機制,則會引進備援。 整合單一登錄 (SSO) 解決方案或公用驗證服務可減少此重複專案,並將資源使用量優化,進而降低成本。

風險:不要錯誤地與設計相吻合。 看起來類似的兩個流程不一定具有相同用途。 您需要先瞭解每個流程的函式和設計,再合併或變更流程。 藉由只專注於其外觀來誤解流程,可能會導致非預期的後果,並中斷其支持的服務或程式。 如果多個流程提供相同的函式,且其設計或意圖沒有明顯的差異,請考慮合併它們。

持續監視流程

流程和工作負載的性質可能會隨著時間而改變,因此您必須檢閱流程支出,以確保成本符合優先順序。 分析與每個流程相關聯的計算、儲存體和網路使用量,以評估每個流程的資源使用率。 識別資源使用量過低的任何效率或區域。 此分析可協助您找出成本優化的機會。 以下是檢閱流程使用率時要考慮的一些考慮:

  • 分析使用模式。 分析流程的使用模式。 某些流程在一天或一個月的特定時間可能會更活躍,而其他流程則可能會有一致的負載。 藉由了解這些模式,您可以預測資源需求並調整配置,以避免瓶頸和過度布建。

  • 監視相關的計量。 判斷可協助您評估每個流程效率與成本效益的計量。 請考慮 CPU 使用率、資料傳輸成本、交易成本和記憶體使用量。 使用監視工具來收集資源使用量和效能的詳細計量。

  • 請考慮進行中的維護。 請考慮維護成本,特別是當您使用基礎結構即服務解決方案,例如虛擬機時。 您必須考慮修補、升級、備份、監視和安全性等活動。

在分析期間,找出資源未有效利用的任何效率不佳或區域。 請考慮閑置計算實例、未使用的資料,以及低網路頻寬。 這些效率不佳可以指出成本優化的機會。

Azure 便利化

優先順序、優化和監視流程:Application Insights 中的使用者流程工具提供使用者流覽整個網站頁面和功能的視覺表示法。 此工具有助於識別用戶經常離開、重複動作或遵循特定路徑的區域。 藉由比較實際的用戶行為與預期的結果和目標,您可以識別重要的流程。 它也可讓您優化潛在問題,例如高流失率、重複動作或設計缺陷。 此工具也允許自定義屬性篩選維度,提供更量身打造的分析。

Azure 監視器 可協助您深入瞭解應用程式的效能和健康情況。 它提供監視和診斷功能。 這些功能可讓您識別效能瓶頸、優化資源使用率,以及偵測並針對可能影響成本的問題進行疑難解答。

Log Analytics 是一種工具,可讓您從各種來源收集、分析和可視化記錄數據。 藉由使用Log Analytics,您可以藉由管理使用量和數據保留來深入瞭解應用程式和基礎結構記錄、識別趨勢,以及將成本優化。 請考慮共置記錄並使用專用解決方案,而不是共用的解決方案,以更妥善地管理成本。

成本優化檢查清單

請參閱一組完整的建議。