This content is outdated. This version of the Well-Architected Framework is now found at: https://docs.aws.amazon.com/en_us/wellarchitected/2022-03-31/framework/cost-optimization.html

COST 6: How do you meet cost targets when you select resource type, size and number?

Ensure that you choose the appropriate resource size and number of resources for the task at hand. You minimize waste by selecting the most cost effective type, size, and number.

Resources

Cost Optimization: EC2 Right Sizing
Amazon CloudWatch features
AWS Auto Scaling

Best Practices:

Improvement Plan

Perform cost modeling

  • Perform cost modelling. : Deploy the workload or a proof of concept, into a separate account with the specific resource types and sizes to test. You run the workload with the test data and record the output results, along with the cost data for the time the test was run. You then redeploy the workload or change the resource types and sizes and re-run the test.
  • Select resource type and size based on data

  • Select resources based on data : Using your cost modelling data, select the expected workload usage level, then select the specified resource type and size.
  • Select resource type and size automatically based on metrics

  • Configure workload metrics : Ensure you capture the key metrics for the workload. These metrics provide an indication of the customer experience, such as the workload output, and align to the differences between resource types and sizes, such as CPU and memory usage.
    CloudWatch Getting Set Up
    CloudWatch Publishing Custom Metrics
  • View rightsizing recommendations: Use the rightsizing recommendations in AWS Compute Optimizer to make adjustments to your workload.
    AWS Compute Optimizer
  • Select resource type and size automatically based on metrics : Using the workload metrics, manually or automatically select your workload resources. Configuring AWS Auto Scaling or implementing code within your application can reduce the effort required if frequent changes are required, and potentially implement changes sooner than a manual process.
    Getting Started with Amazon EC2 Auto Scaling
    Launch an EC2 Instance Using the SDK