The idea of auto scaling sounds simple. When CPU is high, add more servers; when it's low, remove some. But once you actually implement it, unexpected problems surface. During the two minutes it takes a new instance to come up, CPU pegs at 100% and triggers another scale-out. An in-flight order on a terminating instance vanishes. Users flood in every morning at 9:00, but Target Tracking only reacts after CPU has already climbed.
This article covers how AWS Auto Scaling Group (ASG) solves these problems — including its internal design principles and its grounding in control theory