Kubernetes over-provisioning is causing cloud bills to skyrocket – and developer resource anxiety is a key factor

Kubernetes concept art image showing digital ship wheel and miniature containers.
(Image credit: Getty Images)

Kubernetes over-provisioning is among the leading causes of soaring cloud costs, according to new research.

Only 13% of provisioned CPUs and 20% of provisioned memory was utilized by DevOps teams in Kubernetes clusters of 50+ CPUs, according to CAST.AI's 2024 Kubernetes Cost Benchmark report. 

In larger clusters with 1,000 CPUs or more the rate of CPU utilization was only marginally higher, at 17%.

‘Megaclusters’ with 30,000 CPUs or more, though, were utilized at a rate of around 44%, likely owing to the “attention they receive from the large DevOps teams managing them.”

The report puts this over-provisioning down to an anxiety on the behalf of DevOps teams. Out of a fear of running out of memory, they provision for too great a size of Kubernetes clusters. 

These oversized clusters are then left largely “idle in the background,” heightening cloud costs, the study noted. A similar effect is achieved when CPU and memory requests are set “higher than what Kubernetes applications actually require”, leading to further wasted capacity.

For example, the report's analysis of “Spot instance” pricing found that costs had increased by 25% across US AWS regions

This is a problem with general Kubernetes practice across the board as well, the report noted, with DevOps teams on all the major platforms reporting cloud waste as a result of over-provisioning.

Though cloud waste is slightly lower on Google Cloud Platform (GCP) at 17% utilization, utilization rates on Amazon Web Services (AWS) and Microsoft’s Azure both sit at rates of 11%. 

The report forecasts this trend to continue as the gap between provisioned and requested CPUs has widened over the last few years from 37% to 43%. 

“As more companies adopt Kubernetes, cloud waste will likely continue to grow,” CAST said. 

The report was compiled from an analysis of 4,000 clusters of at least 50+ CPUs running on AWS, GCP and Microsoft’s Azure. 

Kubernetes costs have been rising steadily in recent years

Kubernetes has been causing cost issues for a while now. A 2023 survey by Civo found that 10% of developers have experienced a 50% rise in annual spending, while the majority saw an increase of up to 25% in spending.

Organizations and enterprise Kubernetes users need to move towards the use of more customized instance sizes, CAST's report suggests. 

Many DevOps teams start by defining workloads and then scouring cloud inventories for the best tools, but most big cloud providers provide an overwhelming “scale” of options.

This means most teams just choose options they know, often leading to the underutilization of other resources that they have paid for. 

Instances that are dynamic and automated, however, can ensure that clusters are automatically optimized. 

It's also important that teams set “accurate requests calls for the ability to constantly monitor resource consumption,” allowing them in turn to adjust requests as needed. 

George Fitzmaurice
Staff Writer

George Fitzmaurice is a staff writer at ITPro, ChannelPro, and CloudPro, with a particular interest in AI regulation, data legislation, and market development. After graduating from the University of Oxford with a degree in English Language and Literature, he undertook an internship at the New Statesman before starting at ITPro. Outside of the office, George is both an aspiring musician and an avid reader.