Cloud Native Tips & Tricks

GPU procurement in a shortage: on-demand vs reserved vs committed

How to buy cloud GPUs when capacity is scarce: on-demand prices, capacity blocks and flex-start, committed contracts, and how to compare GPU providers beyond the hourly price.

Cloud GPUs are sold in three ways. On-demand capacity is billed by the hour with no commitment, but the newest GPUs are often unavailable when you need them. Short-term reservations, such as AWS Capacity Blocks or Google Cloud’s flex-start VMs, guarantee capacity for days or weeks. Committed contracts reserve GPUs for a year or more at a lower rate. Most of the H100, H200, B200, and B300 capacity in the market is sold through the last two, which is why on-demand pricing pages only show part of the picture.

This post compares the three models, shows what on-demand GPUs cost across providers, and lists what to check before you sign.

On-demand: flexible, when you can get it

On-demand GPUs are the easiest to start with: create an instance, pay by the hour, delete it when the job is done. Prices vary widely between providers for the same GPU. These are public on-demand list prices per GPU per hour from providers’ own pricing pages at the time of writing, with AWS prices for US East:

GPUHyperscalersSpecialized GPU clouds
H100 80 GBAWS p5 $6.88, Google Cloud a3 $11.06Denvr $2.45, Hyperstack $3.20, Crusoe $3.90, Lambda from $3.99, Verda $4.89
H200 141 GBAWS p5en $7.91, Azure ND H200 v5 $10.60Crusoe $4.29, Nebius $5.40, Together AI $5.99, CoreWeave $6.31
B200 180 GBAWS p6-b200 $14.24, Google Cloud a4 $8.06 with flex-startHyperstack $6.00, Lambda from $6.69, Together AI $8.19, CoreWeave $8.60
B300 288 GBAWS p6-b300 $17.80FPT $6.99, Hyperstack $7.40, Civo $7.49, Crusoe $8.96, Nebius $9.50

In Europe, OVHcloud lists H100 at €2.80 and H200 at €5.25 per GPU per hour, and Scaleway lists H100 at €3.17 and B300 at €7.50. Prices exclude VAT, change often, and differ by region. For the newest GPUs, see where to rent NVIDIA B300. The full list, with interconnects and locations, is on the GPU Kubernetes page.

The catch is availability. A price on a pricing page does not mean capacity in a region today, and the newest rack-scale systems such as GB200 and GB300 NVL72 are sold almost only through reservations. On-demand works best for development, inference that scales with traffic, and bursts on top of a reserved base.

Short-term reservations: capacity for days or weeks

Hyperscalers sell guaranteed GPU capacity for fixed windows, aimed at training runs and fine-tuning jobs that need many GPUs for a known period.

AWS Capacity Blocks for ML reserve GPU instances such as p5, p5en, p6-b200, and p6-b300 for a future window. You can book up to eight weeks ahead, with up to 64 instances per block and 256 across blocks. The price depends on supply and demand at the time of purchase, is paid up front, and does not change afterward. Blocks cannot be canceled, and Savings Plans and Reserved Instance discounts do not apply. Instances in a block are placed close together in EC2 UltraClusters for low-latency networking.

Google Cloud flex-start VMs, part of Dynamic Workload Scheduler, queue your request until capacity is available and then run for up to seven days. You pay only while the VMs run, not while the request waits, at a discount to on-demand.

Many specialized GPU clouds also sell reserved clusters with InfiniBand networking, quoted on request.

Committed contracts: the base of the market

For steady workloads, one-year to three-year reservations are where most capacity and the lowest rates are. GPU clouds, hyperscalers, and marketplaces quote these individually. Some marketplaces start reserved terms at 12 months. The rate is lower than on-demand, but the commitment is real: you pay for the GPUs whether or not your workloads use them, and the hardware generation is fixed for the term.

A committed contract makes sense when you know your baseline: the GPUs that run training and inference around the clock. Committing beyond that baseline turns into paying for idle capacity.

Choosing a buying model

WorkloadBuying model
Experiments, notebooks, developmentOn-demand
Inference that follows trafficReserved base, on-demand for peaks
A training run of days or weeksCapacity blocks, flex-start, or a short GPU cloud reservation
Continuous training and production inferenceCommitted contract for the baseline
Interruptible batch jobs with checkpointsSpot or preemptible capacity where available

Most teams end up with a mix: committed capacity for the baseline, short reservations for large runs, and on-demand for everything that comes and goes.

What to compare besides the hourly price

The per-GPU price is the easiest number to compare and rarely the one that decides the deal. Before signing, check:

Running on capacity from several providers

The best price for each part of your workload is rarely at one provider. A training reservation at a GPU cloud, on-demand inference GPUs in a hyperscaler region close to users, and a few servers in your own data center are a common combination, and without a common platform each becomes its own environment.

Cloudfleet runs them as one Kubernetes cluster. Reserved nodes join the cluster as soon as the provider hands them over, through the Cloudfleet API, Terraform, or a single CLI command, and node auto-provisioning adds on-demand GPUs from your AWS and Google Cloud accounts when demand spikes. Workloads choose a GPU with labels such as cfke.io/accelerator-name, as the GPU workloads documentation describes. You contract and pay providers directly, with no markup on compute.

On the buying side, the Cloudfleet team works closely with most infrastructure providers and helps you source GPU capacity: one request with your GPU model, count, interconnect, term, and location, and concrete on-demand, reserved, or committed offers in return. For the difference between that and a GPU marketplace, see GPU marketplace vs managed GPU Kubernetes.

Frequently asked questions

What is the cheapest cloud GPU?

It depends on the GPU and the term. For H100, public on-demand list prices range from about $2.45 to $11 per GPU per hour across providers, with specialized GPU clouds usually below the hyperscalers. Reserved and committed contracts are lower still, but are quoted individually.

Is there still a GPU shortage?

For the newest GPUs, yes. B200, B300, and rack-scale GB200 and GB300 systems are mostly sold through reservations and committed contracts, and on-demand capacity is often unavailable in popular regions. Inference GPUs such as L4 and L40S are listed on demand at most hyperscalers and European clouds.

Should I buy GPUs on demand or reserved?

Buy reserved or committed capacity for the GPUs you use around the clock, and on-demand for everything above that baseline. Use short-term reservations such as AWS Capacity Blocks or Google Cloud flex-start for training runs with a known duration.

How do I rent a GPU cluster?

Specialized GPU clouds and hyperscalers rent clusters of 8-GPU nodes with InfiniBand or RoCE networking, on demand for some GPUs and as reservations for most. To run workloads on the cluster, join the nodes to a Kubernetes platform such as Cloudfleet, which handles drivers, scheduling, and scaling.

See Cloudfleet in action

Book a call with our team for a guided tour of the platform. We will walk you through managed Kubernetes across cloud, datacenter, and edge, and answer your questions.

Request a demo