Autoscaling lag and headroom
How much headroom must you hold for a given ramp and loop delay?
Autoscaling lag and over-provisioning
A control loop cannot regulate anything faster than its own delay. Here that rule turns into a purchase order. Required headroom = ramp rate × total loop delay, where the loop delay is the sum of four steps: detect, decide, provision, warm.
Reactive autoscaling handles growth curves, never spikes; a spike is absorbed only by idle capacity, a queue or shed load (autoscaling). Here the first of those is the line on the bill: idle capacity is paid in dollars, and the headroom above is how many.
Asymmetric scaling is hysteresis you buy on purpose
The universal resolution is to scale up fast and down slowly. It costs money by construction. You deliberately keep capacity you do not need, to avoid flapping (adding and removing machines in a loop). The width of the hysteresis band is the size of the bill.
Two limits sit outside the formula. Scale-down is slower than scale-up, and that is where the money is: draining, long-lived connections and minimum lifetimes mean you pay for what you cannot release yet. And quotas and capacity limits are unpriced but binding: you cannot scale to 500 machines if your account limit is 200, or if the region has no spare capacity.