Search for Well Architected Advice
< All Topics
Print

Implement buffering or throttling to flatten the demand curve

Implementing buffering and throttling techniques can significantly optimize resource consumption within your cloud environment. By flattening demand spikes, these methods allow for a stable use of resources throughout periods of variations, which is critical for achieving sustainability goals.

Best Practices

  • Dynamic Scaling: Enable automatic scaling for your workloads to adjust capacity based on real-time demand. This not only reduces costs but also minimizes resource waste. Utilize AWS Auto Scaling to add or remove instances in response to changing traffic patterns.
  • Load Balancing: Utilize AWS Elastic Load Balancing to distribute incoming application traffic across multiple targets, such as Amazon EC2 instances. This ensures even resource usage and helps prevent any single resource from being overwhelmed, supporting a more sustainable infrastructure.
  • Capacity Reservations: Use AWS Capacity Reservations to ensure you have enough capacity to meet demand without over-provisioning. This helps in identifying the necessary resources and aligns them with user demand effectively.

Supporting Questions

  • Is there a significant variation in demand for your workloads?
  • Have you reviewed resource usage analytics to identify bottlenecks?
  • Are your current provisioning strategies adaptable to sudden demand spikes?

Roles and Responsibilities

  • Cloud Architect: Responsible for designing and implementing scalable architectures that effectively manage resource demand.
  • DevOps Engineer: Tasked with automating monitoring and scaling operations to ensure alignment between demand and cloud resources.

Artifacts

  • Resource Utilization Reports: Regular reports that analyze the usage patterns of cloud resources against demand. These reports help in identifying areas for optimization.
  • Scaling Policies Documentation: Documentation outlining scaling strategies and policies implemented within the cloud environment, which guides consistent application of buffering and throttling.

Cloud Services

AWS

  • AWS Auto Scaling: Automates the scaling of Amazon EC2 instances based on defined conditions, ensuring resource usage aligns closely with demand.
  • Amazon CloudWatch: Provides monitoring and observability of resource utilization, allowing teams to set alarms and trigger scaling actions effectively.
  • Amazon API Gateway: Allows for request throttling, enabling controlled access to backend services while managing load and ensuring sustainability.

Question: How do you align cloud resources to your demand?
Pillar: Sustainability (Code: SUS)

Table of Contents