We were halfway through a routine capacity increase when the provisioning simply stopped. No error we recognised, no failure in our code, just a polite API response explaining that we had reached a limit on a resource type I had never once thought about in four years of running that platform. It was Friday afternoon, traffic was climbing toward an expected peak, and the thing standing between us and the machines we needed was not technology. It was an account-level number, set by default, that we had never inspected because nothing had ever pressed against it before.
The seductive promise of cloud is that capacity is effectively infinite and available on demand. That is true in the sense that the provider has plenty of hardware. It is not true of your account, which sits inside a lattice of soft limits on instances, addresses, network interfaces, API request rates and a dozen other things you never consider until one of them becomes the wall you hit. These limits are invisible while you are comfortably inside them, which means you almost always discover them at the exact moment you are trying to grow, which is the worst possible moment.
What made it worse was that raising the limit was not a technical operation. It was a support ticket, in a queue, with a human turnaround time measured in hours or occasionally days. Every incident-response instinct I had was useless. There was nothing to restart, nothing to roll back, no clever workaround in our own code. We could only submit a request and wait, watching our own graphs climb toward the ceiling we now knew about.
Since then I treat quotas as part of the architecture, documented alongside the diagrams, because functionally that is what they are. I want to know the current headroom on the resources we scale most aggressively, I want alerts when consumption crosses a comfortable fraction of the ceiling rather than when it touches it, and I want the increases requested during a calm week rather than during an incident. Capacity planning in the cloud is not only about money. It is about permission.
Elastic infrastructure still has edges. You just do not get to see them until you are standing on one.
– Serguey Shinder
Top comments (0)