

# COST 5  您在选择服务时如何评估成本？
<a name="w2aac19c13b9b5"></a>

Amazon EC2、Amazon EBS 和 Amazon S3 属于构建块 AWS 服务。托管服务（如 Amazon RDS 和 Amazon DynamoDB）属于更高级别或应用程序级别的 AWS 服务。通过选择适当的基础服务和托管服务，您可以优化工作负载，从而降低成本。例如，使用托管服务，您可以节省或消除大部分管理和运营开销，从而使您有精力从事应用程序和业务相关活动。

**Topics**
+ [COST05-BP01 确定组织对成本的要求](cost_select_service_requirements.md)
+ [COST05-BP02 分析此工作负载的所有组件](cost_select_service_analyze_all.md)
+ [COST05-BP03 对每个组件进行彻底分析](cost_select_service_thorough_analysis.md)
+ [COST05-BP04 选择具有成本效益许可的软件](cost_select_service_licensing.md)
+ [COST05-BP05 选择此工作负载的组件，以便根据组织的优先事项优化成本](cost_select_service_select_for_cost.md)
+ [COST05-BP06 对不同时间的不同使用情况执行成本分析](cost_select_service_analyze_over_time.md)

# COST05-BP01 确定组织对成本的要求
<a name="cost_select_service_requirements"></a>

 与团队成员合作，为此工作负载确定成本优化与其他支柱（例如性能和可靠性）之间的平衡。 

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

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

在为工作负载选择服务时，了解组织的优先要务至关重要。确保在成本和其他 Well-Architected 支柱（例如性能和可靠性）之间取得平衡。完全成本优化的工作负载是最符合组织需求的解决方案，但不一定是成本最低的。与组织内的所有团队会面以收集信息，例如产品、业务、技术和财务。

**实施步骤**
+ ** 确定组织对成本的要求： **与组织中的团队成员会面，这些成员包括产品管理、应用程序负责人、开发和运营团队、管理和财务角色。对此工作负载及其组件的 Well-Architected 支柱进行优先级排序，输出是一个按顺序排列的支柱列表。您还可以为每个支柱添加一个权重，这可以指示一个支柱体现的额外关注程度，或者两个支柱之间的关注点的相似程度。

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

 **相关文档：** 
+  [AWS 总拥有成本（TCO）计算器](https://aws.amazon.com/tco-calculator/) 
+  [Amazon S3 存储类](https://aws.amazon.com/s3/storage-classes/) 
+  [云产品](https://aws.amazon.com/products/) 

# COST05-BP02 分析此工作负载的所有组件
<a name="cost_select_service_analyze_all"></a>

 确认已分析工作负载的每个组件，无论当前大小或当前成本如何。审核工作应该体现出可能带来的好处，例如当前成本和预期成本。 

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

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

对工作负载中的所有组件进行全面分析。确保在分析成本与工作负载在其生命周期内可能节省的成本之间取得平衡。必须确定组件的当前影响以及未来的潜在影响。例如，如果拟议资源的成本为每月 10 美元，在预测的负载下不会超过每月 15 美元，则花一天的时间将成本降低 50%（每月 5 美元）可能会超过系统使用寿命内的潜在收益。使用更快、更有效的基于数据的预估可为该组件带来最佳的总体结果。

工作负载可能会随时间变化，如果工作负载架构或使用量发生变化，原本合适的服务集可能不再是最优之选。为甄选服务进行分析时，必须考虑工作负载当前和未来的状态以及使用量水平。为将来的工作负载状态或使用量实施服务可以减少或消除未来进行更改所需的工作量，从而降低总体成本。

[AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) 和 [AWS 成本和使用情况报告](https://aws.amazon.com/aws-cost-management/aws-cost-and-usage-reporting/) （CUR）可以分析概念验证（PoC, Proof of Concept）或运行环境的成本。您也可以使用 [AWS 定价计算器](https://calculator.aws/#/) 估算工作负载成本。

**实施步骤**
+  **列出工作负载组件： **构建所有工作负载组件的列表，用于验证是否分析了每个组件。投入的工作量应体现出组织优先事项所规定的工作负载的关键性。如果有多个数据库，按功能（例如生产数据库存储）将资源分组可以提高效率。
+  **对组件列表进行优先级排序：** 获取组件列表，按工作顺序进行优先级排序。通常按照组件的成本从最昂贵到最便宜的顺序排列，或者按照组织优先事项规定的关键性排列。
+ ** 执行分析：** 对于列表中的每个组件，检查可用的选项和服务，然后选择最符合组织优先事项的选项。

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

 **相关文档：** 
+  [AWS 定价计算器](https://calculator.aws/#/) 
+  [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) 
+  [Amazon S3 存储类](https://aws.amazon.com/s3/storage-classes/) 
+  [云产品](https://aws.amazon.com/products/) 

# COST05-BP03 对每个组件进行彻底分析
<a name="cost_select_service_thorough_analysis"></a>

 分析组织为每个组件付出的总体成本。通过考虑运营和管理成本（尤其是使用托管服务时）来分析总拥有成本。审核工作应该体现出可能带来的好处，例如用于分析的时间与组件成本成正比。 

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

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

利用节省下来的时间，您的团队将能够专注于解决技术债务、创新和增值功能。例如，您可能需要尽快将本地环境直接迁移到云端，然后再进行优化。值得探索的是，通过使用消除或减少许可证成本的托管服务，您可以节省多少成本。托管服务消除了维护服务的运营和管理负担，让您可以专注于创新。此外，由于托管服务在云级别运行，因此可以提供更低的单位事务或服务成本。

通常，可以设置托管服务的部分属性，以确保容量足够。您必须设置和监控这些属性，以便最大限度地减少多余容量，并最大限度地提高性能。您可以使用 AWS 管理控制台或 AWS API 和 SDK 修改 AWS Managed Services 的属性，以使资源需求匹配不断变化的要求。例如，您可以增加或减少 Amazon EMR 集群（或 Amazon Redshift 集群）上的节点数量，以扩展或缩减集群。

您还可以在 AWS 资源上打包多个实例，以实现更高密度的使用量。例如，您可以在单个 Amazon Relational Database Service（Amazon RDS）数据库实例上预置多个小型数据库。随着使用量的增长，您可以使用快照和还原过程将其中一个数据库迁移到专用 Amazon RDS 数据库实例。

在托管服务上预置工作负载时，您必须了解调整服务容量的要求。这些要求通常是时间、工作量和对正常工作负载运营的任何影响。预置的资源必须留出时间来进行任何更改，并预置必要的开销以允许这样做。通过使用与系统和监控工具（如 Amazon CloudWatch）集成的 API 和开发工具包，可以将修改服务所需的持续工作量减少至接近零。

[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/) 提供托管分析服务。

[AMS](https://aws.amazon.com/managed-services/) 是代表企业客户和合作伙伴运营 AWS 基础设施的服务。它提供了一个安全且合规的环境，您可以将工作负载部署到其中。AMS 使用具有自动化功能的企业云运营模型，可以满足组织要求，更快地迁移到云中并降低持续的管理成本。

**实施步骤**
+ ** 执行彻底分析： **使用组件列表，从最高优先级到最低优先级遍历每个组件。对于优先级较高且成本较高的组件，执行额外分析并评估所有可用选项及其长期影响。对于优先级较低的组件，评估使用情况的变化是否会更改组件的优先级，然后对适当的工作进行分析。

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

 **相关文档：** 
+  [AWS 总拥有成本（TCO）计算器](https://aws.amazon.com/tco-calculator/) 
+  [Amazon S3 存储类](https://aws.amazon.com/s3/storage-classes/) 
+  [云产品](https://aws.amazon.com/products/) 

# COST05-BP04 选择具有成本效益许可的软件
<a name="cost_select_service_licensing"></a>

 开源软件无需软件许可成本，从而大大节省了工作负载的成本。如果需要许可软件，应避免使用绑定到任意属性（如 CPU）的许可证，而应使用绑定到输出或结果的许可证。这些许可证的成本与所提供的效益更为相当。 

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

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

使用开源软件可以消除软件许可成本。随着工作负载规模的扩展，这可能对工作负载成本产生重大影响。将许可软件能够带来的好处与总成本进行比较，确保拥有最优化的工作负载。对许可中的任何更改及其对工作负载成本的影响建模。如果供应商更改了数据库许可证的成本，请调查这会如何影响工作负载的整体效率。考虑供应商的历史定价公告，了解其产品中的许可更改趋势。许可成本也可以独立于吞吐量或使用量进行扩缩，例如按硬件扩缩的许可证（CPU 绑定许可证）。应避免使用这些许可证，因为成本会迅速增加，而且无法取得相应的结果。

**实施步骤**
+ ** 分析许可证选项： **查看可用软件的许可条款。查看具有所需功能的开源版本，以及许可软件提供的效益是否大于成本。优惠条款可确保软件成本与所提供的效益相符。
+ ** 分析软件提供商： **查看供应商的任何历史定价或许可变化。了解与成果不符的任何变化，例如在特定供应商硬件或平台上运行的惩罚性条款。此外，还要了解他们如何执行审计和处罚。

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

 **相关文档：** 
+  [AWS 总拥有成本（TCO）计算器](https://aws.amazon.com/tco-calculator/) 
+  [Amazon S3 存储类](https://aws.amazon.com/s3/storage-classes/) 
+  [云产品](https://aws.amazon.com/products/) 

# COST05-BP05 选择此工作负载的组件，以便根据组织的优先事项优化成本
<a name="cost_select_service_select_for_cost"></a>

 在选择所有组件时考虑成本因素。这包括使用 Amazon Relational Database Service（[Amazon RDS](Amazon%20Relational%20Database%20Service%20(Amazon%20RDS))）、 [Amazon DynamoDB](https://docs.aws.amazon.com/dynamodb/?id=docs_gateway)、Amazon Simple Notification Service（[Amazon SNS](https://docs.aws.amazon.com/sns/?id=docs_gateway)）和 Amazon Simple Email Service（[Amazon SES](https://docs.aws.amazon.com/ses/?id=docs_gateway)）等应用程序级别的托管服务降低组织的总体成本。使用无服务器服务和容器进行计算，例如 AWS Lambda、用于静态网站的 Amazon Simple Storage Service（[Amazon S3](https://docs.aws.amazon.com/s3/?id=docs_gateway)）以及 Amazon Elastic Container Service（[Amazon ECS](https://docs.aws.amazon.com/ecs/?id=docs_gateway)）。使用开源软件或不收取许可证费用的软件，尽可能减少许可证成本：例如，对计算工作负载使用 Amazon Linux，或者将数据库迁移到 [Amazon Aurora](https://docs.aws.amazon.com/rds/?id=docs_gateway)。 

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

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

您可以使用无服务器或应用程序级服务，如 [AWS Lambda](https://aws.amazon.com/lambda/)、[Amazon Simple Queue Service (Amazon SQS)](https://aws.amazon.com/sqs/)、 [Amazon SNS](https://docs.aws.amazon.com/sns/?id=docs_gateway)和 [Amazon SES](https://docs.aws.amazon.com/ses/?id=docs_gateway)。这些服务剔除了管理资源的需要，并提供代码执行、排队服务和消息传递功能。另一个好处是，它们可以根据使用量扩展性能和成本，从而实现有效的成本分配和归属。

有关无服务器的更多信息，请参阅 [《Well-Architected 无服务器应用程序剖析》白皮书](https://docs.aws.amazon.com/wellarchitected/latest/serverless-applications-lens/welcome.html)。

** 实施步骤**
+ ** 选择每个服务以优化成本： **使用经过优先级排序的列表和分析，选择最符合组织优先事项的每个选项。

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

 **相关文档：** 
+  [AWS 总拥有成本（TCO）计算器](https://aws.amazon.com/tco-calculator/) 
+  [Amazon S3 存储类](https://aws.amazon.com/s3/storage-classes/) 
+  [云产品](https://aws.amazon.com/products/) 

# COST05-BP06 对不同时间的不同使用情况执行成本分析
<a name="cost_select_service_analyze_over_time"></a>

 工作负载可能会随时间而变化。某些服务或功能在不同的使用水平下更具成本效益。通过随着时间的变化，根据每个组件的预期使用情况执行分析，工作负载可在其生命周期内保持成本效益。 

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

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

随着 AWS 发布新的服务和功能，适用于您的工作负载的最佳服务可能会发生变化。所需的工作量应反映出可能带来的好处。工作负载审核频率取决于您的组织要求。如果工作负载的成本很高，则尽早实施新服务可最大限度地节省成本，因此提高审核频率可能是有利的。审核的另一个触发因素是使用模式发生变化。使用量发生重大变化可能表明备用服务更加理想。例如，为获得更高的数据传输速率，直接连接服务可能比 VPN 便宜，并且会提供所需的连接。预测服务变更的潜在影响，以便您可以监控这些使用量水平触发器，并更快地实施最具成本效益的服务。

**实施步骤**
+ ** 定义预计使用情况模式： **与组织中的相关人员（例如市场营销部门和产品负责人）合作，记录哪些预期和预计使用情况模式适用于工作负载。
+ ** 根据预计使用情况进行成本分析：** 使用定义的使用模式，在其中每个点执行分析。分析工作应该反映潜在的结果，例如，如果使用情况变化很大，应执行彻底分析，以验证任何成本和变化。

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

 **相关文档：** 
+  [AWS 总拥有成本（TCO）计算器](https://aws.amazon.com/tco-calculator/) 
+  [Amazon S3 存储类](https://aws.amazon.com/s3/storage-classes/) 
+  [云产品](https://aws.amazon.com/products/) 