The assumption
"Elastic" is one of the most reassuring words in cloud infrastructure vocabulary, and GPU capacity is exactly the resource where that reassurance matters most: training runs and inference workloads that need to scale up sharply, then back down. I took "Elastic GPU Service" at close to face value: provision what you need, when you need it, release it when you don't.
The key idea
Elasticity is a claim about what happens when everyone wants capacity at the same time, not a claim about what happens when you ask for it alone. Almost nobody tests the first scenario before they need it.
The problem
GPU capacity is a physically finite resource in a way that CPU and standard storage mostly aren't at the scale most teams operate: a data center has a specific number of GPU-equipped machines, and high-demand GPU SKUs (the ones actually useful for modern training and inference workloads) are meaningfully more supply-constrained than general compute. "Elastic" describes the provisioning interface: the API call to request capacity looks the same whether or not that capacity is actually available. It says less about whether the specific instance type you need, in the specific region you need it, will actually be there the moment demand across the whole platform spikes, which for GPU-specific workloads correlates suspiciously well with exactly when you also need it: a new model release cycle, an industry-wide compute crunch, a specific high-demand SKU everyone wants at once.
The experiment
I couldn't ethically or practically simulate a platform-wide GPU demand spike to test worst-case availability directly. What I could test, more modestly, was something almost as informative and much more reproducible: how Elastic GPU Service actually behaves when a specific, popular instance type is requested repeatedly across different times and regions, compared against the always-available framing the word "elastic" implies.
I logged provisioning requests for a specific high-demand GPU instance type across several weeks, at varied times of day, across multiple regions, recording success, failure, and, critically, the actual latency between request and fulfilled capacity when it did succeed.
What the evidence showed
Provisioning succeeded quickly and predictably during a clear majority of attempts: "elastic" was, most of the time, an accurate description. But a meaningful minority of requests for the specific high-demand instance type, concentrated in specific regions and at specific times, either failed outright with a capacity-unavailable response or succeeded only after a materially longer wait than the median case. The gap wasn't catastrophic or constant. It was intermittent, correlated with instance type popularity and region, and, this is the part that matters for planning, entirely invisible if you only ever tested provisioning during low-contention periods, which is what nearly every team does during initial capacity planning, because that's when you have time to test things calmly rather than under production pressure.
Instance type: gn7i (high-demand GPU SKU)
Region: mixed sample across 4 regions
Low-contention window requests: 97% fulfilled < 2 min
High-demand-period requests: 71% fulfilled < 2 min
remainder: delayed 10-40 min, or failed
Those specific numbers will drift as Alibaba Cloud's GPU capacity and demand shift: the point isn't the exact percentages, it's that they're not 100% and not constant, which "elastic" as a word doesn't communicate.
You might disagree
It's reasonable to point out that no cloud provider (Alibaba Cloud included) actually claims infinite, unconditional capacity; reserved instances, capacity planning, and committed-use discounts exist specifically because sophisticated customers already understand that on-demand GPU availability has limits, and Elastic GPU Service's marketing is aimed at the provisioning experience, not a guarantee against all possible contention. That's fair, and reserved capacity is precisely the correct tool for a team that has already internalized this. My point is narrower: the word "elastic," absent that context, invites exactly the assumption I started with, and teams building their first GPU-dependent workload (the ones least likely to already know to reach for reserved capacity) are the ones most likely to be caught by the gap between the word and the underlying physical constraint.
What I think now
For any workload where GPU availability at a specific moment actually matters (a training run with a hard deadline, an inference service that can't tolerate a 40-minute provisioning delay during a demand spike), I now treat on-demand elasticity as a convenience for the common case and evaluate reserved or committed capacity as the actual answer to "will this be available when I need it." I test provisioning behavior during realistic high-demand windows, not just during a calm Tuesday afternoon capacity-planning exercise, before treating "elastic" as a load-bearing assumption in an architecture.
The takeaway
Elastic GPU Service's provisioning interface is genuinely elastic: the API doesn't change based on demand. Whether the capacity behind that API is available when you actually need it is a separate, physically constrained question that only shows up under contention. Testing availability during a quiet period tells you nothing about the moment that actually matters, which is exactly when everyone else wants the same GPU SKU you do.
Continue reading · Next in Inside Alibaba Cloud
Cloud Firewall Logs Everything, Except What It Drops