共用方式為


優化元件成本的建議

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

CO:07 優化元件成本。 定期移除或優化舊版、不需要和使用量過低的工作負載元件,包括應用程式功能、平臺功能和資源。

本指南說明優化工作負載元件成本的建議。 最佳化元件成本是指評估及改善工作負載內個別元素成本效益的程序。 它強調持續檢閱,以及可能移除或改進過時、不必要的或很少使用的元件,例如應用程式功能、平臺功能和資源。 它也涵蓋災害復原環境的成本優化,以及如何避免引入未優化的元件。 本文中的指引適用於不在設計階段的現有工作負載。 忽視一般元件優化可能會導致成本膨脹、資源浪費,以及耗盡時間和金錢的低效工作負載。

定義

詞彙 定義
應用程式功能 應用程式軟體內的不同功能,可讓使用者執行特定工作或存取特定資訊。
平台功能 平臺所提供的特定功能或功能。 其可能會因平臺而異,但一般而言,平臺功能的設計目的是要增強用戶體驗、提高生產力,或啟用特定工作或動作。
資源 您可以在雲端服務提供者內建立、設定及利用的單一實體或元件。

關鍵設計策略

優化工作負載元件是精簡工作負載的各種元素,包括應用程式功能、平臺功能和資源。 目標是確保工作負載能有效率且符合成本效益地使用所有元件。 策略包括移除、修改和避免造成您花費超過需求的元件。 元件成本優化程式可確保您將資源配置給可提供最大價值的功能和元件,以避免不必要的費用。

優化應用程式功能

優化應用程式功能是根據價值移除、再投資或獲利應用程式功能的程式。 它可確保您將資源配置給可為客戶提供最大價值的應用程式功能。 優化應用程式功能有助於避免投資導致技術債務或未獲得足夠的投資報酬的功能。

評估應用程式功能值

若要判斷功能的值,請考慮其對整體應用程式的影響,以及它提供給客戶的值。 需要考慮的一些因素包括:

  • 客戶需求:評估功能符合客戶的需求和期望。 客戶意見反應、問卷和使用方式數據對於瞭解感知的價值而言可能很有價值。

  • 商務目標:評估功能如何與業務戰略目標保持一致。 請考慮功能如何支援產生營收、客戶滿意度或競爭優勢。

  • 對用戶體驗的影響:判斷功能對增強用戶體驗和提高可用性或生產力的影響。

  • 差異:評估此功能是否與市場上的其他應用程式相比,提供獨特的賣點或競爭優勢。

評估應用程式功能成本

請務必瞭解與每項功能相關聯的成本,以取得有效的資源配置和優化。 評估成本時,請考慮各種層面,例如:

  • 開發工作:評估開發和維護功能或周邊功能所需的時間、資源和專業知識。 使用量過低的功能往往成為技術債務的關鍵來源。

  • 維護和支援:請考慮與維護和支援功能相關的持續成本,包括錯誤修正、安全性更新和疑難解答。

  • 基礎結構和資源使用率:評估功能對基礎結構需求的影響,包括伺服器資源、記憶體和頻寬。

  • 整合複雜度:評估將功能與其他系統或第三方服務整合的複雜性和成本。

  • 效能考慮:評估功能對應用程式效能的影響,包括延展性、回應時間和資源使用量。

使用項目關係人檢閱應用程式功能值

藉由吸引重要人員,例如產品經理、軟體開發人員和商務分析師,以評估商務目標上特定功能的價值,以檢閱應用程式功能與專案關係人的價值。 此共同作業對於成本優化至關重要,因為它提供維護工作的深入解析,並識別可能會阻礙生產力或偏離開發新價值特徵的功能。 您的開發小組可以提供您維護特定功能所花費多少工作的重要資訊。 鼓勵他們談論可能比值得更麻煩的功能,特別是當這些功能分散小組建立新功能時。

判斷功能的未來

根據您的分析和評估,判斷應用程式功能的未來。 拿掉、再投資或獲利任何未提供投資回報的應用程式功能:

  • 拿掉:請考慮根據資料規劃的應用程式功能生命周期結束。 功能移除的原因可能包括低客戶需求、高維護成本、複雜度或備援,不值得修正。 建立移除計劃,這可能涉及重構程序代碼、更新相依性或重新組織 UI。

    風險圖示風險:您可能會不小心移除對特定使用者或案例而言非常重要的功能,並可能對應用程式中的效能、作業和安全性造成負面影響。

  • 重新投資:某些應用程式功能可能無法在其目前狀態中新增足夠的值,但如果您將其重新投入,可能會增加值。 重新投資表示重新作業或升級應用程式功能。 根據其價值和可行性,排定已識別的改進優先順序。 判斷實作變更的藍圖和時程表。 請考慮開發資源、相依性,以及應用程式的潛在影響等因素。

  • 獲利:透過獲利將應用程式功能轉換成產生營收的機會。 有時候功能可為使用者提供價值,但不值得目前的投資。 探索將這些功能獲利的機會,例如將這些功能提供為個別付費附加元件,或將其授權給其他公司。

優化工作負載資源

優化工作負載資源牽涉到移除任何未使用的資源,並將工作負載所需的任何使用量過低的資源優化。 這項工作可以節省成本、避免浪費,並確保工作負載只會使用增加值的資源。

拿掉未使用的工作負載資源。 未使用的資源是工作負載或作業程式未使用的部署服務。 這些資源可能是長期閑置、孤立或被遺忘。 它們不提供投資報酬率,您應該將其移除。 未使用資源的常見原因包括:

  • 警示。
  • 示範組建。
  • 環境解除委任。
  • 功能解除委任。
  • IP 位址。
  • 網路防火牆。
  • 概念證明。
  • 快照集。
  • 儲存體帳戶。
  • 暫存測試環境。
  • 暫存分級環境。

若要移除工作負載中未使用的資源,請考慮下列步驟:

  1. 清查:跨環境對工作負載內的所有資源進行徹底清查。

  2. 尋找孤立的資源:資源在不再需要資源或移除父資源時可能會變成孤立資源。 例如,您可以移除虛擬機,但不會移除其相關聯的記憶體帳戶。 檢閱您的工作負載,以識別不需要或孤立的資源。

  3. 拿掉閑置元件:通常會有與已部署資源相關聯的成本。 即使資源允許您停止或重新配置,您仍可能會繼續支付資源費用。 請考慮移除閑置的資源。 如果您需要數據,請先備份該數據,然後移除資源。 您最好重新部署資源並還原數據,而不是讓資源保持閑置狀態。

優化使用量過低的資源。 使用量過低的資源代表浪費的支出,因為您支付的資源容量未充分利用。 識別並優化這些資源,以降低成本並更有效率地配置資源。 若要評估並優化使用量過低的資源成本,請遵循下列步驟:

  1. 監視資源:使用工具來監視您實際使用的CPU、記憶體和記憶體和記憶體數目。 根據這項資訊,選擇符合您需求的最佳方案。

  2. 分析使用率:查看數據,找出您不使用的資源。 請注意一段時間使用量過低的資源,或忙碌和緩慢時間之間的使用量差異很大。

  3. 正確重設大小:檢查是否有太多資源配置給未使用中的功能。 如果是,請調整其大小,以更符合您實際需要的內容。

  4. 自動調整:使用自動調整,根據您忙碌程度調整所使用的資源。 請確定您設定了最大調整限制,以避免突然尖峰的成本和不必要的尖峰。

進行這些調整之後,請測試以確定一切仍如往事般運作。 持續監視資源使用率,並隨著工作負載需求隨著時間變更而調整資源配置。 定期檢閱並優化資源使用率,以維持成本效益和效能優化。

優化災害復原資源。 優化災害復原環境是確保為災害復原配置的資源有效率地使用。 暖(主動-被動)災害復原策略是使用量過低的共同來源。 在暖災害復原策略中,一個環境會接收所有負載,而另一個環境則處於閑置狀態,直到發生災害情況為止。 若要優化災害復原環境,請考慮經常性(主動-主動)、冷(主動-關閉)或主動重新部署方法如何有助於避免使用量過低的資源。 以下是這三種災害復原方法的概觀:

  • 經常性方案:主要和次要環境同時為流量提供服務。 您的工作負載可以在這些環境之間平衡負載,並實時回應需求。 將負載分散在兩個作用中環境之間,可讓您使用更便宜的資源、減少單一點瓶頸,以及充分利用容量。 這可能會導致資源耗用或閑置方面的成本降低。 熱門方法可能需要對同步處理進行更多投資,並維持兩個環境之間的同位性。

  • 冷計劃:冷災害復原模式牽涉到待命環境,在災害觸發故障轉移需求之前仍處於休眠狀態。 由於待命環境並未主動執行,因此計算、記憶體和網路作業的相關成本會降至最低。 您的費用會圍繞儲存備份、虛擬機 (VM) 映像或範本。 非經常性模型中的故障轉移可能需要較長的時間,因為需要啟動資源,而且可能需要還原數據。 在認可此方法之前,請確定復原時間符合您企業的復原時間目標(RTO)。

  • 主動重新部署:此策略會使用基礎結構即程序代碼。 發生故障轉移事件時,您可以使用預先定義的範本和腳本來部署次要環境。 由於災害復原環境中沒有預先部署的計算資源,您可以節省與維護閑置資源相關聯的成本。 您只會在故障轉移案例中實際部署期間產生成本。 如同冷方法,此模型可能會引進較長的復原時間,特別是基礎結構的複雜度很高時。 您應該測試並測量復原時間,以確保它符合您的復原時間目標。

優化平臺功能

優化平臺功能牽涉到消除或更新平臺功能,例如效能層和組態設定,以將成本優化。 它有助於將支出與工作負載的需求一致,並避免不必要的功能費用。 以下是將平臺功能成本優化的一些秘訣:

  • 瞭解您所購買專案的功能:在進行優化之前,您需要清楚清查服務及其跨雲端平臺的功能。 瞭解工作負載中平臺或服務的特性與功能。 請注意您選擇的特定層級,以及每個層級所提供的功能。 例如,如果您不需要自動調整或進階網路功能,較低層方案可能就已足夠。

  • 停用未使用的功能:識別並停用花費金錢的平臺功能。 您可能有不需要的記憶體快照集、未使用的磁碟、備援安全性功能,或使用量過低的網路功能。

  • 使用正確的版本:較新版本的服務可以提供相同價格的類似效能。 例如,具有較新硬體的虛擬機通常可提供相同的效能,以節省成本。

  • 使用正確的組態:您可能需要支付比所需的更多可用性或效能費用。 消除工作負載不需要的可用性或效能保證。

  • 排除不必要的自動化:評估您的自動化程式,並排除任何可能產生額外費用的未使用自動化。

  • 消除工具備援:移除您不需要的工具,或提供相同函式的工具。 評估您用來建置軟體、撰寫程式代碼、安全性和監視的工具中的潛在備援。 例如,如果您使用 GitHub Actions 來建置軟體,則不需要購買另一個建置軟體的工具。 購買功能或工具之前,請先檢查您的工作負載中是否有工具可以執行此作業。 消除工具備援以避免浪費金錢,並充分利用您已經擁有的東西。

在優化工作方面有條不紊

防止未優化元件是主動確保元件在新增或修改之前不可或缺的並優化。 擺脫浪費的最佳方式,是一開始避免浪費。 使用策略,藉由解決根目錄效率低下的問題來防止不必要的費用,確保工作負載從一開始就符合成本效益地執行。 若要協助防止浪費,請考慮下列策略:

  • 在變更解決方案之前尋找根本原因:在修正問題之前,請確定您知道實際造成問題的原因。 例如,如果您的網站速度很慢,請勿立即切換到新的系統。 首先,找出為什麼速度很慢。 您可能會發現真正的問題是其他問題,例如不正確的資料庫查詢。 修正真正的問題,以節省時間和金錢。

  • 套用元數據:套用元數據以組織和追蹤資源。 您可以使用元數據來分類和分組資源,讓您更輕鬆地追蹤、刪除及避免孤立的資源。 跨資源建立一致的元數據策略。 請考慮新增擁有者、預期的資源持續時間(例如 sunset-30d),或其他標籤。

  • 記錄非標準變更:記錄對基礎結構或設定所做的任何變更,以在工作負載的正常控制程式之外執行,以降低非預期的成本。 例如,您可以增加資源的相應增加(增加或相應放大)容量,以符合短期需求或分級問題,但忘記將其相應減少。 製作非標準變更清單,並將其作為提醒,以在不再需要變更時還原變更。

  • 保持簡單:簡化基礎結構並將複雜性降至最低,以協助降低成本。 只使用符合您需求的必要資源和服務。

Azure 便利化

優化應用程式功能:您可以使用 Azure 監視器Application Insights 來監視應用程式的使用量,並識別未使用的區域。 根據所收集的深入解析,您可以做出明智的決策,以移除或優化未使用或使用量過低的功能。

優化工作負載資源和平臺功能:Azure Advisor 提供 成本建議 ,提供建議以識別和消除未使用的資源。 您可以使用 Advisor 來分析您的資源使用量,並收到有關資源移除或相應減少的建議。 Azure Advisor 中的成本優化活頁簿是一些最常使用的工具的集中式中樞,可協助您推動使用率和效率目標。 其提供一系列建議,包括 Azure Advisor 成本建議。 它也有助於識別閑置的資源,並管理不當解除分配的虛擬機。

Azure 監視器支援 活頁簿。 使用 Azure 監視器活頁簿,您可以尋找或建立活頁簿,以尋找並報告定義範圍中的孤立資源。 您可以使用 Azure 自動化 在閒置期間關閉虛擬機。 資源關機可藉由將閑置資源的使用降至最低,協助降低成本。

您可以使用 Azure 中的自動調整功能 ,根據預先定義的條件自動調整應用程式,因此您不需要過度布建容量。 自動調整可協助您有效率且符合成本效益地配置資源。

從設計觀點來看, Azure 負載平衡器 可以將負載分散到可用性區域和區域。 這些負載平衡器可協助消除閑置的資源,例如,在災害復原方法中。

成本優化檢查清單

請參閱一組完整的建議。