Customers pay extra for the option to scale down.
Most fleets rarely use it.

The pitch was beautiful, compute supplied so that it perfectly traces your demand curve, wiggle for wiggle, and you never pay for idle capacity. In practice, cloud fleets scale up in minutes and come down slowly, partially, or never.  The technical ability to scale down is there, but contracts for reserved capacity make it pointless.  You pay for the servers whether they run or not.

The industry’s own numbers say the same. Flexera’s 2026 State of the Cloud survey puts wasted cloud spend at 29%, the first increase in five years. That is after a decade of autoscaling, FinOps teams and cost dashboards.

A real comparison: 330 workloads, two ways

Say a team runs 330 small workloads, each a VM with 2 vCPUs, 8 GB of RAM and 50 GB of storage, together serving 50 TB of traffic a month to the internet. Every November and December, holiday traffic adds 110 more workloads and a third more traffic. Here is the year, both ways, with storage, egress and networking counted on both sides.

 Public cloud, 1-year commitmentPrivate cloud, 3-server cluster,1-year term
Monthly bill$23,100$11,400
Cost per workload$70$34.55
Can it scale down?No. The commitment bills either way.Doesn’t need to.
Holiday: 110 extra workloads for 2 months+$20,500 (on-demand, about $93 each, plus extra egress)+$8,400 (one extra server; the extra traffic fits in included bandwidth)
Year total$298,100$145,200

Private cloud figures place 2 vCPUs on each CPU thread, half of OpenStack’s default of 4, and memory is not overcommitted. The cluster runs at 86% of its memory and 64% of its storage. Neither side includes staff time or OpenMetal’s optional Assisted Management. The public cloud side leaves out cross-zone traffic, NAT data charges and public IP fees, all of which would only raise it.

The private cluster costs about half as much, holiday spike included. The commitment that made public cloud cheaper is the same thing that stops it from scaling down.

What’s in each monthly bill

Network costs are where public cloud bills tend to surprise people, so here is every line of the monthly bill above.

 Public cloudPrivate cloud
Compute, 330 VMs$16,870 (Savings Plan, $51.11 each)$11,400 for 3 servers, covering every line below
Block storage, 16.5 TB$1,320Included (NVMe, 3 copies of every block)
Internet egress, 50 TB$4,390Included (18 Gbps included; this traffic needs about 0.3 Gbps)
Load balancer$425Included (OpenStack load balancing)
NAT gateways, 3 zones$100Included (OpenStack routers)
Total$23,100$11,400

Egress alone is about a fifth of the public cloud bill, and it grows with every gigabyte served. On the private cloud, bandwidth is part of the flat price, billed only if the 95th-percentile rate goes past what’s included. Double the traffic to 100 TB and the public bill rises about $4,000 a month. The private bill doesn’t change.

What if the cluster isn’t full?

Fair question. A private cloud costs the same whether it is full or half empty, and so does a public cloud commitment. So divide each bill by what actually runs:

Capacity filledWorkloads runningPrivate cloud, per workloadPublic cloud reserved, per workloadPublic cloud on-demand, per workload
100%330$34.55$70$96
80%264$43.20$83$96
50%165$69.10$122$97
40%132$86.40$148$97

Against reserved public cloud, the private cluster costs about half as much when full, and stays well below it at every fill level. On-demand is the only option that truly shrinks, and private still costs less until the cluster is nearly two-thirds empty.

When the forecast is wrong. Plan for 330 workloads and only 165 show up: the public cloud commitment still bills $16,900 for compute, or $102 for each workload you actually run ($122 once storage, egress and networking are added). The private cluster costs $69.10 each, everything included. Now say demand doubles to 660. Public cloud bills the extra 330 at on-demand rates, about $31,000 more a month. The private cloud adds three more servers for $12,700 and stays under $37 per workload, with the doubled traffic still inside its included bandwidth. Fixed capacity is cheaper whether you guess too high or too low.

Neither option follows demand down

The chart below shows one year of demand under both ways of buying public cloud. Reserved capacity is a flat line: you commit to your peak and pay for it every month, busy or not. On-demand capacity jumps the moment demand rises, then comes down slowly, if at all. Either way, you pay for capacity you don’t use. The reserved fleet used 68% of what it paid for. The on-demand fleet used 85%, at a higher hourly rate.

Capacity vs demand

Three forces keep on-demand capacity from coming down:

  • Shrinking is risky; staying big is someone else’s problem. Scale down too far and there’s an outage. Stay big and the cost shows up weeks later, in a bill finance owns. So teams set long cooldowns and high minimums. Capacity stays high.
  • Systems that hold data can’t easily shrink. Databases, caches, queues and search clusters are sized for peak and stay there.
  • Nobody’s job is turning things off. Engineers are rewarded for keeping systems up, not for shutting capacity down. Servers added for a launch, a test or an incident tend to outlive the reason they were added.

The data agrees. Across hundreds of AWS customers, Datadog found 83% of container spend went to idle resources, with over-provisioned clusters the largest share. Flexera reports that more than half of organizations still pay on-demand rates.

The Choice: Reserved Discounts or On Demand with Elasticity

To shrink the premium, hyperscalers sell Reserved Instances and Savings Plans.  Commit to a level of spend for one to three years and get a lower rate.  To get the discount, you give up elasticity.

So you have two choices. Pay full price to keep the option to scale down. Or, commit for a year or more and pay for a fixed amount of capacity, used or not. That’s the same deal a private cloud offers, only at a higher price. If you’re going to commit either way, commit where it costs less.

The risk is real enough that a market has grown up to insure it. Archera, for example, sells guarantees that cover unused commitment if a customer’s usage drops. When you need insurance against your cloud not shrinking, the elasticity story is over.

Your bill has the answer

Pull last quarter’s bill and answer two questions:

  1. How many workloads ran every single day?
  2. What did each one cost per month?

If a small, always-on VM (2 vCPUs, 8 GB, plus its share of storage, egress and networking) costs you more than about $57 a month, which is what this private cluster costs per workload even when it is only 60% full, it belongs on a private cloud. Keep true one-off spikes, and managed services you would rather not run yourself, wherever they are cheapest. Just stop paying elastic prices for work that never moves.


Sources