Search for Well Architected Advice
< All Topics
Print

Configure and right-size compute resources

Configuring and right-sizing compute resources is essential for matching your workload’s performance requirements. This practice helps prevent under-utilization of resources, which can waste costs, as well as over-utilization, which can lead to performance degradation. Proper selection ensures optimal performance efficiency in the AWS cloud environment.

Best Practices

  • Evaluate Workload Requirements: Assess performance metrics, scaling patterns, and expected traffic to determine the right instance types and sizes. This proactive evaluation allows you to optimize performance and cost by selecting compute resources that best fit the workload’s needs.
  • Utilize Monitoring Tools: Employ AWS CloudWatch or third-party monitoring tools to observe performance trends and resource utilization over time. This data will guide you in making informed decisions about adjusting compute resources to meet changing demands.

Supporting Questions

  • Are you regularly monitoring resource utilization against workload performance metrics?

Roles and Responsibilities

  • Cloud Architect: Responsible for defining the compute resource requirements based on application design and use cases, ensuring alignment with performance goals.
  • DevOps Engineer: In charge of implementing performance monitoring and scalability solutions that adjust compute resources as needed, ensuring efficient performance.

Artifacts

  • Compute Optimizer Reports: AWS Compute Optimizer provides recommendations for optimal compute resource configurations, based on your usage patterns and needs.
  • Performance Monitoring Dashboards: Custom dashboards can be created in AWS CloudWatch to visualize and analyze the performance and utilization of compute resources.

Cloud Services

AWS

  • Amazon EC2: Amazon Elastic Compute Cloud (EC2) allows you to dynamically scale your compute capacity and provides the flexibility to choose instance types that match your application’s needs.
  • AWS Lambda: AWS Lambda enables you to run code in response to events without provisioning or managing servers, automatically adjusting compute resources according to the workload.
  • Amazon ECS/EKS: Amazon Elastic Container Service (ECS) and Amazon Elastic Kubernetes Service (EKS) allow for efficient management of containerized applications, scaling to meet demand while optimizing compute resource usage.

Question: How do you select and use compute resources in your workload?
Pillar: Performance Efficiency (Code: PERF)

Table of Contents