Search for Well Architected Advice
< All Topics
Print

Obtain resources upon detection that more resources are needed for a workload

Designing for elasticity ensures that your resources scale dynamically based on current demand. This capability not only maintains performance but also minimizes costs by preventing over-provisioning. Understanding how to automatically adjust resources plays a crucial role in enhancing the reliability of your workload.

Best Practices

  • Implement Auto Scaling: Utilize AWS Auto Scaling to automatically adjust your compute resources in response to demand spikes or drops. This proactive scaling approach minimizes response time and keeps workloads running efficiently, ensuring high availability without unnecessary resource expenditure.

Supporting Questions

  • Do you have monitoring systems in place that trigger resource scaling?

Roles and Responsibilities

  • Cloud Architect: Responsible for designing scalable architectures that incorporate auto-scaling best practices to ensure smooth adaptation to varying workloads.
  • DevOps Engineer: Manages continuous integration/continuous deployment (CI/CD) pipelines and monitors performance metrics to ensure proper scaling mechanisms are activated.

Artifacts

  • Auto Scaling Group Configuration: Defines the parameters for your Auto Scaling groups, including desired capacity and scaling policies to manage resources effectively.
  • Monitoring Dashboard: A centralized view of the workload metrics and performance indicators that inform decisions about when to scale resources.

Cloud Services

AWS

  • Amazon EC2 Auto Scaling: Automatically adjusts the number of Amazon EC2 instances in response to demand, ensuring your applications run efficiently and reliably.
  • AWS CloudWatch: Provides monitoring and observability of resource utilization, which triggers scaling actions based on defined thresholds.

Question: How do you design your workload to adapt to changes in demand?
Pillar: Reliability (Code: REL)

Table of Contents