Chapter 17. Scaling up and down: auto-scaling and CloudWatch
This chapter covers
- Creating an auto-scaling group with launch configuration
- Using auto-scaling to change the number of virtual machines
- Scaling a synchronous decoupled app behind a load balancer (ALB)
- Scaling an asynchronous decoupled app using a queue (SQS)
Suppose you’re organizing a party to celebrate your birthday. How much food and drink do you need to buy? Calculating the right numbers for your shopping list is difficult:
- How many people will attend? You received several confirmations, but some guests will cancel at short notice or show up without letting you know in advance. So the number of guests is vague.
- How much will your guests eat and drink? Will it be a hot day, with everybody drinking a lot? Will your guests be hungry? You need to guess the demand for food and drink based on experiences from previous parties.
Solving the equation is a challenge because there are many unknowns. Behaving as a good host, you’ll order more food and drink as needed, and no guest will be hungry or thirsty for long.
Planning to meet future demands is nearly impossible. To prevent a supply gap, you need to add extra capacity on top of the planned demand to prevent running short of resources.