

# 可持续性
<a name="a-sustainability"></a>

可持续性支柱包括在构建云工作负载时，了解所使用服务的影响，量化整个工作负载生命周期的影响，并应用设计原则和最佳实践来减少这些影响。有关具体实施的说明性指导，请参阅《[可持续性支柱白皮书](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sustainability-pillar.html?ref=wellarchitected-wp)》。

**Topics**
+ [区域选择](a-region-selection.md)
+ [符合需求](a-alignment-to-demand.md)
+ [软件和架构](a-sus-software-architecture.md)
+ [数据](a-sus-data.md)
+ [硬件和服务](a-sus-hardware-and-services.md)
+ [流程和文化](a-sus-process-and-culture.md)

# 区域选择
<a name="a-region-selection"></a>

**Topics**
+ [SUS 1 如何为工作负载选择区域？](w2aac19c17b7b5.md)

# SUS 1 如何为工作负载选择区域？
<a name="w2aac19c17b7b5"></a>

为工作负载选择区域会显著影响其 KPI，包括性能、成本和碳足迹。为了有效提高这些 KPI，您应该根据业务要求和可持续性目标为工作负载选择区域。

**Topics**
+ [SUS01-BP01 根据业务要求和可持续性目标选择区域](sus_sus_region_a2.md)

# SUS01-BP01 根据业务要求和可持续性目标选择区域
<a name="sus_sus_region_a2"></a>

根据您的业务需求和可持续性目标为您的工作负载选择一个区域，以优化其 KPI，包括性能、成本和碳足迹。

 **常见反模式：**
+  您可以根据自己所在的位置选择工作负载的区域。
+  将所有工作负载资源整合到一个地理位置中。

 **建立此最佳实践的好处：**将工作负载放置在 Amazon 可再生能源项目或已发布碳强度较低的区域附近，有助于降低云工作负载的碳足迹。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

AWS 云 是一个不断扩展的区域和入网点（PoP）网络，其全球网络基础设施将它们连接在一起。为工作负载选择区域会显著影响其 KPI，包括性能、成本和碳足迹。为了有效提高这些 KPI，您应该根据业务需求和可持续性目标为工作负载选择区域。

### 实施步骤
<a name="implementation-steps"></a>
+  **将潜在区域列入候选名单：**按照以下步骤进行操作，根据您的业务需求（包括合规性、可用功能、成本和延迟）评测工作负载的潜在区域并列入候选名单：
  +  根据您所需的当地法规（例如数据主权），确认这些区域合规。
  +  使用 [AWS 区域性服务列表](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)，检查区域是否具有运行工作负载所需的服务和功能。
  +  使用 [AWS 定价计算器](https://calculator.aws/) 计算每个区域的工作负载成本。
  +  测试最终用户位置与每个 AWS 区域 之间的网络延迟。
+  **选择区域：**选择 Amazon 可再生能源项目附近的区域和其电网公布的碳强度低于其它位置（或区域）的区域。
  +  确定您的相关可持续性准则，以根据[温室气体核算协议](https://ghgprotocol.org/)（基于市场和基于位置的方法）跟踪和比较逐年碳排放量。
  +  根据用于跟踪碳排放的方法选择区域。有关根据可持续性准则选择区域的更多详细信息，请参阅《[How to select a Region for your workload based on sustainability goals](https://aws.amazon.com/blogs/architecture/how-to-select-a-region-for-your-workload-based-on-sustainability-goals/)》。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [了解碳排放估算](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ccft-estimation.html) 
+  [Amazon 遍布全球](https://sustainability.aboutamazon.com/about/around-the-globe?energyType=true) 
+  [可再生能源方法](https://sustainability.aboutamazon.com/amazon-renewable-energy-methodology) 
+  [What to Consider when Selecting a Region for your Workloads](https://aws.amazon.com/blogs/architecture/what-to-consider-when-selecting-a-region-for-your-workloads/) 

 **相关视频：**
+ [AWS re:Invent 2023 - Sustainability innovation in AWS Global Infrastructure ](https://www.youtube.com/watch?v=0EkcwLKeOQA)
+ [AWS re:Invent 2023 - Sustainable architecture: Past, present, and future ](https://www.youtube.com/watch?v=2xpUQ-Q4QcM)
+ [AWS re:Invent 2022 - Delivering sustainable, high-performing architectures ](https://www.youtube.com/watch?v=FBc9hXQfat0)
+  [AWS re:Invent 2022 - Architecting sustainably and reducing your AWS carbon footprint](https://www.youtube.com/watch?v=jsbamOLpCr8) 
+ [AWS re:Invent 2022 - Sustainability in AWS global infrastructure ](https://www.youtube.com/watch?v=NgMa8R9-Ywk)

# 符合需求
<a name="a-alignment-to-demand"></a>

**Topics**
+ [SUS 2 如何将云资源与您的需求相匹配？](sus-02.md)

# SUS 2 如何将云资源与您的需求相匹配？
<a name="sus-02"></a>

用户和应用程序使用您的工作负载及其他资源的方式可以帮助您确定改进方面，以实现可持续性目标。扩展基础设施以持续匹配需求，并确认您仅使用了支持用户所需的最少资源。使服务水平与客户需求保持一致。定位资源以限制用户和应用程序使用这些资源所需的网络。删除未使用的资产。为团队成员提供满足其需求的设备，并尽可能降低他们的可持续性影响。

**Topics**
+ [SUS02-BP01 动态扩展工作负载基础设施](sus_sus_user_a2.md)
+ [SUS02-BP02 使 SLA 与可持续性目标保持一致](sus_sus_user_a3.md)
+ [SUS02-BP03 停止创建和维护未使用的资产](sus_sus_user_a4.md)
+ [SUS02-BP04 根据其联网要求优化工作负载的地理位置](sus_sus_user_a5.md)
+ [SUS02-BP05 针对执行的活动优化团队成员资源](sus_sus_user_a6.md)
+ [SUS02-BP06 实施缓冲和节流以展平需求曲线](sus_sus_user_a7.md)

# SUS02-BP01 动态扩展工作负载基础设施
<a name="sus_sus_user_a2"></a>

利用云的弹性并动态扩展基础设施，以使云资源的供应与需求相匹配，避免在工作负载中过度调配容量。

**常见反模式：**
+ 您没有扩展基础设施以匹配用户负载。
+ 您一直在手动扩展基础设施。
+ 在扩展事件之后保留增加的容量，而不是缩减容量。

 **建立此最佳实践的好处：**配置和测试工作负载弹性有助于有效地将云资源的供应与需求相匹配，并避免过度调配容量。您可以利用云中的弹性，在需求高峰期间和之后自动扩展容量，以确保您只使用满足业务需求所需的适当数量的资源。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 云让您能够通过各种机制灵活地动态扩展或缩减资源，以便满足不断变化的需求。供应与需求的最佳匹配提供了最低的工作负载环境影响。

 需求可以是固定的，也可以是变化的，需要指标和自动化来确保管理不会变成沉重负担。应用程序可以通过修改实例大小来纵向扩展或缩减，通过修改实例数量来横向扩展或缩减，或者组合使用这两种方式。

 您可以使用大量不同方法来实现资源的供需匹配。
+  **目标跟踪方法：**监控您的扩缩指标，并根据需要自动增加或减少容量。
+  **预测性扩缩：**根据每日和每周的趋势进行扩缩。
+  **基于计划的方法：**根据可预测的负载变化设置自己的扩缩计划。
+  **服务扩缩：**选择按设计可以原生扩缩或者将自动扩缩作为一项功能提供的服务（如无服务器）。

 确定利用率低或无利用率的时段，缩减资源以消除过剩容量并提高效率。

## 实施步骤
<a name="implementation-steps"></a>
+ 弹性可根据对您拥有的资源的需求来提供这些资源。实例、容器和函数提供了弹性机制，可以与自动扩缩结合使用，也可以作为服务的一项功能。AWS 提供了一系列自动扩缩机制，以确保工作负载可以在低用户负载期间快速轻松地缩减。以下是自动扩缩机制的一些示例：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2024-06-27/framework/sus_sus_user_a2.html)
+  扩缩通常与计算服务（如 Amazon EC2 实例或 AWS Lambda 函数）相关。考虑使用非计算服务配置（如 [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) 读写容量单元或 [Amazon Kinesis Data Streams](https://aws.amazon.com/kinesis/data-streams/) 分片）来满足需求。
+  验证衡量扩展或缩减的指标已根据所部署的工作负载类型进行了验证。如果您正在部署一个视频转码应用程序，预计 CPU 利用率为 100%，但不应将此作为主要指标，如果需要，可以对扩缩策略使用[自定义指标](https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/)（如内存利用率）。要选择正确的指标，请考虑以下关于 Amazon EC2 的指导：
  +  指标应该是有效的利用率指标，并描述实例的繁忙程度。
  +  指标值必须随着自动扩缩组中的实例数按比例增加或减少。
+  对自动扩缩组使用[动态扩缩](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html)而不是[手动扩缩](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html)。我们还建议在动态扩缩中使用[目标跟踪扩缩策略](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html)。
+  确认工作负载部署可以处理横向扩展事件和横向缩减事件。为横向缩减事件创建测试场景，以确认工作负载的行为符合预期，并且不会影响用户体验（如丢失粘滞会话）。您可以使用[活动历史记录](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-verify-scaling-activity.html)验证自动扩缩组的扩缩活动。
+  评估工作负载，得出可预测的模式，从而在预期需求会发生预测性的计划内变化时主动扩缩。预测性扩缩可以避免过度预置容量。有关更多详细信息，请参阅 [Predictive Scaling with Amazon EC2 Auto Scaling](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/)。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [Getting Started with Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html) 
+  [Predictive Scaling for EC2, Powered by Machine Learning](https://aws.amazon.com/blogs/aws/new-predictive-scaling-for-ec2-powered-by-machine-learning/) 
+  [使用 Amazon OpenSearch Service、Amazon Data Firehose 和 Kibana 分析用户行为](https://aws.amazon.com/blogs/database/analyze-user-behavior-using-amazon-elasticsearch-service-amazon-kinesis-data-firehose-and-kibana/) 
+  [什么是 Amazon CloudWatch？](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [在 Amazon RDS 上使用性能详情监控数据库负载](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+  [介绍对 Amazon EC2 Auto Scaling 预测式扩缩的原生支持](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/) 
+  [介绍 Karpenter – 高性能开源 Kubernetes Cluster Autoscaler](https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/) 
+  [Deep Dive on Amazon ECS Cluster Auto Scaling](https://aws.amazon.com/blogs/containers/deep-dive-on-amazon-ecs-cluster-auto-scaling/) 

 **相关视频：**
+ [AWS re:Invent 2023 - Scaling on AWS for the first 10 million users](https://www.youtube.com/watch?v=JzuNJ8OUht0)
+ [AWS re:Invent 2023 - Sustainable architecture: Past, present, and future ](https://www.youtube.com/watch?v=2xpUQ-Q4QcM)
+  [AWS re:Invent 2022 - Build a cost-, energy-, and resource-efficient compute environment](https://www.youtube.com/watch?v=8zsC5e1eLCg) 
+ [AWS re:Invent 2022 - Scaling containers from one user to millions ](https://www.youtube.com/watch?v=hItHqzKoBk0)
+ [AWS re:Invent 2023 - Scaling FM inference to hundreds of models with Amazon SageMaker AI ](https://www.youtube.com/watch?v=6xENDvgnMCs)
+ [AWS re:Invent 2023 - Harness the power of Karpenter to scale, optimize & upgrade Kubernetes ](https://www.youtube.com/watch?v=lkg_9ETHeks)

 **相关示例：**
+ [ Autoscaling ](https://www.eksworkshop.com/docs/autoscaling/)

# SUS02-BP02 使 SLA 与可持续性目标保持一致
<a name="sus_sus_user_a3"></a>

 根据您的可持续性目标审查和优化工作负载服务水平协议（SLA），以便在继续满足业务需求的同时，尽量减少支持您的工作负载所需的资源。

 **常见反模式：**
+  工作负载 SLA 未知或模棱两可。
+  只针对可用性和性能定义您的 SLA。
+  对所有工作负载使用相同设计模式（如多可用区架构）。

 **建立此最佳实践的好处：**使 SLA 与可持续性目标一致，在满足业务需求的同时实现最佳资源使用率。

 **在未建立这种最佳实践的情况下暴露的风险等级：**低 

## 实施指导
<a name="implementation-guidance"></a>

 SLA 定义云工作负载的预期服务水平，如响应时间、可用性和数据留存。它们影响云工作负载的架构、资源使用率和环境影响。定期审查 SLA，并做出权衡，显著减少资源使用，以换取可接受的服务水平降低幅度。

### 实施步骤
<a name="implementation-steps"></a>
+  **了解可持续性目标：**确定组织的可持续性目标，例如碳减排或提高资源利用率。
+  **查看 SLA：**评估您的 SLA，以评测这些 SLA 是否支持您的业务需求。如果您超出了 SLA，请做进一步审查。
+  **了解权衡：**了解工作负载复杂性（例如大量并发用户）、性能（如延迟）以及可持续性影响（如所需资源）之间的权衡。通常，重视其中两个因素会以牺牲第三个因素为代价。
+  **调整 SLA：**调整 SLA，方法是做出权衡，显著降低可持续性影响，以换取可接受的服务等级降低幅度。
  +  **可持续性和可靠性：**高可用性工作负载往往会消耗更多资源。
  +  **可持续性和性能：**使用更多资源来提升性能可能会对环境产生更大影响。
  +  **可持续性和安全：**过度安全的工作负载可能会对环境产生更大影响。
+  **尽可能定义可持续性 SLA：**纳入工作负载的可持续性 SLA。例如，将最低利用率级别定义为计算实例的可持续性 SLA。
+  **使用高效设计模式：**使用优先考虑业务关键功能的设计模式（例如 AWS 上的微服务），并允许非关键功能具有较低的服务等级（例如响应时间或恢复时间目标）。
+  **沟通并建立责任制：**与所有相关利益相关方共享 SLA，包括您的开发团队和客户。使用报告来跟踪和监控 SLA。分配责任以实现 SLA 的可持续性目标。
+  **使用激励和奖励：**使用激励或奖励，来鼓励达到或超过与可持续性目标保持一致的 SLA。
+  **审查和迭代：**定期审查和调整您的 SLA，确保其与不断变化的可持续性和绩效目标保持一致。

## 资源
<a name="resources"></a>

 **相关文档：**
+ [Understand resiliency patterns and trade-offs to architect efficiently in the cloud](https://aws.amazon.com/blogs/architecture/understand-resiliency-patterns-and-trade-offs-to-architect-efficiently-in-the-cloud/)
+  [Importance of Service Level Agreement for SaaS Providers](https://aws.amazon.com/blogs/apn/importance-of-service-level-agreement-for-saas-providers/) 

 **相关视频：**
+ [AWS re:Invent 2023 - Capacity, availability, cost efficiency: Pick three ](https://www.youtube.com/watch?v=E0dYLPXrX_w)
+ [AWS re:Invent 2023 - Sustainable architecture: Past, present, and future ](https://www.youtube.com/watch?v=2xpUQ-Q4QcM)
+ [AWS re:Invent 2023 - Advanced integration patterns & trade-offs for loosely coupled systems](https://www.youtube.com/watch?v=FGKGdUiZKto)
+ [AWS re:Invent 2022 - Delivering sustainable, high-performing architectures ](https://www.youtube.com/watch?v=FBc9hXQfat0)
+ [AWS re:Invent 2022 - Build a cost-, energy-, and resource-efficient compute environment ](https://www.youtube.com/watch?v=8zsC5e1eLCg)

# SUS02-BP03 停止创建和维护未使用的资产
<a name="sus_sus_user_a4"></a>

停用您的工作负载中未使用的资产，以便减少支持您的需求所需的云资源数量，并最大限度地减少浪费。

 **常见反模式：**
+  您没有分析应用程序以查找冗余或不再需要的资产。
+  您没有移除冗余或不再需要的资产。

 **建立此最佳实践的好处：**移除未使用的资产可释放资源并提高工作负载的整体效率。

 **在未建立这种最佳实践的情况下暴露的风险等级：**低 

## 实施指导
<a name="implementation-guidance"></a>

 未使用的资产会消耗存储空间和计算能力等云资源。通过识别和消除这些资产，您可以释放这些资源，从而形成更高效的云架构。定期分析应用程序资产（例如预编制的报告、数据集和静态图像）和资产访问模式，以识别冗余、利用率低下的情况和潜在的淘汰目标。移除这些冗余资产以减少工作负载中的资源浪费。

### 实施步骤
<a name="implementation-steps"></a>
+  **执行清点：**执行全面清点，确定工作负载中的所有资产。
+  **分析使用情况：**使用持续监控功能来确定不再需要的静态资产。
+  **移除未使用的资产：**制定计划，移除不再需要的资产。
  +  在移除任何资产之前，评估移除它会对架构产生什么影响。
  +  整合生成的重叠资产以消除冗余处理。
  +  更新应用程序，以便不再产生和存储不需要的资产。
+  **与第三方进行沟通：**指示第三方停止生成和存储代您管理但不再需要的资产。要求整合冗余资产。
+  **使用生命周期策略：**使用生命周期策略自动删除不必要的数据。
  +  您可以使用 [Amazon S3 生命周期](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)在对象的整个生命周期中对其进行管理。
  +  您可以使用 [Amazon Data Lifecycle Manager](https://docs.aws.amazon.com/ebs/latest/userguide/snapshot-lifecycle.html) 自动创建、保留和删除 Amazon EBS 快照和 Amazon EBS 支持的 AMI。
+  **审核和优化：**定期审核工作负载以识别和移除任何未使用的资产。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [优化您的 AWS 基础设施以实现可持续性，第 II 部分：存储](https://aws.amazon.com/blogs/architecture/optimizing-your-aws-infrastructure-for-sustainability-part-ii-storage/) 
+ [ 如何终止我的 AWS 账户 中不再需要的活动资源？](https://aws.amazon.com/premiumsupport/knowledge-center/terminate-resources-account-closure/)

 **相关视频：**
+ [AWS re:Invent 2023 - Sustainable architecture: Past, present, and future ](https://www.youtube.com/watch?v=2xpUQ-Q4QcM)
+ [AWS re:Invent 2022 - Preserving and maximizing the value of digital media assets using Amazon S3 ](https://www.youtube.com/watch?v=8OI0Uu-YvD8)
+ [AWS re:Invent 2023 - Optimize costs in your multi-account environments](https://www.youtube.com/watch?v=ie_Mqb-eC4A)

# SUS02-BP04 根据其联网要求优化工作负载的地理位置
<a name="sus_sus_user_a5"></a>

为工作负载选择可缩短网络流量必须传输的距离的云位置和服务，并减少支持您的工作负载所需的总网络资源。

 **常见反模式：**
+  您根据自己所在的位置选择工作负载的区域。
+  将所有工作负载资源整合到一个地理位置中。
+  所有流量都会流经现有的数据中心。

 **建立此最佳实践的好处：**将工作负载放在接近用户的地方可以提供极低的延迟，同时减少网络中的数据移动并减小对环境的影响。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 AWS 云 基础设施围绕区域、可用区、置放群组和边缘站点（例如，[AWS Outposts](https://docs.aws.amazon.com/outposts/latest/userguide/what-is-outposts.html) 和 [AWS Local Zones](https://aws.amazon.com/about-aws/global-infrastructure/localzones/)。这些位置选项负责维护应用程序组件、云服务、边缘网络和本地数据中心之间的连接。

 分析您的工作负载中的网络访问模式，以便确定如何使用这些云位置选项和缩短网络流量必须传输的距离。

## 实施步骤
<a name="implementation-steps"></a>
+  分析工作负载中的网络访问模式，以便确定用户如何使用应用程序。
  +  使用 [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 和 [AWS CloudTrail](https://aws.amazon.com/cloudtrail/) 等监控工具收集有关网络活动的数据。
  +  分析数据以确定网络访问模式。
+  请根据以下关键元素，为您的工作负载部署选择区域：
  +  **您的可持续性目标：**如[地区选择](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/region-selection.html)中所述。
  +  **数据所在位置：**对于数据密集型应用程序（如大数据和机器学习），应用程序代码的运行应尽量接近数据。
  +  **用户所在位置：**对于面向用户的应用程序，选择接近您工作负载用户的一个或多个区域。
  + **其他约束**：考虑成本和合规性等约束因素，如 [What to Consider when Selecting a Region for your Workloads](https://aws.amazon.com/blogs/architecture/what-to-consider-when-selecting-a-region-for-your-workloads/) 中所述。
+  对常用资产使用本地缓存或 [AWS 缓存解决方案](https://aws.amazon.com/caching/aws-caching/)，以提高性能，减少数据移动并减小对环境的影响。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2024-06-27/framework/sus_sus_user_a5.html)
+  使用可帮助您在更接近工作负载用户的位置运行代码的服务：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2024-06-27/framework/sus_sus_user_a5.html)
+  使用连接池来允许连接重用并减少所需资源。
+  使用不依赖于持久连接和同步更新的分布式数据存储来保持一致性，从而为区域人口提供服务。
+  用共享的动态容量代替预置的静态网络容量，并与其他订阅用户共享网络容量的可持续性影响。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [优化您的 AWS 基础设施以实现可持续性，第 III 部分：联网](https://aws.amazon.com/blogs/architecture/optimizing-your-aws-infrastructure-for-sustainability-part-iii-networking/) 
+  [Amazon ElastiCache 文档](https://docs.aws.amazon.com/elasticache/index.html) 
+  [What is Amazon CloudFront?](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html)
+  [Amazon CloudFront 的主要功能](https://aws.amazon.com/cloudfront/features/) 
+ [AWS 全球基础设施](https://aws.amazon.com/about-aws/global-infrastructure/)
+ [AWS Local Zones and AWS Outposts, choosing the right technology for your edge workload ](https://aws.amazon.com/blogs/compute/aws-local-zones-and-aws-outposts-choosing-the-right-technology-for-your-edge-workload/)
+ [置放群组](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
+ [AWS Local Zones](https://aws.amazon.com/about-aws/global-infrastructure/localzones/)
+ [AWS Outposts](https://aws.amazon.com/outposts/)

 **相关视频：**
+  [揭秘 AWS 上的数据传输](https://www.youtube.com/watch?v=-MqXgzw1IGA) 
+ [在新一代 Amazon EC2 实例上扩展网络性能](https://www.youtube.com/watch?v=jNYpWa7gf1A)
+ [AWS Local Zones Explainer Video](https://www.youtube.com/watch?v=JHt-D4_zh7w)
+ [AWS Outposts: Overview and How it Works](https://www.youtube.com/watch?v=ppG2FFB0mMQ)
+ [AWS re:Invent 2023 - A migration strategy for edge and on-premises workloads ](https://www.youtube.com/watch?v=4wUXzYNLvTw)
+ [AWS re:Invent 2021 - AWS Outposts: Bringing the AWS experience on premises](https://www.youtube.com/watch?v=FxVF6A22498)
+ [AWS re:Invent 2020 - AWS Wavelength: Run apps with ultra-low latency at 5G edge ](https://www.youtube.com/watch?v=AQ-GbAFDvpM)
+ [AWS re:Invent 2022 - AWS Local Zones: Building applications for a distributed edge](https://www.youtube.com/watch?v=bDnh_d-slhw)
+ [AWS re:Invent 2021 - Building low-latency websites with Amazon CloudFront](https://www.youtube.com/watch?v=9npcOZ1PP_c)
+ [AWS re:Invent 2022 - Improve performance and availability with AWS Global Accelerator](https://www.youtube.com/watch?v=s5sjsdDC0Lg)
+ [AWS re:Invent 2022 - Build your global wide area network using AWS](https://www.youtube.com/watch?v=flBieylTwvI)
+ [AWS re:Invent 2020: Global traffic management with Amazon Route 53](https://www.youtube.com/watch?v=E33dA6n9O7I)

 **相关示例：**
+  [AWS Networking 讲习会](https://catalog.workshops.aws/networking/en-US) 
+ [针对可持续性设计 – 最大限度地减少跨网络的数据移动](https://catalog.us-east-1.prod.workshops.aws/workshops/7c4f8394-8081-4737-aa1b-6ae811d46e0a/en-US)

# SUS02-BP05 针对执行的活动优化团队成员资源
<a name="sus_sus_user_a6"></a>

优化提供给团队成员的资源，在支持其需求的同时最大程度地降低对环境可持续性的影响。

 **常见反模式：**
+  忽略了团队成员使用的设备对云应用程序整体效率的影响。
+  手动管理和更新团队成员使用的资源。

 **建立此最佳实践的好处：**优化团队成员资源可以提高支持云的应用程序的整体效率。

 **在未建立这种最佳实践的情况下暴露的风险等级：**低 

## 实施指导
<a name="implementation-guidance"></a>

 了解您的团队成员用来使用服务的资源、它们的预期生命周期，以及财务和可持续性影响。实施战略以优化这些资源。例如，在利用率高的可扩展基础设施上，而不是在利用率不高的强力单用户系统上，执行渲染和编译等复杂的操作。

### 实施步骤
<a name="implementation-steps"></a>
+  **使用节能工作站：**为团队成员提供节能工作站和外围设备。在这些设备中使用高效的电源管理功能（例如低功耗模式）来减少其能耗 
+  **使用虚拟化技术：**使用虚拟桌面和应用程序串流来限制升级和设备要求。
+  **鼓励远程协作：**鼓励团队成员使用 [Amazon Chime](https://aws.amazon.com/chime/) 和 [AWS Wickr](https://aws.amazon.com/wickr/) 等远程协作工具，以减少差旅需求和相关的碳排放。
+  **使用节能软件：**通过删除或关闭不必要的功能和流程，为团队成员提供节能软件。
+  **管理生命周期：**评估流程和系统对您的设备生命周期的影响，并选择在满足业务需求的同时最大限度减少设备更换需求的解决方案。定期维护和更新工作站或软件，维持和提高效率。
+  **远程设备管理：**对设备实施远程管理以减少所需的商务旅行。
  +  [AWS Systems Manager Fleet Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet.html) 是一种统一的用户界面（UI）体验，有助于您远程管理在 AWS 上或在本地运行的节点。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [什么是 Amazon WorkSpaces？](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) 
+ [适用于 Amazon WorkSpaces 的 Cost Optimizer](https://docs.aws.amazon.com/solutions/latest/cost-optimizer-for-workspaces/overview.html)
+  [Amazon AppStream 2.0 文档](https://docs.aws.amazon.com/appstream2/) 
+  [NICE DCV](https://docs.aws.amazon.com/dcv/) 

 **相关视频：**
+  [管理 AWS 上的 Amazon WorkSpaces 的成本](https://www.youtube.com/watch?v=0MoY31hZQuE) 

# SUS02-BP06 实施缓冲和节流以展平需求曲线
<a name="sus_sus_user_a7"></a>

缓冲和节流可展平需求曲线，并降低工作负载所需的预置容量。

 **常见反模式：**
+ 在不需要的时候立即处理客户端请求。
+ 没有分析客户端请求的要求。

 **建立此最佳实践的好处：**拉平需求曲线可以减少工作负载所需的预置容量。降低预置容量即可减少能源消耗和减少对环境的影响。

 **在未建立这种最佳实践的情况下暴露的风险等级：**低 

## 实施指导
<a name="implementation-guidance"></a>

 展平工作负载需求曲线有助于降低工作负载的预置容量和减少对环境的影响。假设工作负载的需求曲线如下图所示。此工作负载有两个峰值，为了处理这些峰值，如橙色线所示预置资源容量。因为需要预置容量来处理这两个峰值，所以此工作负载所使用的资源和能量不是由需求曲线下的区域表示，而是由预置容量线下面的区域表示。

![\[预置容量波形，有两个不同的峰值，需要高预置容量。\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2024-06-27/framework/images/provisioned-capacity-1.png)


 

 您可以使用缓冲和节流来修改需求曲线和弄平峰值，这意味着可以减少预置容量和消耗的能量。在客户端可以执行重试时实施节流。实施缓冲以存储请求并将处理任务往后推迟一段时间。

![\[波形图显示了使用缓冲或节流创建的平滑峰值的工作负载。\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2024-06-27/framework/images/provisioned-capacity-2.png)


 

 **实施步骤** 
+  分析客户端请求以确定如何对它们作出响应。要考虑的问题包括：
  +  是否可以异步处理此请求？ 
  +  客户端是否具有重试能力？ 
+  如果客户端有重试能力，则您可以实施节流，它会告诉需求源，如果当前无法处理请求，则应稍后再试。
  +  可以使用 [Amazon API Gateway](https://aws.amazon.com/api-gateway/) 实施节流。
+  对于无法执行重试的客户端，则需要实施缓冲以展平需求曲线。缓冲会延迟请求处理，从而让以不同速率运行的应用程序可以有效通信。基于缓冲的方法使用队列或流来接受来自生产方的消息。然后消息将由使用器读取并处理，这样消息就能够以满足使用器业务要求的速率运行。
  +  [Amazon Simple Queue Service（Amazon SQS）](https://aws.amazon.com/sqs/)是一项托管式服务，提供允许单个使用方读取单个消息的队列。
  +  [Amazon Kinesis](https://aws.amazon.com/kinesis/) 提供允许众多使用器读取相同消息的流。
+  分析总体需求、变化率和所需的响应时间，以使所需节流或缓冲的大小适宜。

## 资源
<a name="resources"></a>

 **相关文档：**
+ [Getting started with Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html)
+ [Application integration Using Queues and Messages](https://aws.amazon.com/blogs/architecture/application-integration-using-queues-and-messages/)
+ [Managing and monitoring API throttling in your workloads](https://aws.amazon.com/blogs/mt/managing-monitoring-api-throttling-in-workloads/)
+ [Throttling a tiered, multi-tenant REST API at scale using API Gateway](https://aws.amazon.com/blogs/architecture/throttling-a-tiered-multi-tenant-rest-api-at-scale-using-api-gateway-part-1/)
+ [Application integration Using Queues and Messages](https://aws.amazon.com/blogs/architecture/application-integration-using-queues-and-messages/)

 **相关视频：**
+ [AWS re:Invent 2022 - Application integration patterns for microservices ](https://www.youtube.com/watch?v=GoBOivyE7PY)
+ [AWS re:Invent 2023 - Smart savings: Amazon EC2 cost-optimization strategies ](https://www.youtube.com/watch?v=_AHPbxzIGV0)
+ [AWS re:Invent 2023 - Advanced integration patterns & trade-offs for loosely coupled systems](https://www.youtube.com/watch?v=FGKGdUiZKto)

# 软件和架构
<a name="a-sus-software-architecture"></a>

**Topics**
+ [SUS 3 如何利用软件和架构模式来支持可持续性目标？](sus-03.md)

# SUS 3 如何利用软件和架构模式来支持可持续性目标？
<a name="sus-03"></a>

实施用于执行负载平滑和保持已部署资源始终如一的高利用率的模式，以最大限度地减少资源消耗。由于用户行为会随着时间的推移而发生变化，组件可能会因缺乏使用而变得空闲。修改模式和架构以整合未充分利用的组件，从而提高整体利用率。停用不再需要的组件。了解工作负载组件的性能，并优化消耗最多资源的组件。注意客户用来访问您服务的设备，并实施相应的模式以最大限度地减少设备升级需求。

**Topics**
+ [SUS03-BP01 针对异步和计划作业优化软件和架构](sus_sus_software_a2.md)
+ [SUS03-BP02 删除或重构很少或没有使用的工作负载组件](sus_sus_software_a3.md)
+ [SUS03-BP03 优化消耗最多时间或资源的代码区域](sus_sus_software_a4.md)
+ [SUS03-BP04 优化对设备的影响](sus_sus_software_a5.md)
+ [SUS03-BP05 使用最能支持数据访问和存储模式的软件模式和架构](sus_sus_software_a6.md)

# SUS03-BP01 针对异步和计划作业优化软件和架构
<a name="sus_sus_software_a2"></a>

使用高效的软件和架构模式（如队列驱动）来保持所部署资源的始终如一的高利用率。

 **常见反模式：**
+  为了应对不可预见的需求高峰，您过度预置云工作负载中的资源。
+  架构不会通过消息传递组件分离异步消息的发送方和接收方。

 **建立此最佳实践的好处：**
+  高效的软件和架构模式可以最大程度地减少工作负载中未使用的资源，并提高整体效率。
+  可以独立于异步消息的接收来扩展处理。
+  通过消息传递组件，可以放宽可用性要求，从而能够用更少的资源来满足这些要求。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 使用高效的架构模式，例如[事件驱动型架构](https://aws.amazon.com/event-driven-architecture/)，这样可以均匀利用组件，并最大限度地减少工作负载中的过度预置。使用高效的架构模式可以最大程度地减少由于需求随时间变化而导致的闲置资源。

 了解工作负载组件的要求，并采用可提高资源总体利用率的架构模式。停用不再需要的组件。

### 实施步骤
<a name="implementation-steps"></a>
+  分析工作负载的需求，以确定如何响应这些需求。
+  对于不需要同步响应的请求或作业，请使用队列驱动型架构和自动扩缩工作线程来最大限度地提高利用率。以下是一些可以考虑采用队列驱动型架构的示例：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2024-06-27/framework/sus_sus_software_a2.html)
+  对于可以随时处理的请求或作业，请使用调度机制批量处理作业以提高效率。以下是 AWS 上的调度机制的一些示例：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2024-06-27/framework/sus_sus_software_a2.html)
+  如果在架构中使用轮询和 Webhook 机制，请将它们替换为事件。使用[事件驱动型架构](https://docs.aws.amazon.com/lambda/latest/operatorguide/event-driven-architectures.html)来构建高效的工作负载。
+  利用 [AWS 上的无服务器架构](https://aws.amazon.com/serverless/)消除过度预置的基础设施。
+  适当调整架构中各个组件的大小，以防止等待输入的闲置资源。
  +  您可以使用 [AWS Cost Explorer 中的合理调整大小建议](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html)或 [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 来确定合理调整大小的机会。
  +  有关更多详细信息，请参阅《[合理调整大小：预置实例以匹配工作负载](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/cost-optimization-right-sizing.html)》。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [What is Amazon Simple Queue Service?](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html)
+  [什么是 Amazon MQ？](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html) 
+  [基于 Amazon SQS 进行扩展](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-using-sqs-queue.html) 
+  [什么是 AWS Step Functions？](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) 
+  [什么是 AWS Lambda？](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 
+  [将 AWS Lambda 与 Amazon SQS 结合使用](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html) 
+  [什么是 Amazon EventBridge？](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) 
+ [使用 REST API 管理异步工作流程](https://aws.amazon.com/blogs/architecture/managing-asynchronous-workflows-with-a-rest-api/)

 **相关视频：**
+ [AWS re:Invent 2023 - Navigating the journey to serverless event-driven architecture ](https://www.youtube.com/watch?v=hvGuqHp051c)
+ [AWS re:Invent 2023 - Using serverless for event-driven architecture & domain-driven design ](https://www.youtube.com/watch?v=3foMZJSPMI4)
+ [AWS re:Invent 2023 - Advanced event-driven patterns with Amazon EventBridge ](https://www.youtube.com/watch?v=6X4lSPkn4ps)
+ [AWS re:Invent 2023 - Sustainable architecture: Past, present, and future ](https://www.youtube.com/watch?v=2xpUQ-Q4QcM)
+ [异步消息模式 \$1 AWS 事件](https://www.youtube.com/watch?v=-yJqBuwouZ4)

 **相关示例：**
+ [带有 AWS Graviton 处理器和 Amazon EC2 竞价型实例的事件驱动型架构](https://catalog.workshops.aws/well-architected-sustainability/en-US/2-software-and-architecture/event-driven-architecture-with-graviton-spot)

# SUS03-BP02 删除或重构很少或没有使用的工作负载组件
<a name="sus_sus_software_a3"></a>

移除未使用且不再需要的组件，并重构利用率低的组件，以最大限度减少工作负载中的浪费。

 **常见反模式：**
+  没有定期检查工作负载的各个组件的利用率水平。
+  没有查看和分析来自 AWS 合理调整大小工具（如 [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/)）的建议。

 **建立此最佳实践的好处：**移除未使用的组建可最大限度减少浪费并提高云工作负载的整体效率。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

云工作负载中未使用或未充分利用的组件会消耗不必要的计算、存储或网络资源。移除或重构这些组件，来直接减少浪费并提高云工作负载的整体效率。这是一个迭代改进过程，可以通过需求变化或新云服务的发布来启动。例如，[AWS Lambda](https://docs.aws.amazon.com/lambda/) 函数运行时间的显著减少可能表明需要减少内存大小。此外，随着 AWS 发布新的服务和功能，适用于您的工作负载的最佳服务和架构可能会发生变化。

 持续监控工作负载活动并寻找机会来提高单个组件的利用水平。通过删除空闲组件并执行合理调整大小活动，您就可以使用最少的云资源来满足您的业务需求。

### 实施步骤
<a name="implementation-steps"></a>
+  **清点 AWS 资源：**创建 AWS 资源的清单。在 AWS 中，您可以开启 [AWS 资源探索器](https://docs.aws.amazon.com/resource-explorer/latest/userguide/welcome.html) 以探索和整理您的 AWS 资源。有关更多详细信息，请参阅 [AWS re:Invent 2022 - How to manage resources and applications at scale on AWS](https://www.youtube.com/watch?v=bbgUnKq6PAU)。
+  **监控利用率：**监控和捕获工作负载关键组件的利用率指标（例如 [Amazon CloudWatch 指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)中的 CPU 利用率、内存利用率或网络吞吐量）。
+  **识别未使用的组件：**识别架构中未使用或未充分利用的组件。
  +  对于稳定的工作负载，请定期检查 [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 等 AWS 合理调整大小工具，以确定闲置、未使用或未充分利用的组件。
  +  对于临时工作负载，请评估利用率指标以识别空闲、未使用或未充分利用的组件。
+  **移除未使用的组件：**停用不再需要的组件及关联资产（如 Amazon ECR 映像）。
  + [自动清理 Amazon ECR 中未使用的图片](https://aws.amazon.com/blogs/compute/automated-cleanup-of-unused-images-in-amazon-ecr/)
  + [使用 AWS Config 和 AWS Systems Manager 删除未使用的 Amazon Elastic Block Store（Amazon EBS）卷](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/delete-unused-amazon-elastic-block-store-amazon-ebs-volumes-by-using-aws-config-and-aws-systems-manager.html)
+  **重构未充分利用的组件：**重构未充分利用的组件或将其与其它资源整合，以提高利用效率。例如，您可以在单个 [Amazon RDS](https://aws.amazon.com/rds/) 数据库实例上预置多个小型数据库，而不必在各个未充分利用的实例上运行数据库。
+  **评估改进：**了解[工作负载为完成工作单元而预置的资源](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/evaluate-specific-improvements.html)。使用此信息来评估通过移除或重构组件所实现的改进。
  + [ Measure and track cloud efficiency with sustainability proxy metrics, Part I: What are proxy metrics? ](https://aws.amazon.com/blogs/aws-cloud-financial-management/measure-and-track-cloud-efficiency-with-sustainability-proxy-metrics-part-i-what-are-proxy-metrics/) 
  + [ Measure and track cloud efficiency with sustainability proxy metrics, Part II: Establish a metrics pipeline ](https://aws.amazon.com/blogs/aws-cloud-financial-management/measure-and-track-cloud-efficiency-with-sustainability-proxy-metrics-part-ii-establish-a-metrics-pipeline/)

## 资源
<a name="resources"></a>

 **相关文档：**
+ [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/)
+  [什么是 Amazon CloudWatch？](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+ [合理调整大小：预置实例以匹配工作负载](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/cost-optimization-right-sizing.html)
+ [通过规模优化建议来优化成本](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html)

 **相关视频：**
+ [AWS re:Invent 2023 - Capacity, availability, cost efficiency: Pick three ](https://www.youtube.com/watch?v=E0dYLPXrX_w)

# SUS03-BP03 优化消耗最多时间或资源的代码区域
<a name="sus_sus_software_a4"></a>

优化在架构的不同组件中运行的代码，以最大限度地减少资源使用和提高性能。

 **常见反模式：**
+  忽略为资源使用优化代码。
+  通常通过增加资源来应对性能问题。
+  代码审核和开发过程不会跟踪性能变化。

 **建立此最佳实践的好处：**使用高效的代码可以最大限度地减少资源使用并提高性能。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 至关重要的是检查每个功能区域（包括云架构应用程序的代码）以优化其资源使用和性能。持续监控工作负载在构建环境和生产中的性能，并确定改进资源使用率特别高的代码片段的机会。采用定期审核流程来识别代码中资源使用效率低下的错误或反模式。利用可为您的应用场景产生相同结果的简单和高效算法。

## 实施步骤
<a name="implementation-steps"></a>
+ **使用高效的编程语言：**使用高效的操作系统和编程语言来处理工作负载。有关节能编程语言（包括 Rust）的详细信息，请参阅《[Sustainability with Rust](https://aws.amazon.com/blogs/opensource/sustainability-with-rust/)》。
+  **使用 AI 编码伴侣：**考虑使用 [Amazon Q 开发者版](https://aws.amazon.com/q/developer/)等 AI 编码伴侣来高效编写代码。
+ **实现代码审查自动化：**在开发工作负载时，采用自动化代码审查流程来提高质量并识别错误和反模式。
  + [ Automate code reviews with Amazon CodeGuru Reviewer ](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/)
  + [使用 Amazon CodeGuru 检测并发错误](https://aws.amazon.com/blogs/devops/detecting-concurrency-bugs-with-amazon-codeguru/)
  + [使用 Amazon CodeGuru 提高 Python 应用程序的代码质量](https://aws.amazon.com/blogs/devops/raising-code-quality-for-python-applications-using-amazon-codeguru/)
+ **使用代码分析器：**使用代码分析器确定使用时间最长或使用资源最多的代码区域作为优化目标。
  + [借助 Amazon CodeGuru Profiler 减少组织的碳排放](https://aws.amazon.com/blogs/devops/reducing-your-organizations-carbon-footprint-with-codeguru-profiler/)
  + [使用 Amazon CodeGuru Profiler 了解 Java 应用程序中的内存使用](https://aws.amazon.com/blogs/devops/understanding-memory-usage-in-your-java-application-with-amazon-codeguru-profiler/)
  + [通过 Amazon CodeGuru Profiler 改进客户体验并降低成本](https://aws.amazon.com/blogs/devops/improving-customer-experience-and-reducing-cost-with-codeguru-profiler/)
+  **监控和优化：**使用持续监控资源来识别资源要求高或配置不佳的组件。
  +  使用可产生相同结果的更简单、更高效算法取代计算密集型算法。
  +  删除排序和格式等不必要的代码。
+  **使用代码重构或转换：**探索将 [Amazon Q 代码转换](https://aws.amazon.com/q/aws/code-transformation/)用于应用程序维护和升级的可能性。
  + [使用 Amazon Q 代码转换升级语言版本](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/code-transformation.html)
  + [AWS re:Invent 2023 - Automate app upgrades & maintenance using Amazon Q Code Transformation ](https://www.youtube.com/watch?v=LY76tak6Z1E)

## 资源
<a name="resources"></a>

 **相关文档：**
+  [什么是 Amazon CodeGuru Profiler？](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html) 
+  [FPGA 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fpga-getting-started.html) 
+  [用于在 AWS 上进行构建的 AWS SDK 和工具](https://aws.amazon.com/tools/) 

 **相关视频：**
+ [使用 Amazon CodeGuru Profiler 提高代码效率](https://www.youtube.com/watch?v=1pU4VddsBRw)
+ [使用 Amazon CodeGuru 自动提供代码审查和应用程序性能建议](https://www.youtube.com/watch?v=OD8H63C0E0I)

# SUS03-BP04 优化对设备的影响
<a name="sus_sus_software_a5"></a>

了解您的架构中使用的设备，并使用策略来减少其使用。这可以最大限度地减少云工作负载对环境的整体影响。

 **常见反模式：**
+  忽略客户所用设备对环境的影响。
+  手动管理和更新客户使用的资源。

 **建立此最佳实践的好处：**实施针对客户设备进行了优化的软件模式和功能可以减少云工作负载对环境的总体影响。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 实施针对客户设备优化的软件模式和功能可以从几个方面减少对环境的影响。
+  实施向后兼容的新功能可以减少硬件更换次数。
+  优化应用程序以在设备上高效运行，这有助于降低能耗和延长电池寿命（如果它们由电池供电）。
+  针对设备优化应用程序还可以减少网络上的数据传输。

 了解架构中使用的设备、其预期生命周期以及更换这些组件产生的影响。实施软件模式和功能，有助于最大程度地降低设备能耗、减少客户更换设备和手动升级设备的需求。

### 实施步骤
<a name="implementation-steps"></a>
+ **进行清点：**列出您架构中使用的设备。设备可以是移动设备、平板电脑、物联网设备、智能灯，甚至是工厂中的智能设备。
+ **使用节能设备：**考虑在架构中使用节能设备。在不使用设备时，使用设备上的电源管理配置来进入低功耗模式。
+ **运行高效的应用程序：**优化在设备上运行的应用程序：
  +  使用策略（例如在后台运行任务）来降低能耗。
  +  在构建有效负载时考虑网络带宽和延迟，并实施有助于您的应用程序在低带宽、高延迟链路上良好运行的功能。
  +  将有效负载和文件转换为设备所需的优化格式。例如，您可以使用 [Amazon Elastic Transcoder](https://docs.aws.amazon.com/elastic-transcoder/) 或 [AWS Elemental MediaConvert](https://aws.amazon.com/mediaconvert/) 将大型高质量数字媒体文件转换为用户可在移动设备、平板电脑、网络浏览器和联网电视上播放的格式。
  +  在服务器端执行计算密集型活动（例如图像渲染），或使用应用程序串流来改善旧设备上的用户体验。
  +  对输出进行分段和分页，尤其是对于交互式会话，以管理有效负载并限制本地存储要求。
+ **吸引供应商：**与使用可持续材料的设备供应商合作，提高供应链透明度和环境认证。
+ **使用空中下载（OTA）更新：**使用自动化空中下载（OTA）机制将更新部署到一个或多个设备。
  +  您可以使用 [CI/CD 管道](https://aws.amazon.com/blogs/mobile/build-a-cicd-pipeline-for-your-android-app-with-aws-services/)来更新移动应用程序。
  +  您可以使用 [AWS IoT Device Management](https://aws.amazon.com/iot-device-management/) 大规模远程管理连接的设备。
+ **使用托管式设备场：**要测试新功能和更新，请使用具有代表性硬件集的托管式设备场，并迭代开发以最大限度增加支持的设备数。有关更多详细信息，请参阅[SUS06-BP05 使用托管式 Device Farm 进行测试](sus_sus_dev_a5.md)。
+ **继续监控和改进：**跟踪设备的能源使用情况，以确定需要改进的领域。使用新技术或最佳实践来改善这些设备对环境的影响。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [什么是 AWS Device Farm？](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html) 
+  [WorkSpaces Applications 文档](https://docs.aws.amazon.com/appstream2/) 
+  [NICE DCV](https://docs.aws.amazon.com/dcv/) 
+ [OTA 教程，用于在运行 FreeRTOS 的设备上更新固件](https://docs.aws.amazon.com/freertos/latest/userguide/dev-guide-ota-workflow.html)
+ [优化您的物联网设备以实现环境可持续性](https://aws.amazon.com/blogs/architecture/optimizing-your-iot-devices-for-environmental-sustainability/)

 **相关视频：**
+ [AWS re:Invent 2023 - Improve your mobile and web app quality using AWS Device Farm](https://www.youtube.com/watch?v=__93Tm0YCRg)

# SUS03-BP05 使用最能支持数据访问和存储模式的软件模式和架构
<a name="sus_sus_software_a6"></a>

了解数据在工作负载中的使用方式、用户使用数据的方式，以及数据的传输和存储方式。使用最能支持数据访问和存储的软件模式和架构，最大限度地减少支持工作负载所需的计算、网络和存储资源。

 **常见反模式：**
+  假设所有工作负载都具有相似的数据存储和访问模式。
+  假设所有工作负载都位于一个存储层，且只使用该存储层。
+  假设数据访问模式会随着时间的推移保持一致。
+  您的架构支持潜在的高数据访问突发，这会导致资源大部分时间都处于空闲状态。

 **建立此最佳实践的好处：**根据数据访问和存储模式选择并优化架构将有助于降低开发复杂性并提高总体利用率。了解何时使用全局表、数据分区和缓存将帮助您减少运营开销，并根据您的工作负载需求进行扩展。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 要提高工作负载的长期可持续性，请使用支持工作负载数据访问和存储特性的架构模式。这些模式有助于您高效地检索和处理数据。例如，可以将 [AWS 上的现代数据架构](https://aws.amazon.com/big-data/datalakes-and-analytics/modern-data-architecture/)与针对您的独特分析用例进行了优化的专用服务结合使用。这些架构模式可提高数据处理效率和减少资源使用。

### 实施步骤
<a name="implementation-steps"></a>
+  **了解数据特性：**分析您的数据特性和访问规律，以便确定云资源的适合配置。要考虑的主要特性包括：
  +  **数据类型：**结构化、半结构化、非结构化 
  +  **数据增长：**有限、无界 
  +  **数据持久性：**持久、短暂、瞬时 
  +  **访问模式**:读写、频率、峰值或一致 
+  **使用最佳架构模式：**使用最能支持数据访问和存储规律的架构模式。
  + [启用数据持久性的模式](https://docs.aws.amazon.com/prescriptive-guidance/latest/modernization-data-persistence/enabling-patterns.html)
  + [ Let’s Architect\$1 现代数据架构](https://aws.amazon.com/blogs/architecture/lets-architect-modern-data-architectures/)
  + [AWS 上的数据库：为恰当的作业选择恰当的数据库](https://www.youtube.com/watch?v=-pb-DkD6cWg)
+  **使用专用服务：**使用适合用途的技术。
  +  使用可以原生处理压缩数据的技术。
    + [Athena 压缩支持文件格式](https://docs.aws.amazon.com/athena/latest/ug/compression-formats.html)
    + [ 中的 ETL 输入和输出的格式选项AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html)
    + [使用 Amazon Redshift 从 Amazon S3 加载压缩数据文件](https://docs.aws.amazon.com/redshift/latest/dg/t_loading-gzip-compressed-data-files-from-S3.html)
  +  使用专用[分析服务](https://aws.amazon.com/big-data/datalakes-and-analytics/?nc2=h_ql_prod_an_a)在您的架构中进行数据处理。有关 AWS 专用分析服务的详细信息，请参阅 [AWS re:Invent 2022 - Building modern data architectures on AWS](https://www.youtube.com/watch?v=Uk2CqEt5f0o)。
  +  使用最能支持您的主导查询模式的数据库引擎。管理您的数据库索引，来实现高效的查询。有关更多详细信息，请参阅《[AWS 数据库](https://aws.amazon.com/products/databases/)》和 [AWS re:Invent 2022 - Modernize apps with purpose-built databases](https://www.youtube.com/watch?v=V-DiplATdi0)。
+  **尽量减少数据传输：**选择可减少架构中所用网络容量的网络协议。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [使用 Amazon Redshift 从列数据格式复制](https://docs.aws.amazon.com/redshift/latest/dg/copy-usage_notes-copy-from-columnar.html) 
+  [在 Firehose 中转换输入记录格式](https://docs.aws.amazon.com/firehose/latest/dev/record-format-conversion.html) 
+  [通过转换为列格式提高 Amazon Athena 上的查询性能](https://docs.aws.amazon.com/athena/latest/ug/convert-to-columnar.html) 
+  [使用 Amazon Aurora 上的“性能洞察”监控数据库负载](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.html) 
+  [在 Amazon RDS 上使用性能详情监控数据库负载](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+ [Amazon S3 Intelligent-Tiering 存储类](https://aws.amazon.com/s3/storage-classes/intelligent-tiering/)
+ [使用 Amazon DynamoDB 构建 CQRS 事件存储](https://aws.amazon.com/blogs/database/build-a-cqrs-event-store-with-amazon-dynamodb/)

 **相关视频：**
+ [AWS re:Invent 2022 - Building data mesh architectures on AWS](https://www.youtube.com/watch?v=nGRvlobeM_U)
+ [AWS re:Invent 2023 - Deep dive into Amazon Aurora and its innovations ](https://www.youtube.com/watch?v=je6GCOZ22lI)
+ [AWS re:Invent 2023 - Improve Amazon EBS efficiency and be more cost-efficient ](https://www.youtube.com/watch?v=7-CB02rqiuw)
+ [AWS re:Invent 2023 - Optimizing storage price and performance with Amazon S3 ](https://www.youtube.com/watch?v=RxgYNrXPOLw)
+ [AWS re:Invent 2023 - Building and optimizing a data lake on Amazon S3](https://www.youtube.com/watch?v=mpQa_Zm1xW8)
+ [AWS re:Invent 2023 - Advanced event-driven patterns with Amazon EventBridge ](https://www.youtube.com/watch?v=6X4lSPkn4ps)

 **相关示例：**
+ [AWS Purpose Built Databases 讲习会](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US)
+ [AWS Modern Data Architecture Immersion Day ](https://catalog.us-east-1.prod.workshops.aws/workshops/32f3e732-d67d-4c63-b967-c8c5eabd9ebf/en-US)
+ [Build a Data Mesh on AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/23e6326b-58ee-4ab0-9bc7-3c8d730eb851/en-US)

# 数据
<a name="a-sus-data"></a>

**Topics**
+ [SUS 4 如何利用数据管理策略和模式来支持可持续性目标？](sus-04.md)

# SUS 4 如何利用数据管理策略和模式来支持可持续性目标？
<a name="sus-04"></a>

实施数据管理实践以减少支持工作负载所需的预置存储，以及使用存储所需的资源。了解您的数据，并使用能够更有效地支持数据的业务价值及其使用方式的存储技术和配置。当需求减少时，将数据移到更高效、性能更低的存储中，并删除不再需要的数据。

**Topics**
+ [SUS04-BP01 实施数据分类策略](sus_sus_data_a2.md)
+ [SUS04-BP02 使用支持数据访问和存储模式的技术](sus_sus_data_a3.md)
+ [SUS04-BP03 使用策略管理数据集的生命周期](sus_sus_data_a4.md)
+ [SUS04-BP04 使用弹性和自动化来扩展数据块存储或文件系统](sus_sus_data_a5.md)
+ [SUS04-BP05 删除不需要或多余的数据](sus_sus_data_a6.md)
+ [SUS04-BP06 使用共享文件系统或存储来访问通用数据](sus_sus_data_a7.md)
+ [SUS04-BP07 最大限度地减少跨网络的数据移动](sus_sus_data_a8.md)
+ [SUS04-BP08 仅在难以重新创建时备份数据](sus_sus_data_a9.md)

# SUS04-BP01 实施数据分类策略
<a name="sus_sus_data_a2"></a>

对数据进行分类，以了解其对业务成果的重要性，并选择合适的节能存储层来存储数据。

 **常见反模式：**
+  您没有识别正在处理或存储的具有类似特征（如敏感性、业务关键性或监管要求）的数据资产。
+  没有实施数据目录来清点数据资产。

 **建立这种最佳实践的好处：**实施数据分类策略让您可以确定能效最高的数据存储层。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 数据分类涉及识别在由组织拥有或运营的信息系统中正在处理和存储的数据类型。它还涉及到对数据的重要性以及数据泄露、丢失或滥用的可能影响进行判断。

 实施数据分类策略时，要从数据的使用情境进行反推，并创建一个分类方案，该方案考虑到特定数据集对组织运营的重要程度。

### 实施步骤
<a name="implementation-steps"></a>
+ **进行数据清点：**对您的工作负载存在的各种数据类型进行清点。
+ **进行数据分组：**根据给组织带来的风险，确定数据的重要性、机密性、完整性和可用性。使用这些要求将数据分组到您采用的数据分类层之一。例如，请参阅《[对数据进行分类并保护初创企业的四个简单步骤](https://aws.amazon.com/blogs/startups/four-simple-steps-to-classify-your-data-and-secure-your-startup/)》。
+ **定义数据分类级别和策略：**为每个数据组定义数据分类级别（例如，公开或机密）和处理策略。对数据做相应标记。有关数据分类类别的更多详情，请参阅《数据分类白皮书》。
+ **定期检查：**定期检查和审核您的环境中是否有未标记和未分类的数据。使用自动化功能来识别这些数据，并对数据进行适当的分类和标记。例如，请参阅《[AWS Glue 中的数据目录和爬网程序](https://docs.aws.amazon.com/glue/latest/dg/catalog-and-crawler.html)》。
+ **建立数据目录：**建立提供审计和治理功能的数据目录。
+ **文档：**记录每个数据类别的数据分类策略和处理程序。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [利用 AWS 云 支持数据分类](https://docs.aws.amazon.com/whitepapers/latest/data-classification/leveraging-aws-cloud-to-support-data-classification.html) 
+  [来自 AWS Organizations 的标记策略](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) 

 **相关视频：**
+ [AWS re:Invent 2022 - Enabling agility with data governance on AWS](https://www.youtube.com/watch?v=vznDgJkoH7k)
+ [AWS re:Invent 2023 - Data protection and resilience with AWS storage ](https://www.youtube.com/watch?v=rdG8JV3Fhk4)

# SUS04-BP02 使用支持数据访问和存储模式的技术
<a name="sus_sus_data_a3"></a>

 使用最能支持您的数据访问和存储方式的存储技术，以在支持您的工作负载的同时最大限度地减少预置资源。

 **常见反模式：**
+  假设所有工作负载都具有相似的数据存储和访问模式。
+  假设所有工作负载都位于一个存储层，且只使用该存储层。
+  假设数据访问模式会随着时间的推移保持一致。

 **建立此最佳实践的好处：**根据数据访问和存储模式选择和优化您的存储技术，有助于您减少满足业务需求所需的云资源，并提高云工作负载的整体效率。

 **在未建立这种最佳实践的情况下暴露的风险等级：**低 

## 实施指导
<a name="implementation-guidance"></a>

 选择最适合您的访问模式的存储解决方案，或者考虑根据存储解决方案更改访问模式，以便尽可能提高性能和效率。

### 实施步骤
<a name="implementation-steps"></a>
+ **评估数据和访问特性：**评估您的数据特性和访问模式，以收集您的存储需求的主要特性。要考虑的主要特性包括：
  +  **数据类型：**结构化、半结构化、非结构化 
  +  **数据增长：**有限、无界 
  +  **数据持久性：**持久、短暂、瞬时 
  +  **访问模式**:读写、频率、峰值或一致 
+ **选择适当的存储技术：**将数据迁移到支持您的数据特征和访问模式的适当存储技术。下面是 AWS 存储技术的一些示例以及它们的主要特性：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2024-06-27/framework/sus_sus_data_a3.html)
+ **自动分配存储空间：**对于固定大小的存储系统（例如 Amazon EBS 或 Amazon FSx），请监控可用的存储空间，并在达到阈值时自动分配存储空间。您可以利用 Amazon CloudWatch 来收集和分析 [Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cloudwatch_ebs.html) 和 [Amazon FSx](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/monitoring-cloudwatch.html) 的不同指标。
+ **选择合适的存储类：**为您的数据选择合适的存储类。
  +  Amazon S3 可以在对象级别配置存储类。单个存储桶可以包含存储在所有存储类中的对象。
  +  您可以使用 [Amazon S3 生命周期策略](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)，在不对应用程序进行任何更改的情况下，于存储类之间自动转换对象或删除数据。通常来说，在考虑这些存储机制时，您必须在资源效率、访问延迟和可靠性之间做出取舍。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [Amazon EBS 卷类型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) 
+  [Amazon EC2 实例存储](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) 
+  [Amazon S3 Intelligent-Tiering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering.html) 
+ [Amazon EBS I/O 特性](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html)
+ [使用 Amazon S3 存储类](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html)
+  [What is Amazon Glacier?](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html)

 **相关视频：**
+ [AWS re:Invent 2023 - Improve Amazon EBS efficiency and be more cost-efficient ](https://www.youtube.com/watch?v=7-CB02rqiuw)
+ [AWS re:Invent 2023 - Optimizing storage price and performance with Amazon S3 ](https://www.youtube.com/watch?v=RxgYNrXPOLw)
+ [AWS re:Invent 2023 - Building and optimizing a data lake on Amazon S3](https://www.youtube.com/watch?v=mpQa_Zm1xW8)
+ [AWS re:Invent 2022 - Building modern data architectures on AWS](https://www.youtube.com/watch?v=Uk2CqEt5f0o)
+ [AWS re:Invent 2022 - Modernize apps with purpose-built databases ](https://www.youtube.com/watch?v=V-DiplATdi0)
+ [AWS re:Invent 2022 - Building data mesh architectures on AWS](https://www.youtube.com/watch?v=nGRvlobeM_U)
+ [AWS re:Invent 2023 - Deep dive into Amazon Aurora and its innovations ](https://www.youtube.com/watch?v=je6GCOZ22lI)
+ [AWS re:Invent 2023 - Advanced data modeling with Amazon DynamoDB ](https://www.youtube.com/watch?v=PVUofrFiS_A)

 **相关示例：**
+ [Amazon S3 示例](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html)
+ [AWS Purpose Built Databases 讲习会](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US)
+ [Databases for Developers](https://catalog.workshops.aws/db4devs/en-US)
+ [AWS Modern Data Architecture Immersion Day ](https://catalog.us-east-1.prod.workshops.aws/workshops/32f3e732-d67d-4c63-b967-c8c5eabd9ebf/en-US)
+ [Build a Data Mesh on AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/23e6326b-58ee-4ab0-9bc7-3c8d730eb851/en-US)

# SUS04-BP03 使用策略管理数据集的生命周期
<a name="sus_sus_data_a4"></a>

管理所有数据的生命周期并自动执行删除，以最大限度地减少工作负载所需的总存储。

 **常见反模式：**
+  手动删除数据。
+  不删除任何工作负载数据。
+  不根据数据的保留和访问要求将数据移动到更节能的存储层。

 **建立此最佳实践的好处：**使用数据生命周期策略可确保在工作负载中高效地访问和保留数据。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 数据集在其生命周期中通常具有不同的保留和访问要求。例如，应用程序可能需要在有限的时间段内频繁访问某些数据集。之后，这些数据集很少被访问。要随时间推移提高数据存储和计算的效率，请实施生命周期策略，这些策略是定义如何随时间推移来处理数据的规则。

 使用生命周期配置规则，您可以指示特定存储服务将数据集转换到更节能的存储层、将其归档或删除。这种做法可最大限度地减少主动数据存储和检索，从而降低能耗。此外，归档或删除过时数据等做法支持法规遵从性和数据治理。

### 实施步骤
<a name="implementation-steps"></a>
+  **使用数据分类：**[对工作负载中的数据集进行分类。](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sus_sus_data_a2.html)
+  **定义处理规则：**定义每个数据类的处理过程。
+  **启用自动化：**设置自动化生命周期策略以强制实施生命周期规则。以下是如何为不同 AWS 存储服务设置自动化生命周期策略的一些示例：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2024-06-27/framework/sus_sus_data_a4.html)
+  **删除未使用的资产：**删除未使用的卷、快照和超出保留期的数据。使用原生服务功能（如 [Amazon DynamoDB 生存时间](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html)或 [Amazon CloudWatch log retention](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#SettingLogRetention)）进行删除。
+  **聚合和压缩：**在适当的情况下根据生命周期规则聚合和压缩数据。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [使用 Amazon S3 存储类分析优化您的 Amazon S3 生命周期规则](https://docs.aws.amazon.com/AmazonS3/latest/userguide/analytics-storage-class.html) 
+  [使用 AWS Config 规则](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) 评估资源 

 **相关视频：**
+ [AWS re:Invent 2021 - Amazon S3 Lifecycle best practices to optimize your storage spend ](https://www.youtube.com/watch?v=yGNXn7jOytA)
+ [AWS re:Invent 2023 - Optimizing storage price and performance with Amazon S3 ](https://www.youtube.com/watch?v=RxgYNrXPOLw)
+  [利用 Amazon S3 生命周期简化您的数据生命周期并优化存储成本](https://www.youtube.com/watch?v=53eHNSpaMJI) 
+ [使用 Amazon S3 Storage Lens 存储统计管理工具减少您的存储成本](https://www.youtube.com/watch?v=A8qOBLM6ITY)

# SUS04-BP04 使用弹性和自动化来扩展数据块存储或文件系统
<a name="sus_sus_data_a5"></a>

随着数据的增长，使用弹性和自动化来扩展数据块存储或文件系统，以便最大限度减少总预置存储。

 **常见反模式：**
+  购买大型数据块存储或文件系统以备将来需要。
+  过度预置文件系统的每秒输入和输出操作数（IOPS）。
+  不监控数据卷的利用率。

 **建立此最佳实践的好处：**最大限度地减少存储系统的过度预置可以减少闲置资源并提高工作负载的整体效率。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 根据适合工作负载的大小分配、吞吐量和延迟，创建数据块存储和文件系统。随着数据的增长，使用弹性和自动化来扩展数据块存储或文件系统，而无需过度预置这些存储服务。

### 实施步骤
<a name="implementation-steps"></a>
+  对于固定大小的存储系统（例如 [Amazon EBS](https://aws.amazon.com/ebs/)），请确保您正在监控使用的存储量与总体存储量大小之间的关系，可能的话创建自动化，以便在达到阈值时增加存储大小 
+  使用弹性卷和托管式数据块数据服务，随着持久性数据的增长自动分配额外的存储。例如，您可以使用 [Amazon EBS 弹性卷](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modify-volume.html)来更改卷大小、卷类型或调整 Amazon EBS 卷的性能。
+  为您的文件系统选择适合的存储类、性能模式和吞吐量模式，以满足您的业务需求，不要超过这个需求。
  + [Amazon EFS 性能](https://docs.aws.amazon.com/efs/latest/ug/performance.html)
  + [Linux 实例上的 Amazon EBS 卷性能](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSPerformance.html)
+  为您的数据卷设置目标利用率水平，并调整超出预期范围的卷大小。
+  合理调整只读卷的大小以适应数据。
+  将数据迁移到对象存储，以避免使用数据块存储上的固定卷大小预置多余容量。
+  定期检查弹性卷和文件系统，终止空闲卷并缩减过度预置的资源，以适应当前数据大小。

## 资源
<a name="resources"></a>

 **相关文档：**
+ [调整 EBS 卷大小后扩展文件系统](https://docs.aws.amazon.com/ebs/latest/userguide/recognize-expanded-volume-linux.html)
+ [使用 Amazon EBS 弹性卷修改卷](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-modify-volume.html)
+  [Amazon FSx 文档](https://docs.aws.amazon.com/fsx/index.html) 
+  [什么是 Amazon Elastic File System？](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) 

 **相关视频：**
+ [深入了解 Amazon EBS 弹性卷](https://www.youtube.com/watch?v=Vi_1Or7QuOg)
+ [用于提高性能和节省成本的 Amazon EBS 和快照优化策略](https://www.youtube.com/watch?v=h1hzRCsJefs)
+ [使用最佳实践优化 Amazon EFS 的成本和性能](https://www.youtube.com/watch?v=9kfeh6_uZY8)

# SUS04-BP05 删除不需要或多余的数据
<a name="sus_sus_data_a6"></a>

删除不需要或多余的数据，以最大程度地减少存储数据集所需的存储资源。

 **常见反模式：**
+  复制可以轻松获取或重新创建的数据。
+  备份所有数据时不考虑其重要性。
+  只不定期地删除数据、操作事件时删除数据，或者根本不删除数据。
+  无论存储服务的持久性如何，都冗余地存储数据。
+  您在没有任何业务理由的情况下启用 Amazon S3 版本控制。

 **建立此最佳实践的好处：**删除不需要的数据可以减少工作负载所需的存储大小和工作负载对环境的影响。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 当您移除不需要和冗余的数据集时，可以降低存储成本和环境足迹。这种做法还可以提高计算效率，因为计算资源只处理重要的数据，而不处理不需要的数据。自动删除不需要的数据。使用技术在文件和数据块级别进行重复数据删除。使用服务功能来实现原生数据复制和冗余。

### 实施步骤
<a name="implementation-steps"></a>
+  **评估公开数据集：**评估是否可以通过使用 [AWS Data Exchange](https://aws.amazon.com/data-exchange/) 和 [Open Data on AWS](https://registry.opendata.aws/) 中现有公开可用的数据集来避免存储数据。
+  **删除重复数据：**使用可以在数据块和对象级别删除重复数据的机制。以下是有关如何删除 AWS 上的重复数据的一些示例：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2024-06-27/framework/sus_sus_data_a6.html)
+  **使用生命周期策略：**使用生命周期策略来自动删除不需要的数据。使用原生服务功能（如 [Amazon DynamoDB 生存时间](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html)、[Amazon S3 生命周期](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)或 [Amazon CloudWatch log retention](https://docs.aws.amazon.com/managedservices/latest/userguide/log-customize-retention.html)）进行删除。
+  **使用数据虚拟化：**使用 AWS 上的数据虚拟化功能在源头维护数据并避免数据重复。
  +  [AWS 上的云原生数据虚拟化](https://www.youtube.com/watch?v=BM6sMreBzoA) 
  +  [Optimize Data Pattern Using Amazon Redshift Data Sharing](https://catalog.workshops.aws/well-architected-sustainability/en-US/3-data/optimize-data-pattern-using-redshift-data-sharing) 
+  **使用增量备份：**使用可进行增量备份的备份技术。
+  **使用原生持久性：**利用 [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/DataDurability.html) 的持久性和 [Amazon EBS 的复制](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes.html)来实现您的持久性目标，而不是使用自行管理的技术 [例如独立磁盘冗余阵列（RAID）]。
+  **使用高效的日志记录：**集中日志和跟踪数据，对相同的日志条目进行重复数据删除，并在需要时建立调整详细程度的机制。
+  **使用高效的缓存：**仅在合理的情况下预填充缓存。
+  建立缓存监控和自动化以相应地调整缓存大小。
+  **移除旧的版本资产：**推送新版本的工作负载时，从对象存储和边缘缓存中移除过时的部署和资产。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [更改 CloudWatch Logs 中的日志数据留存](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#SettingLogRetention) 
+  [适用于 Windows File Server 的 Amazon FSx 的重复数据删除](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-data-dedup.html) 
+  [Amazon FSx for ONTAP 的功能，包括重复数据删除](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/what-is-fsx-ontap.html#features-overview) 
+  [使 Amazon CloudFront 上的文件失效](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html) 
+  [使用 AWS Backup 备份和恢复 Amazon EFS 文件系统](https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html) 
+  [什么是 Amazon CloudWatch Logs？](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 
+  [在 Amazon RDS 上使用备份](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html) 
+  [使用 AWS Lake Formation 集成数据集并删除其中的重复数据](https://aws.amazon.com/blogs/big-data/integrate-and-deduplicate-datasets-using-aws-lake-formation-findmatches/) 

 **相关视频：**
+  [Amazon Redshift 数据共享用例](https://www.youtube.com/watch?v=sIoTB8B5nn4) 

 **相关示例：**
+  [如何使用 Amazon Athena 分析我的 Amazon S3 服务器访问日志？](https://aws.amazon.com/premiumsupport/knowledge-center/analyze-logs-athena/) 

# SUS04-BP06 使用共享文件系统或存储来访问通用数据
<a name="sus_sus_data_a7"></a>

采用共享文件系统或存储来避免数据重复，并可为工作负载提供更高效的基础设施。

 **常见反模式：**
+  为每个客户端预置存储。
+  未卸下不活动的客户端的数据卷。
+  不提供跨平台和系统的存储访问。

 **建立此最佳实践的好处：**使用共享文件系统或存储可以将数据共享给一个或多个使用者，而无需复制数据。这有助于减少工作负载所需的存储资源。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 如果您有多个用户或应用程序访问同一个数据集，则使用共享存储技术很重要，这可以让工作负载高效地使用基础设施。共享存储技术提供一个位置来集中存储和管理数据集并避免数据重复。它还加强了不同系统之间数据的一致性。此外，因为多个计算资源会同时并行访问和处理数据，所以利用共享存储技术可以更高效地使用计算能力。

 仅在需要时才从这些共享存储服务中提取数据，并卸下未使用的卷以释放资源。

### 实施步骤
<a name="implementation-steps"></a>
+  **使用共享存储：**当数据具有多个使用者时，将数据迁移到共享存储。下面是 AWS 上的共享存储技术的一些示例：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2024-06-27/framework/sus_sus_data_a7.html)
+  **根据需要提取数据：**仅在需要时，才将数据复制到共享文件系统或从共享文件系统提取数据。例如，您可以创建[由 Amazon S3 支持的适用于 Lustre 的 Amazon FSx 文件系统](https://aws.amazon.com/blogs/storage/new-enhancements-for-moving-data-between-amazon-fsx-for-lustre-and-amazon-s3/)，并且只将处理任务所需的数据子集加载到 Amazon FSx。
+  **删除不需要的数据：**根据您的使用规律适当删除数据，如 [SUS04-BP03 使用策略管理数据集的生命周期](sus_sus_data_a4.md)中所述。
+  **分离不活动的客户端：**将卷与未积极使用它们的客户端分离。

## 资源
<a name="resources"></a>

 **相关文档：**
+ [将文件系统链接到 Amazon S3 存储桶](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html)
+ [在您的无服务器应用程序中使用 AWS Lambda Amazon EFS](https://aws.amazon.com/blogs/compute/using-amazon-efs-for-aws-lambda-in-your-serverless-applications/)
+ [Amazon EFS Intelligent-Tiering 通过不断变化的访问模式来优化工作负载的成本](https://aws.amazon.com/blogs/aws/new-amazon-efs-intelligent-tiering-optimizes-costs-for-workloads-with-changing-access-patterns/)
+ [将 Amazon FSx 用于您的本地数据存储库](https://docs.aws.amazon.com/fsx/latest/LustreGuide/fsx-on-premises.html)

 **相关视频：**
+ [使用 Amazon EFS 优化存储成本](https://www.youtube.com/watch?v=0nYAwPsYvBo)
+ [AWS re:Invent 2023 - What's new with AWS file storage](https://www.youtube.com/watch?v=yXIeIKlTFV0)
+ [AWS re:Invent 2023 - File storage for builders and data scientists on Amazon Elastic File System](https://www.youtube.com/watch?v=g0f6lrmEyRM)

# SUS04-BP07 最大限度地减少跨网络的数据移动
<a name="sus_sus_data_a8"></a>

使用共享文件系统或对象存储来访问通用数据，并最大限度地减少支持工作负载数据移动所需的总网络资源。

 **常见反模式：**
+  不管数据用户位于何处，将所有数据存储在同一个 AWS 区域。
+  在网络中移动数据之前不优化数据大小和格式。

 **建立此最佳实践的好处：**优化跨网络的数据移动可以减少工作负载所需的总网络资源，并降低对环境的影响。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 在组织中移动数据需要计算、网络和存储资源。使用相应的技术最大程度地减少数据移动并提高工作负载的整体效率。

## 实施步骤
<a name="implementation-steps"></a>
+  **使用邻近性：**在 [selecting a Region for your workload](https://aws.amazon.com/blogs/architecture/how-to-select-a-region-for-your-workload-based-on-sustainability-goals/) 时，请考虑将与数据或用户的距离作为一项决定因素。
+  **对服务进行分区：**对按区域使用的服务进行分区，以便将其特定于区域的数据存储在使用它的区域内。
+  **使用高效的文件格式：**使用高效的文件格式（如 Parquet 或 ORC），并在通过网络移动数据之前先对其进行压缩。
+  **尽量减少数据移动：**不移动未使用的数据。一些让您能够避免移动未使用数据的示例：
  +  将 API 响应缩减到仅针对相关数据。
  +  聚合详细数据（不需要记录级别信息）。
  +  请参阅 [Well-Architected Lab - Optimize Data Pattern Using Amazon Redshift Data Sharing](https://catalog.workshops.aws/well-architected-sustainability/en-US/3-data/optimize-data-pattern-using-redshift-data-sharing)。
  +  考虑 [AWS Lake Formation 中的跨账户数据共享](https://docs.aws.amazon.com/lake-formation/latest/dg/cross-account-permissions.html)。
+  **使用边缘服务：**使用有助于您在更接近工作负载用户的位置运行代码的服务。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2024-06-27/framework/sus_sus_data_a8.html)

## 资源
<a name="resources"></a>

 **相关文档：**
+  [优化您的 AWS 基础设施以实现可持续性，第 III 部分：联网](https://aws.amazon.com/blogs/architecture/optimizing-your-aws-infrastructure-for-sustainability-part-iii-networking/) 
+  [AWS 全球基础设施](https://aws.amazon.com/about-aws/global-infrastructure/) 
+  [Amazon CloudFront 主要功能，包括 CloudFront 全球边缘网络](https://aws.amazon.com/cloudfront/features/) 
+  [在 Amazon OpenSearch Service 中压缩 HTTP 请求](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/gzip.html) 
+  [使用 Amazon EMR 进行中间数据压缩](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-output-compression.html#HadoopIntermediateDataCompression) 
+  [从 Amazon S3 将压缩数据文件加载到 Amazon Redshift 中](https://docs.aws.amazon.com/redshift/latest/dg/t_loading-gzip-compressed-data-files-from-S3.html) 
+  [通过 Amazon CloudFront 提供压缩文件](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) 

 **相关视频：**
+ [揭秘 AWS 上的数据传输](https://www.youtube.com/watch?v=-MqXgzw1IGA)

# SUS04-BP08 仅在难以重新创建时备份数据
<a name="sus_sus_data_a9"></a>

避免备份没有商业价值的数据，尽量减少工作负载的存储资源需求。

 **常见反模式：**
+  没有为数据制定备份策略。
+  备份可以轻松重新创建的数据。

 **建立此最佳实践的好处：**避免备份非关键数据可以减少工作负载所需的存储资源并降低其对环境的影响。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 避免备份不必要的数据有助于降低成本和减少工作负载使用的存储资源。仅备份具有商业价值或满足合规性要求所必需的数据。检查备份策略并在恢复方案中排除没有价值的临时存储。

### 实施步骤
<a name="implementation-steps"></a>
+  **对数据进行分类：**实施 [SUS04-BP01 实施数据分类策略](sus_sus_data_a2.md)中概述的数据分类策略。
+  **设计备份策略：**使用数据分类的重要性，并根据[恢复时间目标（RTO）和恢复点目标（RPO）](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_planning_for_recovery_objective_defined_recovery.html)来设计备份策略。避免备份非关键数据。
  +  排除可以轻松重新创建的数据。
  +  从备份中排除临时数据。
  +  排除数据的本地副本，除非从公共位置恢复该数据所需的时间会超过您的服务等级协议（SLA）。
+  **使用自动备份：**使用自动化解决方案或托管式服务来备份业务关键的数据。
  +  [AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html) 是一项完全托管式服务，助您轻松地在云中以及在本地集中管理和自动执行跨 AWS 服务的数据保护。有关如何使用 AWS Backup 创建自动备份的动手实践指导，请参阅 [Well-Architected Lab - Testing Backup and Restore of Data](https://catalog.workshops.aws/well-architected-reliability/en-US/4-failure-management/1-backup/30-testing-backup-and-restore-of-data)。
  +  [使用 AWS Backup 自动执行 Amazon EFS 备份并优化备份成本](https://aws.amazon.com/blogs/storage/automating-backups-and-optimizing-backup-costs-for-amazon-efs-using-aws-backup/)。

## 资源
<a name="resources"></a>

 **相关最佳实践：**
+ [REL09-BP01 识别并备份需要备份的所有数据或从源复制数据](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_backing_up_data_identified_backups_data.html)
+ [REL09-BP03 自动执行数据备份](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_backing_up_data_automated_backups_data.html)
+ [REL13-BP02 使用定义的恢复策略来实现恢复目标](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_planning_for_recovery_disaster_recovery.html)

 **相关文档：**
+  [使用 AWS Backup 备份和恢复 Amazon EFS 文件系统](https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html) 
+  [Amazon EBS 快照](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html) 
+  [使用 Amazon Relational Database Service 上的备份](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html) 
+ [APN 合作伙伴：可帮助进行备份的合作伙伴](https://partners.amazonaws.com/search/partners?keyword=Backup)
+ [AWS Marketplace：可用于备份的产品](https://aws.amazon.com/marketplace/search/results?searchTerms=Backup)
+ [Backing Up Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-backup-solutions.html)
+ [Backing Up Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html)
+ [Amazon ElastiCache (Redis OSS) 的备份和还原](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups.html)

 **相关视频：**
+ [AWS re:Invent 2023 - Backup and disaster recovery strategies for increased resilience](https://www.youtube.com/watch?v=E073XISxrSU)
+ [AWS re:Invent 2023 - What's new with AWS Backup](https://www.youtube.com/watch?v=QIffkOyTf7I)
+ [AWS re:Invent 2021 - Backup, disaster recovery, and ransomware protection with AWS](https://www.youtube.com/watch?v=Ru4jxh9qazc)

# 硬件和服务
<a name="a-sus-hardware-and-services"></a>

**Topics**
+ [SUS 5 如何选择并使用架构中的云硬件和服务来支持可持续性目标？](sus-05.md)

# SUS 5 如何选择并使用架构中的云硬件和服务来支持可持续性目标？
<a name="sus-05"></a>

寻找机会，通过更改硬件管理实践来降低工作负载可持续性影响。最大限度地减少预置和部署所需的硬件数量，并为各项工作负载选择最高效的硬件和服务。

**Topics**
+ [SUS05-BP01 使用最少的硬件来满足您的需求](sus_sus_hardware_a2.md)
+ [SUS05-BP02 使用影响最小的实例类型](sus_sus_hardware_a3.md)
+ [SUS05-BP03 使用托管服务](sus_sus_hardware_a4.md)
+ [SUS05-BP04 优化基于硬件的计算加速器的使用](sus_sus_hardware_a5.md)

# SUS05-BP01 使用最少的硬件来满足您的需求
<a name="sus_sus_hardware_a2"></a>

为您的工作负载使用最少的硬件，高效地满足您的业务需求。

 **常见反模式：**
+  不监控资源使用率。
+  架构中有利用率较低的资源。
+  没有检查静态硬件的利用率以确定是否应调整大小。
+  没有根据业务 KPI 为计算基础设施设置硬件利用率目标。

 **建立此最佳实践的好处：**合理调整云资源的大小有助于减少工作负载对环境的影响，节省资金，并维护性能基准。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 以最佳方式选择工作负载所需的硬件总数，以提高其整体效率。AWS 云 让您能够通过各种机制（例如 [AWS Auto Scaling](https://aws.amazon.com/autoscaling/)）灵活地动态扩展或缩减资源，以便满足不断变化的需求。它还提供 [API 和 SDK](https://aws.amazon.com/developer/tools/)，让您可以轻松修改资源。使用这些功能经常更改工作负载实施。此外，按照 AWS 工具中的合理调整大小准则高效地运营您的云资源和满足您的业务需求。

 **实施步骤** 
+  **选择实例类型：**选择最适合您需求的正确实例类型。要了解如何选择 Amazon Elastic Compute Cloud 实例以及如何使用基于属性的实例选择等机制，请参阅以下内容：
  + [如何为我的工作负载选择适当的 Amazon EC2 实例类型？](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-choose-type-for-workload/)
  + [Amazon EC2 Fleet 的基于属性的实例类型选择。](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html)
  + [示例：使用基于属性的实例类型选择创建自动扩缩组。](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html)
+ **扩展：**通过小增量扩缩来扩展可变的工作负载。
+ **使用多种计算购买选项：**在实例灵活性、可扩展性和成本节省与多种计算购买选项之间取得平衡。
  +  [Amazon EC2 按需型实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-on-demand-instances.html)最适合实例类型、位置或时间不灵活的新型、有状态和突增工作负载。
  +  [Amazon EC2 竞价型实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html)是为容错且灵活的应用程序补充其他选项的好方法。
  +  利用[计算类节省计划](https://aws.amazon.com/savingsplans/compute-pricing/)来处理稳定状态的工作负载，以便在您的需求（例如可用区、区域、实例系列或实例类型）发生变化时提供灵活性。
+ **使用实例和可用区的多样性：**通过多样化您的实例和可用区，最大限度地提高应用程序可用性并利用多余的容量。
+ **合理调整实例的大小：**使用来自 AWS 工具的合理调整大小建议来调整工作负载。有关更多信息，请参阅《[Optimizing your cost with Rightsizing Recommendations](https://docs.aws.amazon.com/latest/userguide/ce-rightsizing.html)》和《[合理调整大小：预置实例以匹配工作负载](https://docs.aws.amazon.com/latest/cost-optimization-right-sizing/cost-optimization-right-sizing.html)》
  + 使用 AWS Cost Explorer 中的合理调整大小建议或 [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 来确定合理调整大小的机会。
+ **协商服务水平协议（SLA）：**协商 SLA，允许暂时减少容量，同时利用自动化功能部署替换资源。

## 资源
<a name="resources"></a>

 **相关文档：**
+ [优化您的 AWS 基础设施以实现可持续性，第 I 部分：计算](https://aws.amazon.com/blogs/architecture/optimizing-your-aws-infrastructure-for-sustainability-part-i-compute/)
+ [基于属性选择实例类型用于 Amazon EC2 Fleet 的自动扩缩](https://aws.amazon.com/blogs/aws/new-attribute-based-instance-type-selection-for-ec2-auto-scaling-and-ec2-fleet/)
+ [AWS Compute Optimizer 文档](https://docs.aws.amazon.com/compute-optimizer/index.html)
+  [运行 Lambda：性能优化](https://aws.amazon.com/blogs/compute/operating-lambda-performance-optimization-part-2/) 
+  [自动扩缩文档](https://docs.aws.amazon.com/autoscaling/index.html) 

 **相关视频：**
+ [AWS re:Invent 2023 - What's new with Amazon EC2](https://www.youtube.com/watch?v=mjHw_wgJJ5g)
+ [AWS re:Invent 2023 - Smart savings: Amazon Elastic Compute Cloud cost-optimization strategies](https://www.youtube.com/watch?v=_AHPbxzIGV0)
+ [AWS re:Invent 2022 - Optimizing Amazon Elastic Kubernetes Service for performance and cost on AWS](https://www.youtube.com/watch?v=5B4-s_ivn1o)
+ [AWS re:Invent 2023 - Sustainable compute: reducing costs and carbon emissions with AWS](https://www.youtube.com/watch?v=0Bl1SDU2HxI)

# SUS05-BP02 使用影响最小的实例类型
<a name="sus_sus_hardware_a3"></a>

持续监控和使用新实例类型以充分利用能源效率改进。

 **常见反模式：**
+  您只使用一个系列的实例。
+  您只使用 x86 实例。
+  您在 Amazon EC2 Auto Scaling 配置中指定一种实例类型。
+  您使用 AWS 实例的方式与其预期用途不匹配（例如，您将计算优化的实例用于内存密集型工作负载）。
+  您没有定期评估新的实例类型。
+  您不查看 AWS 合理调整大小工具（如 [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/)）提供的建议。

 **建立此最佳实践的好处：**通过使用节能且大小合适的实例，您可以大大减小工作负载对环境的影响并降低其成本。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 在云工作负载中使用高效的实例对于降低资源使用率和成本效益至关重要。持续监控新实例类型的发布并利用能效改进，包括那些旨在支持特定工作负载（例如机器学习训练和推理以及视频转码）的实例类型。

## 实施步骤
<a name="implementation-steps"></a>
+  **学习和探索实例类型：**学习和探索可以减小工作负载对环境影响的实例类型。
  +  订阅 [AWS 的新功能](https://aws.amazon.com/new/)，随时了解最新 AWS 技术和实例的动态。
  +  了解不同的 AWS 实例类型。
  +  通过观看如下视频，了解基于 AWS Graviton 的实例（这些实例在 Amazon EC2 中每瓦能耗方面提供出色性能）：[re:Invent 2020 - Deep dive on AWS Graviton2 processor-powered Amazon EC2 instances](https://www.youtube.com/watch?v=NLysl0QvqXU) 和 [Deep dive into AWS Graviton3 and Amazon EC2 C7g instances](https://www.youtube.com/watch?v=WDKwwFQKfSI&ab_channel=AWSEvents)。
+  **使用影响最小的实例类型：**规划工作负载并将其转换为影响极小的实例类型。
  +  定义一个流程来评估工作负载的新功能或实例。利用云中的敏捷性，快速测试新的实例类型如何改善工作负载的环境可持续性。使用代理指标来衡量完成一个单元的工作需要多少资源。
  +  如有可能，修改工作负载以使用不同数量的 vCPU 和不同数量的内存，以最大限度地增加您的实例类型选项。
  +  考虑将工作负载转换为基于 Graviton 的实例，以提高工作负载的性能效率。有关将工作负载迁移到 AWS Graviton 的更多信息，请参阅《[AWS Graviton 使用快速入门](https://aws.amazon.com/ec2/graviton/fast-start/)和[将工作负载过渡到基于 AWS Graviton 的 Amazon Elastic Compute Cloud 实例时的注意事项](https://github.com/aws/aws-graviton-getting-started/blob/main/transition-guide.md)。
  +  考虑选择 AWS Graviton 选项（在使用 [AWS 托管服务](https://github.com/aws/aws-graviton-getting-started/blob/main/managed_services.md)时）。
  +  将工作负载迁移到提供对可持续性影响极小的实例且仍满足您的业务要求的区域。
  +  对于机器学习工作负载，请利用特定于工作负载的专用硬件，例如 [AWS Trainium](https://aws.amazon.com/machine-learning/trainium/)、[AWS Inferentia](https://aws.amazon.com/machine-learning/inferentia/) 和 [Amazon EC2 DL1](https://aws.amazon.com/ec2/instance-types/dl1/)。AWSInf2 实例等 Inferentia 实例相比同类 Amazon EC2 实例，性能功耗比提升了 50%。
  +  使用 [Amazon SageMaker AI Inference Recommender](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-recommender.html) 来合理调整机器学习推理端点的大小。
  +  对于突增工作负载（不经常需要额外容量的工作负载），请使用[可突增性能实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)。
  +  对于无状态和容错工作负载，请使用 [Amazon EC2 竞价型实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html)用于无状态和容错工作负载，以提高云的整体利用率并减少未使用资源对可持续性的影响。
+ **运营和优化：**运营和优化您的工作负载实例。
  +  对于临时工作负载，请评估[实例 Amazon CloudWatch 指标](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html#ec2-cloudwatch-metrics)（例如 `CPUUtilization`），以确定实例是空闲还是未充分利用。
  +  对于稳定工作负载，请定期检查 AWS 合理调整规模工具（如 [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/)），从而挖掘优化实例和合理调整实例大小的机会。有关更多示例和推荐，请参阅以下实验：
    + [Well-Architected Lab – 合理调整大小建议](https://catalog.workshops.aws/well-architected-cost-optimization/en-US/3-cost-effective-resources/40-rightsizing-recommendations-100)
    + [Well-Architected Lab – 使用 Compute Optimizer 合理调整大小](https://catalog.workshops.aws/well-architected-cost-optimization/en-US/3-cost-effective-resources/50-rightsizing-recommendations-200)
    + [Well-Architected Lab – 优化硬件模式并观察可持续性 KPI](https://catalog.workshops.aws/well-architected-sustainability/en-US/4-hardware-and-services/optimize-hardware-patterns-observe-sustainability-kpis)

## 资源
<a name="resources"></a>

 **相关文档：**
+  [优化您的 AWS 基础设施以实现可持续性，第 I 部分：计算](https://aws.amazon.com/blogs/architecture/optimizing-your-aws-infrastructure-for-sustainability-part-i-compute/) 
+  [AWS Graviton](https://aws.amazon.com/ec2/graviton/) 
+  [Amazon EC2 DL1](https://aws.amazon.com/ec2/instance-types/dl1/) 
+  [Amazon EC2 容量预留实例集](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-fleets.html) 
+  [Amazon EC2 竞价型实例集](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet.html) 
+  [函数：Lambda 函数配置](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+ [Amazon EC2 Fleet 的基于属性的实例类型选择](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html)
+ [在 AWS 上构建可持续、高效且优化成本的应用程序](https://aws.amazon.com/blogs/compute/building-sustainable-efficient-and-cost-optimized-applications-on-aws/)
+ [Contino 可持续性控制面板如何助力客户减少碳排放](https://aws.amazon.com/blogs/apn/how-the-contino-sustainability-dashboard-helps-customers-optimize-their-carbon-footprint/)

 **相关视频：**
+  [AWS re:Invent 2023 - AWS Graviton: The best price performance for your AWS workloads](https://www.youtube.com/watch?v=T_hMIjKtSr4) 
+  [AWS re:Invent 2023 - New Amazon Elastic Compute Cloud generative AI capabilities in AWS 管理控制台](https://www.youtube.com/watch?v=sSpJ8tWCEiA) 
+  [AWS re:Invent 2023 - What's new with Amazon Elastic Compute Cloud](https://www.youtube.com/watch?v=mjHw_wgJJ5g) 
+  [AWS re:Invent 2023 - Smart savings: Amazon Elastic Compute Cloud cost-optimization strategies](https://www.youtube.com/watch?v=_AHPbxzIGV0) 
+  [AWS re:Invent 2021 - Deep dive into AWS Graviton3 and Amazon EC2 C7g instances](https://www.youtube.com/watch?v=WDKwwFQKfSI&ab_channel=AWSEvents) 
+ [AWS re:Invent 2022 - Build a cost-, energy-, and resource-efficient compute environment ](https://www.youtube.com/watch?v=8zsC5e1eLCg)

 **相关示例：**
+ [解决方案：关于在 AWS 上优化深度学习工作负载以实现可持续性的指导](https://aws.amazon.com/solutions/guidance/optimizing-deep-learning-workloads-for-sustainability-on-aws/)

# SUS05-BP03 使用托管服务
<a name="sus_sus_hardware_a4"></a>

使用托管服务在云中更高效地运营。

 **常见反模式：**
+  使用利用率低的 Amazon EC2 实例来运行应用程序。
+  内部团队仅管理工作负载，而没有时间专注于创新或简化。
+  为可在托管服务上更高效运行的任务部署和维护技术。

 **建立此最佳实践的好处：**
+  使用托管服务将责任转移给 AWS，其拥有对数百万客户的洞察，可以帮助推动新的创新和提高效率。
+  由于使用了多租户控制面板，托管服务将服务的环境影响分散到许多用户。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

托管服务将维持已部署硬件的高利用率和可持续性优化的责任转移给 AWS。托管服务还消除了维护服务的运营和管理负担，让您的团队有更多时间专注于创新。

 审核您的工作负载，以便确定可由 AWS 托管服务替换的组件。例如，[Amazon RDS](https://aws.amazon.com/rds/)、[Amazon Redshift](https://aws.amazon.com/redshift/) 和 [Amazon ElastiCache](https://aws.amazon.com/elasticache/) 提供托管式数据库服务。[Amazon Athena](https://aws.amazon.com/athena/)、[Amazon EMR](https://aws.amazon.com/emr/) 和 [Amazon OpenSearch Service](https://aws.amazon.com/opensearch-service/) 提供托管式分析服务。

 **实施步骤** 

1. **清点工作负载：**清点工作负载的服务和组件。

1. **识别候选对象：**评测和确定可由托管服务替换的组件。以下是一些可以考虑采用托管服务的示例：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2024-06-27/framework/sus_sus_hardware_a4.html)

1. **制定迁移计划：**确定依赖关系并制定迁移计划。相应地更新运行手册和行动手册。
   + [AWS Application Discovery Service](https://aws.amazon.com/application-discovery/) 会自动收集并提供有关应用程序依赖关系和使用情况的详细信息，帮助您在制定迁移计划时做出更明智的决策。

1. **执行测试**：迁移到托管服务之前测试服务。

1. **替换自管式服务：**使用您的迁移计划将自管式服务替换为托管服务。

1. **监控和调整：**迁移完成后持续监控服务，以便根据需要进行调整并优化服务。

## 资源
<a name="resources"></a>

 **相关文档：**
+ [AWS 云 产品](https://aws.amazon.com/products/)
+ [AWS 总拥有成本（TCO）计算器](https://calculator.aws/#/)
+  [Amazon DocumentDB](https://aws.amazon.com/documentdb/) 
+  [Amazon Elastic Kubernetes Service（EKS）](https://aws.amazon.com/eks/) 
+  [Amazon Managed Streaming for Apache Kafka (Amazon MSK)](https://aws.amazon.com/msk/) 

 **相关视频：**
+ [AWS re:Invent 2021 - Cloud operations at scale with AWS Managed Services](https://www.youtube.com/watch?v=OCK8GCImWZw)
+ [AWS re:Invent 2023 - Best practices for operating on AWS](https://www.youtube.com/watch?v=XBKq2JXWsS4)

# SUS05-BP04 优化基于硬件的计算加速器的使用
<a name="sus_sus_hardware_a5"></a>

优化加速型计算实例的使用，以减少工作负载的物理基础架构需求。

 **常见反模式：**
+  不监控 GPU 使用情况。
+  将通用实例用于工作负载，而专用实例可以提供更高的性能、更低的成本和更高的性能功耗比。
+  使用基于硬件的计算加速器来完成任务，而使用基于 CPU 的替代方案能更高效地完成任务。

 **建立此最佳实践的好处：**通过优化基于硬件的加速器的使用，您能够减少工作负载对物理基础设施的需求。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 如果需要高处理能力，可以受益于使用加速型计算实例，这些实例提供对基于硬件的计算加速器的访问，例如图形处理单元（GPU）和现场可编程门阵列（FPGA）。这些硬件加速器能够比基于 CPU 的替代方案更有效地执行某些功能，例如图形处理或数据模式匹配。许多加速工作负载（如渲染、转码和机器学习）在资源使用方面变化很大。仅在需要时运行此硬件，并在不需要时自动停用它们，以最大限度地减少资源消耗。

## 实施步骤
<a name="implementation-steps"></a>
+  **探索计算加速器：**确定可以满足要求的[加速型计算实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html)。
+  **使用专用硬件：**对于机器学习工作负载，利用特定于工作负载的专用硬件，例如 [AWS Trainium](https://aws.amazon.com/machine-learning/trainium/)、[AWS Inferentia](https://aws.amazon.com/machine-learning/inferentia/) 和 [Amazon EC2 DL1](https://aws.amazon.com/ec2/instance-types/dl1/)。AWSInf2 实例等 Inferentia 实例[相比同类 Amazon EC2 实例，性能功耗比提升了 50%](https://aws.amazon.com/machine-learning/inferentia/)。
+  **监控使用情况指标：**收集加速型计算实例的使用情况指标。例如，按照[使用 Amazon CloudWatch 收集 NVIDIA GPU 指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-NVIDIA-GPU.html)所述，使用 CloudWatch 代理收集 GPU 的 `utilization_gpu` 和 `utilization_memory` 等指标。
+  **规模适中：**优化硬件加速器的代码、网络运营和设置，来确保底层硬件得到充分利用。
  +  [优化 GPU 设置](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/optimize_gpu.html) 
  +  [GPU Monitoring and Optimization in the Deep Learning AMI](https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-gpu.html) 
  +  [Optimizing I/O for GPU performance tuning of deep learning training in Amazon SageMaker AI](https://aws.amazon.com/blogs/machine-learning/optimizing-i-o-for-gpu-performance-tuning-of-deep-learning-training-in-amazon-sagemaker/) 
+  **保持最新：**使用最新的高性能库和 GPU 驱动程序。
+  **释放不需要的实例：**使用自动化功能在不使用 GPU 实例时将其释放。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [加速计算](https://aws.amazon.com/ec2/instance-types/#Accelerated_Computing) 
+ [Let's Architect\$1 Architecting with custom chips and accelerators ](https://aws.amazon.com/blogs/architecture/lets-architect-custom-chips-and-accelerators/)
+ [如何为我的工作负载选择适当的 Amazon EC2 实例类型？](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-choose-type-for-workload/)
+  [Amazon EC2 VT1 Instances](https://aws.amazon.com/ec2/instance-types/vt1/) 
+ [ Choose the best AI accelerator and model compilation for computer vision inference with Amazon SageMaker AI ](https://aws.amazon.com/blogs/machine-learning/choose-the-best-ai-accelerator-and-model-compilation-for-computer-vision-inference-with-amazon-sagemaker/)

 **相关视频：**
+ [AWS re:Invent 2021 - How to select Amazon EC2 GPU instances for deep learning ](https://www.youtube.com/watch?v=4bVrIbgGWEA)
+  [AWS 在线技术讲座 – 部署经济高效的深度学习推理](https://www.youtube.com/watch?v=WiCougIDRsw) 
+ [AWS re:Invent 2023 - Cutting-edge AI with AWS and NVIDIA](https://www.youtube.com/watch?v=ud4-z_sb_ps)
+ [AWS re:Invent 2022 - [NEW LAUNCH\$1] Introducing AWS Inferentia2-based Amazon EC2 Inf2 instances](https://www.youtube.com/watch?v=jpqiG02Y2H4)
+ [AWS re:Invent 2022 - Accelerate deep learning and innovate faster with AWS Trainium](https://www.youtube.com/watch?v=YRqvfNwqUIA)
+ [AWS re:Invent 2022 - Deep learning on AWS with NVIDIA: From training to deployment](https://www.youtube.com/watch?v=l8AFfaCkp0E)

# 流程和文化
<a name="a-sus-process-and-culture"></a>

**Topics**
+ [SUS 6 组织流程如何支持可持续性目标？](sus-06.md)

# SUS 6 组织流程如何支持可持续性目标？
<a name="sus-06"></a>

寻找机会，通过更改开发、测试和部署实践来降低可持续性影响。

**Topics**
+ [SUS06-BP01 宣传和传达可持续发展目标](sus_sus_dev_a1.md)
+ [SUS06-BP02 采用可以快速引入可持续性改进的方法](sus_sus_dev_a2.md)
+ [SUS06-BP03 让您的工作负载保持最新状态](sus_sus_dev_a3.md)
+ [SUS06-BP04 提高构建环境的利用率](sus_sus_dev_a4.md)
+ [SUS06-BP05 使用托管式 Device Farm 进行测试](sus_sus_dev_a5.md)

# SUS06-BP01 宣传和传达可持续发展目标
<a name="sus_sus_dev_a1"></a>

 技术是可持续发展的关键推动力。IT 团队在推动有意义的变革来实现组织的可持续发展目标方面，发挥着至关重要的作用。这些团队应清楚地了解公司的可持续发展目标，并努力在公司运营过程中宣传和传达这些优先事项。

 **常见反模式：**
+  您不知道组织的可持续发展目标以及这些目标如何应用于您的团队。
+  您对云工作负载带来的环境影响缺乏足够的认识和培训。
+  您不确定要优先考虑的具体领域。
+  您不让员工和客户参与您的可持续发展计划。

 **建立此最佳实践的好处：**从优化基础设施和系统到使用创新技术，IT 团队可以减少组织的碳排放，并最大限度地减少资源消耗。大力宣传可持续发展目标，可让 IT 团队持续改进，并应对不断变化的可持续发展挑战。此外，这些可持续的优化通常也会转化为成本节约，从而加强业务案例。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 IT 团队的主要可持续发展目标应该是优化系统和解决方案来提高资源效率，并最大限度地减少组织的碳足迹和整体环境影响。共享的服务和计划（例如培训计划和运营控制面板）可以支持组织优化 IT 运营，并构建有助于显著减少碳足迹的解决方案。云技术提供了一个机会，不仅可以将物理基础设施和能源采购责任转换为云提供商的共同责任，还可以持续优化基于云的服务的资源效率。

 当团队使用云固有的效率和责任共担模式时，可以推动组织显著减少对环境的影响。反过来，这可以为组织的整体可持续发展目标做出贡献，并证明这些团队作为战略合作伙伴在迈向更可持续的未来之旅中的价值。

### 实施步骤
<a name="implementation-steps"></a>
+  **定义目标和目的：**为您的 IT 项目设定明确的目标。这包括征求来自不同部门（例如 IT、可持续发展和财务）的负有相应责任的利益相关者的意见。这些团队应定义与贵组织的可持续发展目标相一致的可衡量目标，包括碳减排和资源优化等领域。
+  **了解企业的碳核算边界：**了解温室气体（GHG）协议等碳核算方法与云中工作负载的关系（有关更多详细信息，请参阅[云可持续性](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/cloud-sustainability.html)）。
+  **使用云解决方案进行碳核算：**使用 [carbon accounting solutions on AWS](https://aws.amazon.com/solutions/sustainability/carbon-accounting/) 等云解决方案，来跟踪运营、投资组合和价值链中 GHG 排放的范围一、二和三。借助这些解决方案，组织可以简化 GHG 排放数据的采集、简化报告并获得见解，从而为其气候策略提供信息。
+  **监控 IT 产品组合的碳足迹：**跟踪和报告 IT 系统的碳排放。使用 [AWS 客户碳足迹工具](https://aws.amazon.com/aws-cost-management/aws-customer-carbon-footprint-tool/)来跟踪、衡量、审查和预测您使用 AWS 所产生的碳排放。
+  **通过代理指标向您的团队传达资源使用情况：**[通过代理指标跟踪和报告资源使用情况](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/evaluate-specific-improvements.html)。在云的按需定价模型中，资源使用情况与成本相关，这是一个普遍可以理解的指标。至少应使用成本作为代理指标，来传达每个团队的资源使用情况和改进情况。
  +  **在 Cost Explorer 成本管理服务中启用每小时粒度，并创建[成本和使用情况报告（CUR）](https://aws.amazon.com/aws-cost-management/aws-cost-and-usage-reporting/)：**CUR 为所有 AWS 服务提供每日或每小时的使用情况粒度、费率、成本和使用情况属性。使用 [Cloud Intelligence Dashboards](https://catalog.workshops.aws/awscid/) 及其可持续性发展代理指标控制面板，作为处理和可视化基于成本和使用情况的数据的起点。有关更多详细信息，请参阅以下内容：
  +  [Measure and track cloud efficiency with sustainability proxy metrics, Part I: What are proxy metrics?](https://aws.amazon.com/blogs/aws-cloud-financial-management/measure-and-track-cloud-efficiency-with-sustainability-proxy-metrics-part-i-what-are-proxy-metrics/)
  +  [Measure and track cloud efficiency with sustainability proxy metrics, Part II: Establish a metrics pipeline](https://aws.amazon.com/blogs/aws-cloud-financial-management/measure-and-track-cloud-efficiency-with-sustainability-proxy-metrics-part-ii-establish-a-metrics-pipeline/) 
+  **持续优化和评估：**使用[改进流程](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/improvement-process.html)来持续优化您的 IT 系统，包括云工作负载，以便提高效率和可持续性。在实施优化策略之前和之后监控碳足迹。利用碳足迹的减少来评测有效性。
+  **培养可持续发展文化：**使用培训计划（如 [AWS Skill Builder](https://explore.skillbuilder.aws/learn/external-ecommerce;view=none;redirectURL=?ctldoc-catalog-0=se-sustainability)）来对员工进行可持续发展教育。让他们参与可持续发展计划。分享并庆祝他们的成功故事。如果他们实现了可持续发展目标，则使用激励措施来奖励他们。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [了解碳排放估算](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ccft-estimation.html) 

 **相关视频：**
+  [AWS re:Invent 2023 - Accelerate data-driven circular economy initiatives with AWS](https://www.youtube.com/watch?v=ivTJorpUTo0) 
+  [AWS re:Invent 2023 - Sustainability innovation in AWS Global Infrastructure ](https://www.youtube.com/watch?v=0EkcwLKeOQA) 
+  [AWS re:Invent 2023 - Sustainable architecture: Past, present, and future](https://www.youtube.com/watch?v=2xpUQ-Q4QcM) 
+  [AWS re:Invent 2022 - Delivering sustainable, high-performing architectures](https://www.youtube.com/watch?v=FBc9hXQfat0) 
+  [AWS re:Invent 2022 - Architecting sustainably and reducing your AWS carbon footprint](https://www.youtube.com/watch?v=jsbamOLpCr8) 
+  [AWS re:Invent 2022 - Sustainability in AWS global infrastructure](https://www.youtube.com/watch?v=NgMa8R9-Ywk) 

 **相关示例：**
+  [Well-Architected Lab – 将成本和使用情况报告转化为效率报告](https://catalog.workshops.aws/well-architected-sustainability/en-US/5-process-and-culture/cur-reports-as-efficiency-reports) 

 **相关培训：**
+  [Sustainability Transformation on AWS](https://explore.skillbuilder.aws/learn/course/internal/view/elearning/15981/sustainability-transformation-with-aws?trk=f5740d24-133a-44e7-bdca-e6669e296419&sc_channel=el) 
+  [SimuLearn - Sustainability Reporting](https://explore.skillbuilder.aws/learn/course/internal/view/elearning/20240/aws-simulearn-sustainability-reporting) 
+  [Decarbonization with AWS](https://explore.skillbuilder.aws/learn/course/internal/view/elearning/19030/decarbonization-with-aws-introduction) 

# SUS06-BP02 采用可以快速引入可持续性改进的方法
<a name="sus_sus_dev_a2"></a>

 采用方法和流程来验证潜在的改进、最大限度降低测试成本和带来一些小改进。

 **常见反模式：**
+  仅在项目开始时才完成一次审核应用程序可持续性。
+  工作负载变得过时，因为发布过程过于繁琐，无法为提高资源效率而引入微小的更改。
+  未制定相应的机制来提高工作负载的可持续性。

 **建立这种最佳实践的好处：**通过建立引入和跟踪可持续性改进的流程，您将能够不断采用新的功能和能力，消除问题并提高工作负载的效率。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

 在将潜在可持续性改进部署到生产环境之前，对其进行测试和验证。在计算改进的潜在未来收益时，考虑测试成本。开发低成本的测试方法，以实现细微的改进。

### 实施步骤
<a name="implementation-steps"></a>
+  **了解并传达组织的可持续性目标：**了解组织的可持续性目标，例如碳减排或水资源管理。将这些目标转化为对云工作负载的可持续性要求。将这些要求传达给主要利益相关方。
+  **将可持续性要求添加到待办事项中：**在开发待办事项中添加可持续性改进要求。
+  **迭代和改进：**使用[迭代改进流程](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/improvement-process.html)来识别、评估这些改进，确定其优先级，并进行测试和部署。
+  **使用最简可行产品（MVP）进行测试：**使用最简可行的代表性组件开发和测试潜在的改进，以降低测试的成本和环境影响。
+  **简化流程：**持续改进和简化您的开发流程。例如，使用持续集成和持续交付（CI/CD）管道测试和部署潜在的改进，自动完成软件交付过程，从而减少工作量和减少手动操作引起的错误。
+  **培训和意识：**为您的团队成员举办培训计划，教育他们了解可持续性以及他们的活动如何影响组织的可持续性目标。
+  **评测和调整：**持续评测改进的影响并根据需要作出调整。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [AWS 助力可持续性解决方案](https://aws.amazon.com/sustainability/) 

 **相关视频：**
+  [AWS re:Invent 2023 - Sustainable architecture: Past, present, and future](https://www.youtube.com/watch?v=2xpUQ-Q4QcM) 
+  [AWS re:Invent 2022 - Delivering sustainable, high-performing architectures](https://www.youtube.com/watch?v=FBc9hXQfat0) 
+  [AWS re:Invent 2022 - Architecting sustainably and reducing your AWS carbon footprint](https://www.youtube.com/watch?v=jsbamOLpCr8) 
+  [AWS re:Invent 2022 - Sustainability in AWS global infrastructure](https://www.youtube.com/watch?v=NgMa8R9-Ywk) 
+  [AWS re:Invent 2023 - What's new with AWS observability and operations](https://www.youtube.com/watch?v=E8qQBMDJjso) 

# SUS06-BP03 让您的工作负载保持最新状态
<a name="sus_sus_dev_a3"></a>

 让您的工作负载保持最新状态，采用高效功能、消除问题和提高工作负载的整体效率。

 **常见反模式：**
+  认为当前架构是静态的，将来不会更新。
+  没有任何系统或定期安排来评估更新后的软件和软件包是否与工作负载兼容。

 **建立此最佳实践的好处：**通过建立一个及时更新工作负载的流程，您能够采用新的特性和功能，解决问题，并提高工作负载效率。

 **在未建立这种最佳实践的情况下暴露的风险等级：**低 

## 实施指导
<a name="implementation-guidance"></a>

 最新的操作系统、运行时、中间件、库和应用程序可以提高工作负载效率，并简化更高效技术的采用。最新的软件可能还包括更准确地衡量工作负载对可持续性的影响的功能，因为供应商提供的功能是为了满足其自身的可持续性目标。定期更新，以便使用最新的功能和版本让您的工作负载保持最新。

### 实施步骤
<a name="implementation-steps"></a>
+  **定义流程：**使用一个流程和计划来评估工作负载的新功能或实例。利用云中的敏捷性，快速测试新功能如何改善工作负载以：
  +  减小对可持续性的影响。
  +  提升性能效率。
  +  为计划改进消除障碍。
  +  提高衡量和管理可持续性影响的能力。
+  **进行清点：**清点工作负载软件和架构，并确定需要更新的组件。
  +  可以使用 [AWS Systems Manager 清单](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-inventory.html)从 Amazon EC2 实例中收集操作系统（OS）、应用程序和实例元数据，并快速了解哪些实例正在运行您的软件策略所需的软件和配置，以及哪些实例需要更新。
+  **了解更新程序：**了解如何更新工作负载的组件。


|  工作负载组件  |  如何更新  | 
| --- | --- | 
|  系统映像  |  使用 [EC2 Image Builder](https://aws.amazon.com/image-builder/) 管理适用于 Linux 或 Windows 服务器映像的[亚马逊系统映像（AMI）](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html)的更新。 | 
|  容器映像  |  将 [Amazon Elastic Container Registry（Amazon ECR）](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)和现有管道结合使用来[管理 Amazon Elastic Container Service（Amazon ECS）映像](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_on_ECS.html)。 | 
|  AWS Lambda  |  AWS Lambda 包含[版本管理功能](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html)。 | 
+  **采用自动化：**自动化更新可以减少部署新功能的工作量，并减少手动过程引起的错误。
  +  可以使用 [CI/CD](https://aws.amazon.com/blogs/devops/complete-ci-cd-with-aws-codecommit-aws-codebuild-aws-codedeploy-and-aws-codepipeline/) 自动更新 AMI、容器映像以及其他与云应用程序相关的构件。
  +  您可以使用 [AWS Systems Manager 补丁管理器](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html)等工具来自动执行系统更新流程，并使用 [AWS Systems Manager Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html) 来安排活动。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [AWS 架构中心](https://aws.amazon.com/architecture) 
+  [AWS 的新功能](https://aws.amazon.com/new/?ref=wellarchitected&ref=wellarchitected) 
+  [AWS 开发人员工具](https://aws.amazon.com/products/developer-tools/) 

 **相关视频：**
+  [AWS re:Invent 2022 - Optimize your AWS workloads with best-practice guidance](https://www.youtube.com/watch?v=t8yl1TrnuIk) 
+  [All Things Patch: AWS Systems Manager](https://www.youtube.com/watch?v=PhIiVsCEBu8) 

# SUS06-BP04 提高构建环境的利用率
<a name="sus_sus_dev_a4"></a>

 提高资源利用率，以开发、测试和构建工作负载。

 **常见反模式：**
+  手动预置或终止构建环境。
+  使构建环境保持独立于测试、构建或发布活动运行（例如，在开发团队成员的工作时间之外运行环境）。
+  为构建环境过度预置资源。

 **建立此最佳实践的好处：**通过提高构建环境的利用率，您可以提高云工作负载的整体效率，同时将资源分配给构建者以进行高效的开发、测试和构建。

 **在未建立这种最佳实践的情况下暴露的风险等级：**低 

## 实施指导
<a name="implementation-guidance"></a>

 使用自动化和基础设施即代码功能，在需要时启动构建环境，并在不使用时将其关闭。一种常见模式是安排与开发团队成员的工作时间相吻合的可用时段。您的测试环境与生产配置非常相似。但是，寻找机会使用具有容量爆增的实例类型、Amazon EC2 竞价型实例、自动扩展数据库服务、容器和无服务器技术，以使开发和测试容量与使用容量保持一致。限制数据量，使之刚好满足测试要求。如果在测试中使用生产数据，请探索共享生产数据，而无需四处移动数据的可能性。

 **实施步骤** 
+  **使用基础设施即代码：**使用基础设施即代码来预置构建环境。
+  **使用自动化：**使用自动化功能来管理开发和测试环境的生命周期，并最大限度地提高构建资源的效率。
+  **实现利用率最大化**：使用策略来最大程度地利用开发和测试环境。
  +  使用最小可行代表性环境来开发和测试潜在的改进。
  +  如果可能，请使用无服务器技术。
  +  使用按需型实例来补充您的开发人员设备。
  +  使用具有容量爆增的实例类型、竞价型实例和其他技术，使构建容量与使用容量保持一致。
  +  采用原生云服务来实现安全的实例 Shell 访问，而不是部署堡垒主机群。
  +  根据构建作业自动扩展构建资源。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) 
+  [Amazon EC2 具爆发能力的实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) 
+  [什么是 AWS CloudFormation ？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+  [什么是 AWS CodeBuild ？](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
+  [AWS 实例调度器](https://aws.amazon.com/solutions/implementations/instance-scheduler-on-aws/) 

 **相关视频：**
+  [AWS re:Invent 2023 - Continuous integration and delivery for AWS](https://www.youtube.com/watch?v=25w9uJPt0SA) 

# SUS06-BP05 使用托管式 Device Farm 进行测试
<a name="sus_sus_dev_a5"></a>

 使用托管式设备场在一组具有代表性的硬件上高效地测试新功能。

 **常见反模式：**
+  在各个物理设备上手动测试和部署应用程序。
+  未在真实的物理设备上使用应用测试服务进行测试以及与应用（例如，Android、iOS 和 Web 应用）互动。

 **建立此最佳实践的好处：**使用托管式设备场测试支持云的应用程序有许多好处：
+  包括可在各种设备上测试应用程序的更高效功能。
+  无需使用内部基础设施进行测试。
+  提供多种设备类型（包括不太常用的较旧硬件），从而不需要进行不必要的设备升级。

 **在未建立这种最佳实践的情况下暴露的风险等级：**低 

## 实施指导
<a name="implementation-guidance"></a>

 使用托管式设备场有助于简化在一组有代表性的硬件上测试新功能的过程。托管式设备场提供多种设备类型，包括不太常用的较旧硬件，并避免不必要的设备升级对客户可持续性的影响。

### 实施步骤
<a name="implementation-steps"></a>
+  **定义测试要求：**定义您的测试要求和计划（例如，测试类型、操作系统和测试时间表）。
  +  您可以使用 [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 来收集和分析客户端数据，并制定您的测试计划。
+  **选择托管式设备场：**选择可以支持您的测试要求的托管式设备场。例如，可以使用 [AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html) 来测试和了解您的更改对一组具有代表性的硬件的影响。
+  **使用自动化：**使用自动化和持续集成/持续部署（CI/CD）来安排和运行测试。
  +  [Integrating AWS Device Farm with your CI/CD pipeline to run cross-browser Selenium tests](https://aws.amazon.com/blogs/devops/integrating-aws-device-farm-with-ci-cd-pipeline-to-run-cross-browser-selenium-tests/) 
  +  [使用 AWS DevOps 和移动服务构建和测试 iOS 和 iPadOS 应用程序](https://aws.amazon.com/blogs/devops/building-and-testing-ios-and-ipados-apps-with-aws-devops-and-mobile-services/) 
+  **审核和调整：**持续审核测试结果，必要时进行改进。

## 资源
<a name="resources"></a>

 **相关文档：**
+  [AWS Device Farm device list](https://awsdevicefarm.info/) 
+  [查看 CloudWatch RUM 控制面板](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-view-data.html) 

 **相关视频：**
+  [AWS re:Invent 2023 - Improve your mobile and web app quality using AWS Device Farm](https://www.youtube.com/watch?v=__93Tm0YCRg) 
+  [AWS re:Invent 2021 - Optimize applications through end user insights with Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 

 **相关示例：**
+  [AWS Device Farm Sample App for Android](https://github.com/aws-samples/aws-device-farm-sample-app-for-android) 
+  [AWS Device Farm Sample App for iOS](https://github.com/aws-samples/aws-device-farm-sample-app-for-ios) 
+  [Appium Web tests for AWS Device Farm](https://github.com/aws-samples/aws-device-farm-sample-web-app-using-appium-python) 