Comparison
Horizontal autoscalingvsHorizontal scaling
Horizontal autoscaling
traffic doubled and the replica count went from four to nine on its own, a minute or two after it needed to.
Adding and removing copies of a workload automatically based on a metric — CPU, memory, queue depth, request rate. It is the standard elasticity mechanism and it works well for stateless request handlers whose load metric is honest. Its two constant problems are lag, because the metric arrives after the traffic did, and flapping, which is why cooldown windows exist and why a scale signal tied to a lagging indicator makes things worse.
Full entry →Horizontal scaling
you add three more identical instances behind the load balancer instead of making the existing one bigger.
Adding more machines to spread load. It has no ceiling in principle and gives you redundancy for free, which vertical scaling does not. It requires the work to be partitionable and the instances to be stateless, and it moves your bottleneck to whatever is still shared — usually the database.
Full entry →