共用方式為


Azure 上永續性工作負載的應用程式設計

建置新的或更新現有應用程式時,請務必考慮解決方案如何影響氣候,以及是否有改善和優化的方法。 瞭解將程式碼和應用程式優化以取得更永續性應用程式設計的考慮和建議。

重要

本文是 Azure Well-Architected永續性工作負載 系列的一部分。 如果您不熟悉此系列,建議您從 什麼是永續性工作負載開始?

程式碼效率

應用程式的需求可能會有所不同,而且必須考慮穩定使用率的方式,以避免過度使用或使用量過低的資源,這可能會導致不必要的能源溢出。

評估將整合型移至微服務架構

整合型應用程式通常會調整為單位,只讓小空間只調整可能需要的個別元件。

綠色軟體基礎對齊方式: 能源效率硬體效率

建議:

  • 評估 微服務架構 指引。
  • 微服務架構只允許在尖峰負載期間調整必要的元件;確保閒置元件會相應減少或縮小。 此外,它可能會降低部署整合型應用程式所需的額外負荷和資源。
  • 請考慮此取捨:雖然減少所需的計算資源,但您可能會增加網路上的流量,而應用程式的複雜度可能會大幅增加。
  • 請考慮此其他取捨:移至微服務可能會導致額外的部署額外負荷,且部署管線中有許多相似之處。 仔細考慮整合型與微服務架構所需的部署資源。
  • 此外,請閱讀 容器化整合型應用程式

改善 API 效率

許多新式雲端應用程式的設計目的是以非同步方式在服務和元件之間交易許多訊息。 請考慮用來編碼承載資料的格式。 您的應用程式需要傳達多少資訊,而且是否有空間可減少聊天?

綠色軟體基礎對齊方式: 能源效率

建議:

確保回溯軟體相容性,以確保它在舊版硬體上運作

請考慮應用程式如何轉譯資訊。 應用程式是否需要以最高品質提供所有專案,進而產生較高的頻寬和處理? 是否有空間可降低 UI 中的元件品質,以提供更好的永續性目標?

綠色軟體基礎對齊方式: 硬體效率

建議:

  • 支援更多終端使用者取用者裝置,例如較舊的瀏覽器和作業系統。 此回溯相容性可藉由重複使用現有的硬體來改善硬體效率,而不需要硬體升級,解決方案才能運作。
  • 請考慮此取捨:如果最新的軟體更新有顯著的效能改善,使用較舊的軟體版本可能更有效率。

運用雲端原生設計模式

瞭解雲端原生設計模式對於建置應用程式很有説明,無論是裝載于 Azure 上還是執行于其他地方。 優化雲端應用程式的效能和成本也會降低其資源使用率,因而降低其碳量。

綠色軟體基礎對齊方式: 能源效率硬體效率

建議:

請考慮使用斷路器模式

請考慮評估並防止應用程式執行可能失敗的作業。 重複失敗可能會導致額外負荷和不必要的處理,讓您避免使用適當的設計模式。

綠色軟體基礎對齊方式: 能源效率

建議:

  • 斷路器可以做為可能會失敗之作業的 Proxy,而且應該監視最近發生的失敗數目,並使用該資訊來決定是否繼續。
  • 研究 斷路器模式,然後考慮如何將 斷路器模式實作 至您的應用程式。
  • 請考慮使用 Azure 監視器 來監視失敗和設定警示。

將程式碼優化,以有效率地使用資源

使用沒有效率的程式碼部署的應用程式,可能會導致對永續性造成固有的影響。

綠色軟體基礎對齊方式: 能源效率硬體效率

建議:

  • 減少 CPU 週期和應用程式所需的資源數目。
  • 使用優化且有效率的演算法和設計模式。
  • 請考慮 不要自行重複 (DRY) 原則。

針對非同步存取模式進行優化

應用程式的需求可能會有所不同,而且必須考慮穩定使用率的方式,以避免過度使用或使用量過低的資源,這可能會導致不必要的能源溢出。

綠色軟體基礎對齊方式: 能源效率

建議:

  • 不需要立即處理的佇列和緩衝區要求,然後在批次中處理。 以這種方式設計應用程式有助於達到穩定的使用率,並協助扁平化耗用量以避免尖峰要求。
  • 閱讀如何優化 非同步存取模式

評估伺服器端與用戶端轉譯

判斷使用 UI 建置應用程式時,是否要在伺服器端或用戶端轉譯。

綠色軟體基礎對齊方式: 能源效率硬體效率

建議:

  • 請考慮伺服器端轉譯的下列優點:

    • 當伺服器的電源來自比用戶端地區設定還少的替代專案時。
    • 當伺服器上的硬體有更佳的處理能源比率時。
    • 可以使用集中式快取來減少多個不必要的轉譯。
    • 當用戶端的裝置有遺失連結時,減少瀏覽器對伺服器往返次數特別重要。
    • 當用戶端裝置較舊且 CPU 速度較慢時。 使用者不需要升級其裝置以支援新式瀏覽器。
  • 請考慮用戶端轉譯的下列優點:

    • 當使用者裝置更適合時,將轉譯的責任推送至用戶端。
    • 唯有效率地轉譯所需的專案,並視需要呈現,而不是至少轉譯一次。
    • 不需要伺服器,因為您可以依賴靜態儲存體。
    • 用戶端上使用瀏覽器快取。

請注意永續性 UX 設計

請考慮工作負載的 UX 設計如何影響永續性,並判斷有哪些選項可改善能源效率,並減少不必要的網路負載、資料處理和計算資源。

綠色軟體基礎對齊方式: 能源效率

建議:

  • 請考慮減少在頁面上載入和轉譯的元件數目。
  • 判斷應用程式是否可以轉譯較低解析度的影像和影片。
    • 請勿將完整大小的影像轉譯為瀏覽器執行調整大小的縮圖。
    • 使用全大小影像做為縮圖或調整大小的影像,將會傳輸更多資料、不必要的網路流量,以及因影像調整大小和預先轉譯而使用其他用戶端 CPU 使用量。
  • 確保沒有未使用的頁面有助於將 UX 設計降到最低。
  • 請考慮搜尋和可尋找性。 讓使用者更容易找到所要尋找的內容,有助於降低儲存和擷取的資料量。
  • 請考慮提供較輕的 UI、使用較少的資源,並降低對永續性的影響,並為使用者提供明智的選擇。
  • 藉由以深色背景提供您的應用程式和網站來節省能源。
  • 盡可能選擇使用系統字型,以避免強制用戶端下載其他字型,這會導致更多網路負載。

更新舊版程式碼

如果舊版程式碼未在新式雲端基礎結構上或具有最新更新,請考慮升級或取代舊版程式碼。

綠色軟體基礎對齊: 硬體效率

建議:

  • 識別適合現代化效率不佳的舊版程式碼。
  • 檢閱是否有選項可移至無伺服器或任何優化的 PaaS 選項。
  • 請考慮此取捨:更新最後可能已被取代的舊程式碼可能會耗用寶貴的時間。

後續步驟

檢閱應用程式平臺的設計考慮。