Chapter 3 of 10All chapters
Chapter 3 of 10
Scaling
Up, out and the cost of each.
Two directions
Scaling up buys a bigger machine and needs no code changes, until you reach the largest machine available. Scaling out adds machines and needs coordination, but has no ceiling.
- Scale up first: it is cheaper in engineering time than distributed complexity.
- Scale out when you need redundancy as well as capacity.
Load balancing
A load balancer spreads requests and removes unhealthy instances. Health checks are the part people forget, and they are what makes failure invisible to users.