View a markdown version of this page

COST05-BP05 选择此工作负载的组件,以便根据组织的优先事项优化成本 - AWS Well-Architected Framework

COST05-BP05 选择此工作负载的组件,以便根据组织的优先事项优化成本

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

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

实施指导

在选择所有组件时考虑服务和选项的成本。这包括使用 Amazon Relational Database Service(Amazon RDS)、Amazon DynamoDB、Amazon Simple Notification Service(Amazon SNS)和 Amazon Simple Email Service(Amazon SES)等应用程序级别的托管服务,来降低组织的总体成本。使用无服务器服务和容器进行计算,例如用于静态网站的 AWS Lambda 和 Amazon Simple Storage Service(Amazon S3)。尽可能将您的应用程序容器化,并使用 AWS 托管的容器服务,例如 Amazon Elastic Container Service(Amazon ECS)或 Amazon Elastic Kubernetes Service(Amazon EKS)。使用开源软件或没有许可证费用的软件,尽可能减少许可证成本,例如,对计算工作负载使用 Amazon Linux 或将数据库迁移到 Amazon Aurora。

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

还可以通过无服务器服务来使用事件驱动型架构(EDA)。事件驱动型架构是推送式的,所以当事件在路由器中出现时,一切都按需发生。这样,您就不会为检查事件的连续轮询而付费。这意味着更少的网络带宽消耗、更低的 CPU 使用率、更少的闲置实例集容量,以及更少的 SSL/TLS 握手次数。

有关无服务器的更多信息,请参阅《Well-Architected 无服务器应用程序剖析》白皮书。

实施步骤

  • 选择每个服务以优化成本:使用经过优先级排序的列表和分析,选择最符合组织优先事项的每个选项。与其增加容量来满足需求,不如考虑其他可以提供更高性价比的选项。例如,您需要审查您的数据库在 AWS 上的预期流量,并考虑增加实例大小或使用 Amazon ElastiCache 服务(Redis 或 Memcached),来为您的数据库提供缓存机制。

  • 评估事件驱动型架构:通过使用无服务器架构,您还可以为基于微服务的分布式应用程序构建事件驱动型架构,这有助于您构建可扩展、有弹性、敏捷且具有成本效益的解决方案。

资源

相关文档:

相关示例: