

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

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

**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，您应该根据业务需求和可持续发展目标为工作负载选择区域。

 **实施步骤** 
+  按照以下步骤进行操作，根据您的业务需求（包括法规遵从性、可用功能、成本和延迟）评估工作负载的潜在区域并列入候选名单： 
  +  根据您所需的当地法规，确认这些区域合规。 
  +  使用 [AWS 区域性服务列表](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)，检查区域是否具有运行工作负载所需的服务和功能。 
  +  使用 [AWS 定价计算器](https://calculator.aws/) 计算每个区域的工作负载成本。 
  +  测试最终用户位置与每个 AWS 区域之间的网络延迟。 
+  选择亚马逊可再生能源项目附近的区域和其电网公布的碳强度低于其他位置（或区域）的区域。 
  +  确定您的相关可持续发展准则，以根据[温室气体核算协议](https://ghgprotocol.org/)（基于市场和基于位置的方法）跟踪和比较逐年碳排放量。 
  +  根据用于跟踪碳排放的方法选择区域。有关根据可持续性准则选择区域的更多详细信息，请参阅[如何根据可持续性目标为工作负载选择区域](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) 
+  [为工作负载选择区域时应考虑的事项](https://aws.amazon.com/blogs/architecture/what-to-consider-when-selecting-a-region-for-your-workloads/) 

 **相关视频：** 
+  [可持续地构建并减少 AWS 碳足迹](https://www.youtube.com/watch?v=jsbamOLpCr8) 

# 符合需求
<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/2023-10-03/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 的指导： 
  +  该指标应该是有效的利用率指标，并描述实例的繁忙程度。 
  +  该指标值必须随 Auto Scaling 组中的实例数量成比例地增加或减少。 
+  对 Auto Scaling 组使用[动态扩缩](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)验证 Auto Scaling 组的扩缩活动。 
+  评估您的工作负载以获得可预测的模式，并在您预期需求会发生预测和计划的变化时主动扩缩。借助预测性扩缩，您无需过度调配容量。有关详细信息，请参阅[使用 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>

 **相关文档：** 
+  [开始使用 Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html) 
+  [由机器学习提供支持的 EC2 预测式扩缩](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/Amazon/latest/monitoring/WhatIs.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/) 
+  [深入探讨 Amazon ECS 集群 Auto Scaling](https://aws.amazon.com/blogs/containers/deep-dive-on-amazon-ecs-cluster-auto-scaling/) 

 **相关视频：** 
+  [构建成本、能源和资源高效的计算环境](https://www.youtube.com/watch?v=8zsC5e1eLCg) 
+  [更好、更快、更便宜的计算：成本优化Amazon EC2（CMP202-R1）](https://www.youtube.com/watch?v=_dvh4P2FVbw) 

 **相关示例：** 
+  [实验室：Amazon EC2 Auto Scaling 组示例](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) 
+  [实验室：使用 Karpenter 实施自动扩缩](https://www.eksworkshop.com/beginner/085_scaling_karpenter/) 

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

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

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

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

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

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

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

 **实施步骤** 
+  定义或重新设计 SLA，在支持可持续性目标的同时满足而不是超出您的业务需求。 
+  做出权衡，显著降低可持续性影响，以换取可接受的服务水平降低幅度。 
  +  **可持续性和可靠性：**高可用性工作负载往往会消耗更多资源。 
  +  **可持续发展和性能：**使用更多资源来提升性能可能会对环境产生更大影响。 
  +  **可持续发展和安全：**过度安全的工作负载可能会对环境产生更大影响。 
+  使用优先考虑业务关键功能的设计模式（例如 [AWS](https://docs.aws.amazon.com/whitepapers/latest/microservices-on-aws/microservices-on-aws.html) 上的微服务），并允许非关键功能具有较低的服务水平（例如响应时间或恢复时间目标）。 

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

 **相关文档：** 
+  [AWS 服务水平协议（SLA）](https://aws.amazon.com/legal/service-level-agreements/?aws-sla-cards.sort-by=item.additionalFields.serviceNameLower&aws-sla-cards.sort-order=asc&awsf.tech-category-filter=*all) 
+  [Importance of Service Level Agreement for SaaS Providers](https://aws.amazon.com/blogs/apn/importance-of-service-level-agreement-for-saas-providers/) 

 **相关视频：** 
+ [提供可持续、高性能的架构](https://www.youtube.com/watch?v=FBc9hXQfat0)
+ [构建成本、能源和资源高效的计算环境](https://www.youtube.com/watch?v=8zsC5e1eLCg)

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

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

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

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

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

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

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

 **实施步骤** 
+  使用监控工具来识别不再需要的静态资产。 
+  在移除任何资产之前，评估移除它会对架构产生什么影响。 
+  制定计划并移除不再需要的资产。 
+  整合生成的重叠资产以消除冗余处理。 
+  更新应用程序，以便不再产生和存储不需要的资产。 
+  指示第三方停止生成和存储代您管理但不再需要的资产。 
+  指示第三方整合代表您生成的多余资产。 
+  定期审核工作负载以识别和移除未使用的资产。 

## 资源
<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 账户中是否有不再需要的活动资源，然后移除它们？](https://www.youtube.com/watch?v=pqg9AqESRlg)

# 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)中所述。
  +  **数据所在位置：** 对于数据密集型应用程序（如大数据和机器学习），应用程序代码的运行应尽量接近数据。 
  +  **用户所在位置：** 对于面向用户的应用程序，选择接近您工作负载用户的一个或多个区域。
  + **其他制约：** 考虑成本和合规性等制约，如 [为工作负载选择区域时应考虑的事项](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/2023-10-03/framework/sus_sus_user_a5.html)
+  使用有助于您在更接近工作负载用户的位置运行代码的服务：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2023-10-03/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) 
+  [什么是 Amazon CloudFront？](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) 
+  [Amazon CloudFront 主要功能](https://aws.amazon.com/cloudfront/features/) 

 **相关视频：** 
+  [揭秘 AWS 上的数据传输](https://www.youtube.com/watch?v=-MqXgzw1IGA) 
+ [ 在新一代 Amazon EC2 实例上扩展网络性能 ](https://www.youtube.com/watch?v=jNYpWa7gf1A)

 **相关示例：** 
+  [AWS 联网研讨会](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>

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

 **实施步骤** 
+  按照工作站和其他设备的使用方式对它们进行预置。 
+  使用虚拟桌面和应用程序串流来限制升级和设备要求。 
+  将处理器或内存密集型任务移至云端以利于其弹性。 
+  评估流程和系统对您的设备生命周期的影响，并选择在满足业务需求的同时最大限度减少设备更换需求的解决方案。 
+  对设备实施远程管理以减少所需的商务旅行。 
  +  [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 的成本优化器](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>

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

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

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

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

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

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


 

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

![\[波形图显示了使用缓冲或节流创建平滑峰值的工作负载。\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2023-10-03/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>

 **相关文档：** 
+ [开始使用 Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html)
+ [使用队列和消息的应用程序集成](https://aws.amazon.com/blogs/architecture/application-integration-using-queues-and-messages/)

 **相关视频：** 
+ [为分布式应用程序选择适合的消息传递服务](https://www.youtube.com/watch?v=4-JmX6MIDDI)

# 软件和架构
<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/)），均匀地利用组件并最大程度地减少工作负载中的过度预置。使用高效的架构模式可以最大程度地减少由于需求随时间变化而导致的闲置资源。 

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

 **实施步骤** 
+  分析工作负载的需求，以确定如何响应这些需求。 
+  对于不需要同步响应的请求或作业，请使用队列驱动型架构和自动扩缩工作线程来最大限度地提高利用率。以下是一些可以考虑采用队列驱动型架构的示例：     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2023-10-03/framework/sus_sus_software_a2.html)
+  对于可以随时处理的请求或作业，请使用调度机制批量处理作业以提高效率。以下是 AWS 上的调度机制的一些示例：     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2023-10-03/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/)来消除过量配置的基础设施。 
+  适当调整架构中各个组件的大小，以防止等待输入的闲置资源。 

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

 **相关文档：** 
+  [什么是 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) 

 **相关视频：** 
+  [迁移到事件驱动型架构](https://www.youtube.com/watch?v=h46IquqjF3E) 

# 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 发布新的服务和功能，适用于您的工作负载的最佳服务和架构可能会发生变化。 

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

 **实施步骤** 
+  监控和捕获工作负载关键组件的利用率指标（例如 [Amazon CloudWatch 指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)中的 CPU 利用率、内存利用率或网络吞吐量）。 
+  对于稳定的工作负载，定期检查 AWS 合理调整大小工具（如 [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/)），以便识别空闲、未使用或未充分利用的组件。 
+  对于临时工作负载，请评估利用率指标以识别空闲、未使用或未充分利用的组件。 
+  停用不再需要的组件及关联资产（如 Amazon ECR 映像）。 
+  重构未充分利用的组件或将其与其他资源整合以提高利用效率。例如，您可以在单个 [Amazon RDS](https://aws.amazon.com/rds/) 数据库实例中预置多个小数据库，而不是在单个未充分利用的实例中运行数据库。 
+  了解[您的工作负载为完成一个工作单元而预置的资源](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/evaluate-specific-improvements.html)。 

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

 **相关文档：** 
+ [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/)
+  [什么是 Amazon CloudWatch？](https://docs.aws.amazon.com/Amazon/latest/monitoring/WhatIs.html) 
+  [自动清理 Amazon ECR 中未使用的映像](https://aws.amazon.com/blogs/compute/automated-cleanup-of-unused-images-in-amazon-ecr/) 

 **相关示例：** 
+ [Well-Architected 实验室 - 使用 AWS Compute Optimizer 合理调整大小](https://wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/)
+ [Well-Architected 实验室 - 优化硬件模式并遵守可持续性 KPI](https://wellarchitectedlabs.com/sustainability/200_labs/200_optimize_hardware_patterns_observe_sustainability_kpis/)

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

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

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

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

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

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

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

## 实施步骤
<a name="implementation-steps"></a>
+  在开发工作负载时，采用自动化代码审核流程来提高质量并识别错误和反模式。 
  + [ 使用 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/)
+  对工作负载使用最高效的操作系统和编程语言。有关节能编程语言（包括 Rust）的详细信息，请参阅 [Rust 可持续性](https://aws.amazon.com/blogs/opensource/sustainability-with-rust/)。 
+  使用可产生相同结果的更简单、更高效算法取代计算密集型算法。 
+  删除排序和格式等不必要的代码。 

## 资源
<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>

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

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

 **实施步骤** 
+  列出您架构中使用的设备。设备可以是移动设备、平板电脑、物联网设备、智能灯，甚至是工厂中的智能设备。 
+  优化设备上运行的应用程序： 
  +  使用策略（例如在后台运行任务）来降低能耗。 
  +  在构建有效负载时考虑网络带宽和延迟，并实施有助于您的应用程序在低带宽、高延迟链路上良好运行的功能。 
  +  将有效负载和文件转换为设备所需的优化格式。例如，您可以使用 [Amazon Elastic Transcoder](https://docs.aws.amazon.com/elastic-transcoder/) 或 [AWS Elemental MediaConvert](https://aws.amazon.com/mediaconvert/) 将大型、高质量的数字媒体文件转换为用户可以在移动设备、平板电脑、Web 浏览器和联网电视上播放的格式。 
  +  在服务器端执行计算密集型活动（例如图像渲染），或使用应用程序串流来改善旧设备上的用户体验。 
  +  对输出进行分段和分页，尤其是对于交互式会话，以管理有效负载并限制本地存储要求。 
+  使用自动化空中下载（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-BP04 使用托管式设备场进行测试](sus_sus_dev_a5.md)。 

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

 **相关文档：** 
+  [什么是 AWS Device Farm？](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html) 
+  [Amazon AppStream 2.0 文档](https://docs.aws.amazon.com/appstream2/) 
+  [NICE DCV](https://docs.aws.amazon.com/dcv/) 
+ [在运行 FreeRTOS 的设备上更新固件的 OTA 教程](https://docs.aws.amazon.com/freertos/latest/userguide/dev-guide-ota-workflow.html)

 **相关视频：** 
+ [AWS Device Farm 简介](https://www.youtube.com/watch?v=UiJo_PEZkD4)

# 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/)使您可以使用为您的独特分析应用场景优化的专用服务。这些架构模式可提高数据处理效率和减少资源使用。 

 **实施步骤** 
+  分析您的数据特性和访问模式，以便确定云资源的适合配置。要考虑的关键特征包括： 
  +  **数据类型：**结构化、半结构化、非结构化 
  +  **数据增长：**有界、无界 
  +  **数据耐久性：**持久、短暂、瞬时 
  +  **访问模式：**读或写、更新频率、峰值或一致 
+  使用最能支持数据访问和存储模式的架构模式。 
  + [ 让我们来构建！ 现代数据架构 ](https://aws.amazon.com/blogs/architecture/lets-architect-modern-data-architectures/)
  + [AWS 上的数据库：根据作业选择合适工具](https://www.youtube.com/watch?v=-pb-DkD6cWg)
+  使用可以原生处理压缩数据的技术。 
+  为您架构中的数据处理使用专用[分析服务](https://aws.amazon.com/big-data/datalakes-and-analytics/?nc2=h_ql_prod_an_a)。 
+  使用最能支持您的主导查询模式的数据库引擎。管理您的数据库索引以确保高效的查询执行。有关更多详情，请参阅 [AWS 数据库](https://aws.amazon.com/products/databases/)。 
+  选择可减少架构中所用网络容量的网络协议。 

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

 **相关文档：** 
+  [Athena 压缩支持文件格式](https://docs.aws.amazon.com/athena/latest/ug/compression-formats.html) 
+  [使用 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) 
+  [AWS Glue 中 ETL 输入和输出的格式选项](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html) 
+  [通过转换为列格式提高 Amazon Athena 上的查询性能](https://docs.aws.amazon.com/athena/latest/ug/convert-to-columnar.html) 
+  [使用 Amazon Redshift 从 Amazon S3 加载压缩数据文件](https://docs.aws.amazon.com/redshift/latest/dg/t_loading-gzip-compressed-data-files-from-S3.html) 
+  [使用 Amazon Aurora 上的 Performance Insights 监视数据库负载](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+  [使用 Amazon RDS 上的 Performance Insights 监视数据库负载](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+ [Amazon S3 Intelligent-Tiering 存储类](https://aws.amazon.com/s3/storage-classes/intelligent-tiering/)

 **相关视频：** 
+ [在 AWS 上构建现代数据架构](https://www.youtube.com/watch?v=Uk2CqEt5f0o)

# 数据
<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>

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

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

 **实施步骤** 
+  对您的工作负载存在的各种数据类型进行清点。 
  +  有关数据分类类别的更多详情，请参阅[《数据分类》白皮书](https://docs.aws.amazon.com/whitepapers/latest/data-classification/data-classification.html)。 
+  根据给组织带来的风险，确定数据的重要性、机密性、完整性和可用性。使用这些要求将数据分组到您采用的数据分类层之一。 
  +  例如，请参阅[将数据分类并保护初创公司的四个简单步骤](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 上实现敏捷的数据治理](https://www.youtube.com/watch?v=vznDgJkoH7k)

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

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

 **常见反模式：** 
+  假设所有工作负载都具有相似的数据存储和访问模式。 
+  假设所有工作负载都位于一个存储层，且只使用该存储层。 
+  假设访问模式始终保持不变。 

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

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

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

 选择最适合您的访问模式的存储解决方案，或者考虑根据存储解决方案更改访问模式，以便尽可能提高性能和效率。 
+  评估您的数据特征和访问模式，以收集您的存储需求的关键特征。要考虑的关键特征包括： 
  +  **数据类型：** 结构化、半结构化、非结构化 
  +  **数据增长：** 限界、不限界 
  +  **数据持久性：** 持久、短暂、瞬时 
  +  **访问模式：** 读或写、频率、峰值或一致 
+  将数据迁移到支持您的数据特征和访问模式的适当存储技术。下面是 AWS 存储技术的一些示例以及它们的关键特征：     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2023-10-03/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 生命周期策略，在不对应用程序进行任何更改的情况下，于存储类之间自动转换对象或删除数据。通常来说，在考虑这些存储机制时，您必须在资源效率、访问延迟和可靠性之间做出取舍。 

## 资源
<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)
+  [什么是 Amazon Glacier？](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 

 **相关视频：** 
+  [AWS 上数据湖的架构模式](https://www.youtube.com/watch?v=XpTly4XHmqc&ab_channel=AWSEvents) 
+ [ 深入讨论 Amazon EBS（STG303-R1） ](https://www.youtube.com/watch?v=wsMWANWNoqQ)
+ [ 利用 Amazon S3 优化存储性能（STG343） ](https://www.youtube.com/watch?v=54AhwfME6wI)
+ [ 在 AWS 上构建现代数据架构 ](https://www.youtube.com/watch?v=Uk2CqEt5f0o)

 **相关示例：** 
+ [ Amazon EFS CSI 驱动程序 ](https://github.com/kubernetes-sigs/aws-efs-csi-driver)
+ [ Amazon EBS CSI 驱动程序 ](https://github.com/kubernetes-sigs/aws-ebs-csi-driver)
+ [ Amazon EFS 实用程序 ](https://github.com/aws/efs-utils)
+ [ Amazon EBS 自动扩展 ](https://github.com/awslabs/amazon-ebs-autoscale)
+ [ Amazon S3 示例 ](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html)

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

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

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

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

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

## 实施指导
<a name="implementation-guidance"></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/2023-10-03/framework/sus_sus_data_a4.html)
+  删除未使用的卷、快照和超出保留期的数据。利用本机服务功能（如 Amazon DynamoDB 生存时间或 Amazon CloudWatch 日志保留）进行删除。 
+  在适当情况下根据生命周期规则汇总和压缩数据。 

## 资源
<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) 

 **相关视频：** 
+  [利用 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>

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

 **实施步骤** 
+  对于固定大小存储（例如 [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>

 **相关文档：** 
+  [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>

 请勿存储不需要的数据。自动删除不需要的数据。使用技术在文件和数据块级别进行重复数据删除。利用服务的本机数据复制和冗余功能。 

 **实施步骤** 
+  评估是否可以通过使用 [AWS Data Exchange](https://aws.amazon.com/data-exchange/) 中的现有公开可用数据集，以及 [AWS 上的开放数据](https://registry.opendata.aws/)来避免存储数据。 
+  使用可以在数据块和对象级别删除重复数据的机制。以下是有关如何删除 AWS 上的重复数据的一些示例：     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2023-10-03/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 日志保留](https://docs.aws.amazon.com/managedservices/latest/userguide/log-customize-retention.html)）进行删除。 
+  使用 AWS 上的数据虚拟化功能在源头维护数据并避免数据重复。 
  +  [AWS 上的云原生数据虚拟化](https://www.youtube.com/watch?v=BM6sMreBzoA) 
  +  [实验：使用 Amazon Redshift 数据共享优化数据模式](https://wellarchitectedlabs.com/sustainability/300_labs/300_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/Amazon/latest/logs/Working-with-log-groups-and-streams.html#SettingLogRetention) 
+  [Amazon FSx for Windows File Server 上的重复数据删除](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/Amazon/latest/DeveloperGuide/Invalidation.html) 
+  [使用 Amazon EFS 备份和还原 AWS Backup 文件系统](https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html) 
+  [什么是 Amazon CloudWatch Logs？](https://docs.aws.amazon.com/Amazon/latest/logs/WhatIsLogs.html) 
+  [在 Amazon RDS 上使用备份](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html) 

 **相关视频：** 
+  [使用适用于 AWS Lake Formation 的 ML Transforms 进行模糊匹配和重复数据删除](https://www.youtube.com/watch?v=g34xUaJ4WI4) 

 **相关示例：** 
+  [如何使用 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>

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

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

 **实施步骤** 
+  当数据具有多个使用者时，将数据迁移到共享存储。下面是 AWS 上的共享存储技术的一些示例：     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2023-10-03/framework/sus_sus_data_a7.html)
+ 仅在需要时将数据复制到共享文件系统或从共享文件系统提取数据。例如，您可以创建[采用 Amazon S3 的 Amazon FSx for Lustre 文件系统](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)

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

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

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

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

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

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

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

## 实施步骤
<a name="implementation-steps"></a>
+  在 [为工作负载选择区域](https://aws.amazon.com/blogs/architecture/how-to-select-a-region-for-your-workload-based-on-sustainability-goals/)时，考虑将与数据或用户的接近程度作为决策因素。 
+  按区域对使用的服务进行分区，以便将其特定于区域的数据存储在使用它的区域内。 
+  使用高效的文件格式（如 Parquet 或 ORC），并在通过网络移动数据之前先对其进行压缩。 
+  不移动未使用的数据。一些让您能够避免移动未使用数据的示例： 
  +  将 API 响应缩减到仅针对相关数据。 
  +  聚合详细数据（不需要记录级别信息）。 
  +  请参阅 [Well-Architected 实验室 – 使用 Amazon Redshift 数据共享优化数据模式](https://wellarchitectedlabs.com/sustainability/300_labs/300_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/2023-10-03/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)

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

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

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

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

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

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

## 实施指导
<a name="implementation-guidance"></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 实验室 - 测试数据的备份和恢复](https://wellarchitectedlabs.com/reliability/200_labs/200_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)
+ [备份 Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-backup-solutions.html)
+ [适用于 Windows File Server 的备份 Amazon FSx ](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 2021 - 使用 AWS 进行备份、灾难恢复和勒索软件防护](https://www.youtube.com/watch?v=Ru4jxh9qazc)
+ [AWS Backup 演示：跨账户和跨区域备份](https://www.youtube.com/watch?v=dCy7ixko3tE)
+ [AWS re:Invent 2019：深入了解 AWS Backup，主讲：Rackspace (STG341) ](https://www.youtube.com/watch?v=av8DpL0uFjc)

 **相关示例：** 
+ [Well-Architected 实验室 - 测试数据的备份与还原](https://wellarchitectedlabs.com/reliability/200_labs/200_testing_backup_and_restore_of_data/)
+ [Well-Architected 实验室 - 面向分析工作负载的备份和还原（具备失效自动恢复功能）](https://wellarchitectedlabs.com/reliability/200_labs/200_backup_restore_failback_analytics/)
+ [Well-Architected 实验室 - 灾难恢复 - 备份与还原](https://wellarchitectedlabs.com/reliability/disaster-recovery/workshop_1/)

# 硬件和服务
<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 EC2 实例类型？](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-choose-type-for-workload/)
  + [基于属性为 Amazon EC2 实例集选择实例类型。](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html)
  + [使用基于属性的实例类型选择来创建 Auto Scaling 组。](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html)
+  通过小增量扩缩来适应可变的工作负载。 
+  使用多个计算购买选项，在实例灵活性、可扩展性和成本节省方面实现平衡。 
  +  [按需型实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-on-demand-instances.html)最适合新的、有状态和突增工作负载，这些工作负载不能灵活地调整实例类型、位置或时间。 
  +  [竞价型实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html)为容错和灵活的应用程序提供了很好的补充选择。 
  +  将 [Compute Savings Plans](https://aws.amazon.com/savingsplans/compute-pricing/) 用于稳定状态的工作负载，当您的需求（如可用区、区域、实例系列或实例类型）发生变化时，这种工作负载可以允许灵活性。 
+  使用实例和可用区多样性最大限度地提高应用程序可用性和尽可能利用过剩的容量。 
+  使用来自 AWS 工具的合理调整大小建议来调整工作负载。 
  + [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/)
  + [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/)
+  协商服务等级协议（SLA），允许暂时减少容量，同时利用自动化功能部署替换资源。 

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

 **相关文档：** 
+ [优化您的 AWS 基础设施以实现可持续性，第 I 部分：计算](https://aws.amazon.com/blogs/architecture/optimizing-your-aws-infrastructure-for-sustainability-part-i-compute/)
+ [基于属性为 Amazon EC2 实例集的 Auto Scaling 选择实例类型](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) 

 **相关视频：** 
+ [构建成本、能源和资源高效的计算环境](https://www.youtube.com/watch?v=8zsC5e1eLCg)

 **相关示例：** 
+ [Well-Architected 实验室 - 在启用 AWS Compute Optimizer 和内存利用率的情况下合理调整大小（级别 200)](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/)

# 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 - 深入了解 AWS Graviton2 处理器提供支持的 Amazon EC2 实例](https://www.youtube.com/watch?v=NLysl0QvqXU) 和 [深入了解 AWS Graviton3 和 Amazon EC2 C7g 实例](https://www.youtube.com/watch?v=WDKwwFQKfSI&ab_channel=AWSEvents)。 
+  规划工作负载并将其转换为影响极小的实例类型。 
  +  定义一个流程来评估工作负载的新功能或实例。利用云中的敏捷性，快速测试新的实例类型如何改善工作负载的环境可持续性。使用代理指标来衡量完成一个单元的工作需要多少资源。 
  +  如有可能，修改工作负载以使用不同数量的 vCPU 和不同数量的内存，以最大限度地增加您的实例类型选项。 
  +  考虑将工作负载转换为基于 Graviton 的实例，以提高工作负载的性能效率。 
    +  [AWS Graviton Fast Start](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) 
    +  [适用于 ISV 的 AWS Graviton2](https://docs.aws.amazon.com/whitepapers/latest/aws-graviton2-for-isv/welcome.html) 
  +  考虑选择 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/) Inf2 等 AWS 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 实验室 - 合理调整大小建议 ](https://wellarchitectedlabs.com/cost/100_labs/100_aws_resource_optimization/)
    + [ Well-Architected 实验室 - 使用 Compute Optimizer 合理调整大小 ](https://wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/)
    + [ Well-Architected 实验室 - 优化硬件模式并观察可持续性 KPI ](https://wellarchitectedlabs.com/sustainability/200_labs/200_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 实例集选择实例类型。 ](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 Graviton2 处理器提供支持的 Amazon EC2 实例](https://www.youtube.com/watch?v=NLysl0QvqXU) 
+  [深入了解 AWS Graviton3 和 Amazon EC2 C7g 实例](https://www.youtube.com/watch?v=WDKwwFQKfSI&ab_channel=AWSEvents) 
+ [ 构建成本、能源和资源高效的计算环境 ](https://www.youtube.com/watch?v=8zsC5e1eLCg)

 **相关示例：** 
+ [ 解决方案：关于在 AWS 上优化深度学习工作负载以实现可持续性的指导 ](https://aws.amazon.com/solutions/guidance/optimizing-deep-learning-workloads-for-sustainability-on-aws/)
+  [Well-Architected 实验室 - 合理调整大小建议](https://wellarchitectedlabs.com/cost/100_labs/100_aws_resource_optimization/) 
+  [Well-Architected 实验室 - 使用 Compute Optimizer 合理调整大小](https://wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/) 
+  [Well-Architected 实验室 - 优化硬件模式并观察可持续性 KPI](https://wellarchitectedlabs.com/sustainability/200_labs/200_optimize_hardware_patterns_observe_sustainability_kpis/) 
+ [ Well-Architected 实验室 - 将服务迁移到 Graviton ](https://www.wellarchitectedlabs.com/sustainability/100_labs/100_migrate_services_to_graviton/)

# 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/2023-10-03/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 Managed Services 实现大规模云运营](https://www.youtube.com/watch?v=OCK8GCImWZw)

# 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/)。Inf2 等 AWS Inferentia 实例相比 [同类 Amazon EC2 实例，性能功耗比提升了 50%](https://aws.amazon.com/machine-learning/inferentia/)。 
+  收集加速型计算实例的使用情况指标。例如，您可以使用 CloudWatch 代理，为 GPU 收集各种指标，例如 `utilization_gpu` 和 `utilization_memory` ，如 [使用 Amazon CloudWatch 收集 NVIDIA GPU 指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-NVIDIA-GPU.html)中所示。 
+  优化硬件加速器的代码、网络运营和设置，确保底层硬件得到充分利用。 
  +  [优化 GPU 设置](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/optimize_gpu.html) 
  +  [深度学习 AMI 中的 GPU 监控和优化](https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-gpu.html) 
  +  [优化 I/O 以实现 Amazon SageMaker AI 中深度学习训练的 GPU 性能优化](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) 
+ [ 让我们来构建！ 使用自定义芯片和加速器来构建 ](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 实例](https://aws.amazon.com/ec2/instance-types/vt1/) 
+ [ 选择最佳 AI 加速器和模型编译，以使用 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/)

 **相关视频：** 
+ [ 如何选择 Amazon EC2 GPU 实例进行深度学习 ](https://www.youtube.com/watch?v=4bVrIbgGWEA)
+  [部署经济高效的深度学习推理](https://www.youtube.com/watch?v=WiCougIDRsw) 

# 流程和文化
<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_a2.md)
+ [SUS06-BP02 让您的工作负载保持最新状态](sus_sus_dev_a3.md)
+ [SUS06-BP03 提高构建环境的利用率](sus_sus_dev_a4.md)
+ [SUS06-BP04 使用托管式设备场进行测试](sus_sus_dev_a5.md)

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

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

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

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

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

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

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

 **实施步骤** 
+  在您的开发待办事项中添加可持续性改进要求。 
+  使用迭代[改进流程](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/improvement-process.html)来识别、评测、测试和部署这些改进并确定其优先顺序。 
+  持续改进和简化您的开发流程。例如，[使用持续集成和持续交付（CI/CD）管道测试和部署潜在的改进，自动完成软件交付过程](https://aws.amazon.com/getting-started/hands-on/set-up-ci-cd-pipeline/)，从而减少工作量和减少手动操作引起的错误。 
+  使用最小可行代表性组件开发和测试潜在改进，从而降低测试成本。 
+  持续评测改进的影响并根据需要作出调整。 

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

 **相关文档：** 
+  [AWS 支持可持续性解决方案](https://aws.amazon.com/sustainability/) 
+ [基于 AWS CodeCommit 的可扩展敏捷开发实践](https://aws.amazon.com/blogs/devops/scalable-agile-development-practices-based-on-aws-codecommit/)

 **相关视频：** 
+ [提供可持续、高性能的架构](https://www.youtube.com/watch?v=FBc9hXQfat0)

 **相关示例：** 
+  [Well-Architected 实验室 - 将成本和使用情况报告转化为效率报告](https://www.wellarchitectedlabs.com/sustainability/300_labs/300_cur_reports_as_efficiency_reports/) 

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

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

 **常见反模式：** 
+ 假设当前的架构是静态的，不会随着时间的推移而更新。
+  您没有任何系统（也不会定期）评估更新的软件和软件包是否与您的工作负载兼容。 

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

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

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

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

 **实施步骤** 
+  定义一个流程和计划来评估工作负载的新功能或实例。利用云中的敏捷性，快速测试新功能如何改善工作负载以： 
  +  减小对可持续性的影响。 
  +  提升性能效率。 
  +  为计划改进消除障碍。 
  +  提高衡量和管理可持续性影响的能力。 
+  盘点工作负载软件和架构，并确定需要更新的组件。 
  +  您可以使用 [AWS Systems Manager 清单](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-inventory.html)从 Amazon EC2 实例收集操作系统（OS）、应用程序和实例元数据，并快速了解哪些实例正在运行您的软件策略所需的软件和配置，以及哪些实例需要更新。 
+  了解如何更新工作负载的组件。     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/wellarchitected/2023-10-03/framework/sus_sus_dev_a3.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 Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 等工具自动执行系统更新流程，并使用 [AWS Systems Manager 维护窗口](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/) 

 **相关示例：** 
+  [Well-Architected 实验室 - 清单和补丁管理](https://wellarchitectedlabs.com/operational-excellence/100_labs/100_inventory_patch_management/) 
+  [实验室：AWS Systems Manager](https://mng.workshop.aws/ssm.html) 

# SUS06-BP03 提高构建环境的利用率
<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/)

 **相关视频：** 
+ [持续集成最佳实践](https://www.youtube.com/watch?v=77HvSGyBVdU)

# SUS06-BP04 使用托管式设备场进行测试
<a name="sus_sus_dev_a5"></a>

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

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

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

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

## 实施指导
<a name="implementation-guidance"></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）来安排和运行测试。 
  + [将 AWS Device Farm 与 CI/CD 管道集成，以便运行跨浏览器的 Selenium 测试](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 设备列表](https://awsdevicefarm.info/)
+ [查看 CloudWatch RUM 控制面板](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-view-data.html)

 **相关示例：** 
+ [适用于 Android 的 AWS Device Farm 示例应用](https://github.com/aws-samples/aws-device-farm-sample-app-for-android)
+ [适用于 iOS 的 AWS Device Farm 示例应用](https://github.com/aws-samples/aws-device-farm-sample-app-for-ios)
+ [适用于 AWS Device Farm 的 Appium Web 测试](https://github.com/aws-samples/aws-device-farm-sample-web-app-using-appium-python)

 **相关视频：** 
+ [使用 Amazon CloudWatch RUM 通过最终用户洞察优化应用程序](https://www.youtube.com/watch?v=NMaeujY9A9Y)