

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

 为工作负载选择所有组件时考虑成本因素。这包括使用应用程序级服务和托管服务或无服务器、容器或事件驱动型架构，以降低总体成本。使用开源软件、没有许可费用的软件或替代方案来尽可能减少许可成本，从而减少开支。

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

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

 在选择所有组件时考虑服务和选项的成本。这包括使用应用程序级服务和托管服务（例如 [Amazon Relational Database Service](https://aws.amazon.com/rds/)（Amazon RDS）、[Amazon DynamoDB](https://aws.amazon.com/dynamodb/)、[Amazon Simple Notification Service](https://aws.amazon.com/sns/)（Amazon SNS）和 [Amazon Simple Email Service](https://aws.amazon.com/ses/)（Amazon SES）来降低总体组织成本。

 使用无服务器和容器进行计算，例如将 [AWS Lambda](https://aws.amazon.com/lambda/) 和 [Amazon Simple Storage Service（Amazon S3）](https://aws.amazon.com/s3/)用于静态网站。尽可能将应用程序容器化，并使用 AWS 托管容器服务，例如 [Amazon Elastic Container Service（Amazon ECS）](https://aws.amazon.com/ecs/)和 [Amazon Elastic Kubernetes Service](https://aws.amazon.com/eks/)（Amazon EKS）。

 使用开源软件或没有许可费用的软件，尽可能减少许可成本：例如，对计算工作负载使用 Amazon Linux 或将数据库迁移到 Amazon Aurora。

 可以使用无服务器服务或应用程序级服务，例如 [Lambda](https://aws.amazon.com/lambda/)、[Amazon Simple Queue Service（Amazon SQS）](https://aws.amazon.com/sqs/)、[Amazon SNS](https://aws.amazon.com/sqs/) 和 [Amazon SES](https://aws.amazon.com/ses/)。这些服务消除了管理资源的需要，并提供代码执行、服务排队和消息传递功能。另一个好处是，这些服务可以根据使用情况横向缩减性能和成本，从而实现有效的成本分配和归属。

 对于无服务器服务，也可以使用[事件驱动型架构](https://aws.amazon.com/what-is/eda/)。事件驱动型架构是推送式的，所以当事件在路由器中出现时，一切都按需发生。这样，您就不会为检查事件的连续轮询而付费。这意味着更少的网络带宽消耗、更低的 CPU 利用率、更少的闲置实例集容量，以及更少的 SSL/TLS 握手次数。

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

### 实施步骤
<a name="implementation-steps"></a>
+  **选择每项服务以优化成本：**使用经过优先级排序的列表和分析，选择最符合组织优先事项的每个选项。与其增加容量来满足需求，不如考虑其他可以提供更高性价比的选项。例如，您需要审查数据库在 AWS 上的预期流量，并考虑增加实例大小或使用 Amazon ElastiCache 服务（Redis 或 Memcached），为数据库提供缓存机制。
+  **评估事件驱动型架构：**通过使用无服务器架构，您还可以为基于微服务的分布式应用程序构建事件驱动型架构，这有助于您构建可扩展、有韧性、敏捷且具有成本效益的解决方案。

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

 **相关文档：**
+  [AWS 总拥有成本（TCO）计算器](https://aws.amazon.com/tco-calculator/) 
+  [AWS 无服务器](https://aws.amazon.com/serverless/) 
+  [什么是事件驱动型架构](https://aws.amazon.com/what-is/eda/) 
+  [Amazon S3 存储类](https://aws.amazon.com/s3/storage-classes/) 
+  [云产品](https://aws.amazon.com/products/) 
+  [Amazon ElastiCache（Redis OSS）](https://aws.amazon.com/elasticache/redis) 

 **相关示例：**
+  [Getting started with event-driven architecture](https://aws.amazon.com/blogs/compute/getting-started-with-event-driven-architecture/) 
+  [事件驱动型架构](https://aws.amazon.com/event-driven-architecture/) 
+  [How Statsig runs 100x more cost-effectively using Amazon ElastiCache (Redis OSS)](https://aws.amazon.com/blogs/database/how-statsig-runs-100x-more-cost-effectively-using-amazon-elasticache-for-redis/) 
+  [Best practices for working with AWS Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html) 