

# 永續性
<a name="sustainability"></a>

永續性支柱的重點在於環境影響，尤其是能源消耗和效率，因為這方面是架構師採取直接行動來減少資源使用的重要手段。可以在[永續性支柱白皮書](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sustainability-pillar.html?ref=wellarchitected-wp)中找到實作指引。

**Topics**
+ [設計原則](sus-design-principles.md)
+ [定義](sus-def.md)
+ [最佳實務](sus-bp.md)
+ [資源](sus-resources.md)

# 設計原則
<a name="sus-design-principles"></a>

 在雲端中實現永續性有六個設計原則：
+  **了解您的影響：**衡量您雲端工作負載的影響，並建立工作負載未來影響的模型。包含所有影響來源，包括客戶使用您產品所產生的影響，以及產品最後除役和淘汰所產生的影響。審視每個工作單元所需的資源和排放量，將生產輸出與雲端工作負載的總體影響進行比較。使用此資料來建立關鍵績效指標 （KPIs）、評估提高生產力同時降低影響的方法，以及估算提議變更隨著時間的影響。
+  **建立永續性目標：**對於每個雲端工作負載，建立長期永續性目標，例如減少每項交易所需的運算和儲存資源。針對改進現有工作負載永續性的投資回報建立模型，並為業主提供必須投資於永續性目標所需的資源。針對成長著手規劃，以及建構您的工作負載，讓成長導致的每個使用者或每項交易 (根據適當的單位測量) 影響強度降低。這些目標有助於支持貴企業或組織更廣泛的永續性發展目標、識別迴歸，以及排定潛在改進領域的優先順序。
+  **最大化使用率：**調整合適的工作負載規模並實作高效率設計，以確認高使用率，並將底層硬體的能源效率發揮到最大。由於每部主機會有基準耗電量，因此兩部以 30% 使用率執行的主機效率，會低於一部以 60% 執行的主機效率。在此同時減少或最小化閒置資源、處理和儲存，以減少為工作負載供電所需的能源總量。
+  **預測並採用新的、更有效率的軟硬體產品：**支援合作夥伴和供應商進行上游改進，以協助您減少雲端工作負載的影響。持續監控和評估更有效率的新軟硬體產品。針對靈活性進行設計，以允許快速採用高效率的新技術。
+  **使用受管服務：**在廣泛的客戶群中共用服務，有助於最大化資源利用，進而減少支援雲端工作負載所需的基礎設施數量。例如，客戶可以將工作負載遷移至 AWS 雲端 並採用受管服務，例如 AWS Fargate for serverless Container，其中 會大規模 AWS 運作，並負責其高效操作，以共享電力和聯網等常見資料中心元件的影響。使用 受管服務，有助於將影響降至最低，例如使用 Amazon S3 生命週期組態或 Amazon EC2 Auto Scaling 自動將不常存取的資料移至冷儲存，以調整容量以符合需求。
+  **減少雲端工作負載的下游影響：**減少使用您的服務所需的能源或資源量。減少客戶為了使用您的服務而升級裝置的需求。使用 Device Farm 進行測試以了解預期影響，並與客戶進行測試以了解使用您服務的實際影響。

# 定義
<a name="sus-def"></a>

 雲端永續性有六個最佳實務領域︰ 
+ 區域選擇
+ 因應需求
+ 軟體和架構
+ 資料
+ 硬體和服務
+ 程序和文化

 雲端中的永續性是一項近乎持續的工作，主要專注於透過從佈建的資源中實現最大效益並最大限度地減少所需的總資源，來減少工作負載所有元件的節能和效率。此工作的範圍包括最初選擇高效的程式設計語言、採用現代演算法、使用高效的資料儲存技術、部署至正確大小和高效的運算基礎設施，以及最大限度地減少對高效能最終使用者硬體的要求。

# 最佳實務
<a name="sus-bp"></a>

**Topics**
+ [區域選擇](sus-region-selection.md)
+ [因應需求](sus-user-behavior-patterns.md)
+ [軟體和架構](sus-software-architecture-patterns.md)
+ [資料管理](sus-data-patterns.md)
+ [硬體和服務](sus-hardware-patterns.md)
+ [程序和文化](sus-development-deployment-patterns.md)

# 區域選擇
<a name="sus-region-selection"></a>

工作負載的 區域選擇會大幅影響其 KPIs，包括效能、成本和碳足跡。若要改善這些 KPIs，您應該根據業務需求和永續性目標，為工作負載選擇區域。

 下列問題著重於這些永續性方面的考量。(如需永續性問題清單和最佳實務，請參閱[附錄](a-sustainability.md)。)


| SUS 1：如何為工作負載選取區域？ | 
| --- | 
| 工作負載的 區域選擇會大幅影響其 KPIs，包括效能、成本和碳足跡。若要改善這些 KPIs，您應該根據業務需求和永續性目標，為工作負載選擇區域。 | 

# 因應需求
<a name="sus-user-behavior-patterns"></a>

使用者和應用程式使用工作負載和其他資源的方式，可協助您找到改善的機會，以達成永續性目標。擴展基礎架構以持續符合需求，並確認您僅使用支援使用者所需的最低資源。讓服務層級符合客戶需求。妥善放置資源，以限制使用者和應用程式使用資源所需的網路。移除未使用的資產。為團隊成員提供滿足其需求的裝置，同時將對永續性的影響降至最低。

 下列問題著重於永續性方面的考量：


| SUS 2：如何根據需求調整雲端資源？ | 
| --- | 
|  使用者和應用程式使用工作負載和其他資源的方式，可協助您找到改善的機會，以達成永續性目標。擴展基礎架構以持續符合需求，並確認您僅使用支援使用者所需的最低資源。讓服務層級符合客戶需求。妥善放置資源，以限制使用者和應用程式使用資源所需的網路。移除未使用的資產。為團隊成員提供滿足其需求的裝置，同時將對永續性的影響降至最低。  | 

隨使用者負載擴展基礎設施：識別使用率低或無使用率的時期，並調整資源規模以減少過剩容量、提高效率。

SLAs 與永續性目標保持一致：定義和更新服務層級協議 （SLAs），例如可用性或資料保留期，以盡可能減少支援工作負載所需的資源數量，同時繼續滿足業務需求。

停止建立和維護未使用的資產：分析應用程式資產 (例如預先編譯的報告、資料集和靜態影像) 和資產存取模式，識別冗餘、未充分利用和可以除役的目標。合併具有冗餘內容的產生資產 (例如，具有重疊或通用資料集與輸出的每月報告)，以減少重複輸出時消耗資源。將未使用的資產除役 (例如不再販售產品的影像) 以釋放消耗的資源，並減少用於支援工作負載的資源數量。

針對使用者位置最佳化工作負載的地理位置：分析網路存取模式，識別客戶的地理連接位置。選取可減少網路流量傳輸距離的區域和服務，以減少支援工作負載所需的總網路資源。

為執行的活動最佳化團隊成員資源：最佳化提供給團隊成員的資源，以盡量減少對永續性的影響，同時支援他們的需求。例如，在使用率高的共用雲端桌面上執行複雜的操作 (例如渲染和編譯)，而不是在使用率低的高功率單一使用者系統上執行。

# 軟體和架構
<a name="sus-software-architecture-patterns"></a>

實施可執行負載順暢並保持已部署資源一致高使用率的模式，將資源消耗降至最低。由於使用者行為隨時間改變，元件可能會因缺乏使用而閒置。修改模式和架構來整合未充分利用的元件，提高整體使用率。淘汰不再需要的元件。了解工作負載元件的效能，並最佳化消耗最多資源的元件。留意客戶用來存取服務的裝置，並實施盡量減少裝置升級需求的模式。

 下列問題著重於這些永續性方面的考量：


| SUS 3：如何利用軟體和架構模式來支援永續性目標？ | 
| --- | 
|  實施可執行負載順暢並保持已部署資源一致高使用率的模式，將資源消耗降至最低。由於使用者行為隨時間改變，元件可能會因缺乏使用而閒置。修改模式和架構來整合未充分利用的元件，提高整體使用率。淘汰不再需要的元件。了解工作負載元件的效能，並最佳化消耗最多資源的元件。留意客戶用來存取服務的裝置，並實施盡量減少裝置升級需求的模式。  | 

最佳化非同步與排程任務的軟體和架構：使用高效率的軟體設計和架構，將每個工作單元所需的平均資源降至最低。實作可平均利用元件的機制，減少任務之間的閒置資源，並將負載尖峰的影響降至最低。

移除或重構使用量低或完全未使用的工作負載元件：監控工作負載活動，識別各元件使用率隨時間的變化。移除未使用且不再需要的元件，並重構使用率低的元件，減少資源浪費。

最佳化程式碼中耗用最多時間或資源的區域：監控工作負載活動，識別消耗最多資源的應用程式元件。最佳化這些元件中執行的程式碼，將資源使用量降至最低，同時將效能發揮至最大。

最佳化對客戶裝置和設備的影響：了解客戶用來使用您服務的裝置和設備、其預期生命週期，以及更換這些元件對財務和永續性的影響。實作軟體模式和架構，將客戶更換裝置和升級設備的需求降至最低。例如，實作使用與較早硬體和作業系統版本向後相容的程式碼的新功能，或管理承載的大小，不讓其超過目標裝置的儲存容量。

使用最有效支援資料存取和儲存模式的軟體模式和架構：了解資料在工作負載中的使用方式、使用者的使用方式、傳輸方式以及儲存方式。選取可將資料處理和儲存要求降至最低的技術。

# 資料管理
<a name="sus-data-patterns"></a>

 下列問題著重於這些永續性方面的考量：


| SUS 4：如何利用資料管理政策和模式來支援永續性目標？ | 
| --- | 
|  實作資料管理實務來減少支援工作負載所需的佈建儲存，以及減少為了使用它所需的資源。了解您的資料，並使用最有效支援資料業務價值及其使用方式的儲存技術和組態。當需求減少時，將資料循環到效率較高、效能較低的儲存，並刪除不再需要的資料。  | 

實作資料分類政策：將資料分類，以了解其對業務成果的重要性。使用此資訊來確定何時可將資料移動到更節能的儲存，或是可以安全刪除它。

使用支援資料存取和儲存模式的技術：使用最有效支援您的資料存取和儲存方式的儲存技術，以在支援工作負載的同時，也將佈建的資源降至最低。例如，固態裝置 （SSDs） 比磁性磁碟機更耗能，且應僅用於作用中的資料使用案例。針對不常存取的資料，使用節能的存檔類別儲存。

使用生命週期政策來刪除不需要的資料：管理所有資料的生命週期並自動執行刪除時間表，將工作負載的總儲存需求降至最低。

將區塊儲存中的過度佈建降至最低：若要最小化總佈建儲存，請建立具有適合工作負載之大小分配的區塊儲存。使用彈性磁碟區，隨著資料成長擴展儲存，無需調整連接到運算資源的儲存大小。定期審查彈性磁碟區，並縮減過度佈建的磁碟區以符合目前的資料大小。

移除不需要或多餘的資料：必要時才複製資料，將消耗的總儲存空間降至最低。使用在檔案和區塊層級刪除重複資料的備份技術。限制使用獨立磁碟機的備援陣列 （RAID） 組態，除非需要滿足 SLAs。

使用共用檔案系統或物件儲存體存取通用資料：採用共用儲存和單一真實來源，避免資料重複並降低工作負載的總儲存需求。僅在需要時從共用儲存體擷取資料。分離未使用的磁碟區以釋放資源。最小化跨網路的資料移動：使用共用儲存，並從區域資料存放區存取資料，將支援工作負載資料移動所需的總聯網資源降至最低。

僅在難以重新建立時才備份資料：為了將儲存消耗降至最低，僅備份具有業務價值或需要滿足合規要求的資料。檢查備份政策，並在復原案例中排除沒有價值的暫時性儲存。

# 硬體和服務
<a name="sus-hardware-patterns"></a>

透過變更硬體管理實務，尋求降低工作負載永續性影響的機會。將佈建和部署所需的硬體量降至最低，並為個別工作負載選取最高效率的硬體和服務。

 下列問題著重於這些永續性方面的考量：


| SUS 5：如何在架構中選擇並使用雲端硬體和服務來支援永續性目標？ | 
| --- | 
|  透過變更硬體管理實務，尋求降低工作負載永續性影響的機會。將佈建和部署所需的硬體量降至最低，並為個別工作負載選取最高效率的硬體和服務。  | 

使用最低數量的硬體來滿足需求：使用雲端功能，您可以頻繁變更工作負載實作。隨著需求變更，更新已部署的元件。

使用影響最小的執行個體類型：持續關注新執行個體類型的發佈，並運用能源效率改進，包括旨在支援特定工作負載 (例如機器學習訓練和推論以及影片轉碼) 的執行個體類型。

使用 受管服務： 受管服務會將維持部署硬體高平均使用率和永續性最佳化的責任轉移到 AWS。使用受管服務，將服務的永續性影響分散給服務的所有租用戶，降低您的個人佔比。

最佳化您對 的使用GPUs：圖形處理單元 （GPUs） 可以是高耗電的來源，而且許多GPU工作負載具有高度可變性，例如轉譯、轉碼和機器學習訓練和建模。只在所需的時間內執行GPUs執行個體，並在不需要將耗用的資源降至最低時，透過自動化停用執行個體。

# 程序和文化
<a name="sus-development-deployment-patterns"></a>

透過變更開發、測試和部署實務來尋找降低永續性影響的機會。

 下列問題著重於這些永續性方面的考量：


| SUS 6：您的組織程序如何支援您的永續性目標？ | 
| --- | 
|  透過變更開發、測試和部署實務來尋找降低永續性影響的機會。  | 

採用可快速導入永續性改進的操作：在將潛在改善部署到生產環境之前，先對其進行測試和驗證。在計算改善所帶來的未來潛在利益時，應考慮測試成本。開發低成本測試操作，以推動小改進的交付。

讓您的工作負載保持最新狀態： Up-to-date作業系統、程式庫和應用程式可以提高工作負載效率，並建立更有效率的技術採用。 Up-to-date 軟體也可能包含功能，以更精確地測量工作負載的永續性影響，因為廠商提供功能來滿足自己的永續性目標。

提高建置環境的使用率：使用自動化和基礎設施即程式碼，在需要時啟動生產前環境，並在不使用時將其關閉。常見的模式是排程可用性時間，使之與開發團隊成員的工作時間一致。休眠是一種有用的工具，可保留狀態，並在需要時快速讓執行個體上線。使用具有高載容量的執行個體類型、Spot 執行個體、彈性資料庫服務、容器和其他技術，以根據使用量調整開發和測試容量。

使用受管 Device Farm 進行測試：受管 Device Farm 可將硬體製造和資源使用的永續性影響分散給多個租用戶。受管 Device Farm 提供多種裝置類型，因此您可以支援較早且較不熱門的硬體，並避免不必要的裝置升級對客戶的永續性造成影響。

# 資源
<a name="sus-resources"></a>

 請參閱下列資源，進一步了解我們的永續性最佳實務。

## 白皮書
<a name="sus-wp"></a>
+  [永續性支柱](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sustainability-pillar.html?ref=wellarchitected-wp) 

## 影片
<a name="sus-video"></a>
+  [氣候承諾](https://www.youtube.com/watch?v=oz9iO0EOpI0&ref=wellarchitected-wp) 