How does capacity follow demand, and why is new capacity always late?

Autoscaling & Health

Horizontal, vertical, scheduled and metric-based scaling; choosing the signal that represents workload pressure rather than the one that is easiest to read; startup time as the reason scaling lags; and health checks — including the liveness/readiness confusion that turns a deploy into an outage.

Autoscaling▶ lab

Capacity that follows demand instead of a human. Horizontal, vertical, scheduled and metric-based scaling, what each one actually changes — and why every one of them reacts to load that has already arrived.

Q · How does the amount of capacity running follow the amount of demand arriving, without a human watching a graph?

Autoscaling Signals

Scale on the signal that represents workload pressure. CPU is the default and it is frequently the wrong answer — an I/O-bound service saturates its connection pool at 30% CPU while the scaler reports everything is fine.

Q · Which measurement should decide how much capacity is running — and why is the easiest one to read usually the wrong one?

Startup Time & Cold Start▶ lab

New capacity does not appear when you ask for it. Decompose the delay — metric window, decision, provisioning, image pull, runtime boot, warm-up, health check — and the reason autoscaling always looks late stops being mysterious.

Q · Why does capacity requested now start serving traffic minutes from now, and which part of that delay can I actually shorten?

Health Checks

The mechanism that decides which instances receive traffic. A check that only proves the web framework is running proves nothing; a check that verifies every dependency turns one slow dependency into a total outage.

Q · How does the load balancer decide which instances are allowed to receive requests, and what should that check actually verify?

Liveness vs Readiness▶ lab

Two probes answering two different questions. Liveness asks whether the process is alive enough to continue; readiness asks whether it can serve traffic right now. Confusing them turns a database blip into a fleet-wide crash loop.

Q · What is the difference between "restart this process" and "stop sending it traffic", and why does confusing them cause outages?