Skip to content

Case study

A Fortune 500 financial services company releases $329K a year in idle Kubernetes capacity

Using Kyverno scale-down policies managed through Nirmata, the platform team scaled down 1,945 idle deployments across two clusters and released 579 CPU cores and 4.5 TiB of memory.

Fortune 500 Financial Services by the numbers

Estimated annual infrastructure cost released
$329K
Deployments scaled down
1,945
CPU cores released
579.1
GiB memory released
4,539.5

Challenge

The challenge

The company runs large, shared Kubernetes clusters serving hundreds of application teams. Over time, deployments that were no longer in active use kept holding their CPU and memory requests. That reserved capacity kept nodes running and made clusters look full, even though much of it was doing no work.

Solution

How the scale-down policies work

The platform team used Kyverno, the CNCF policy engine, with Nirmata to enforce scale-down as policy. Rules apply the same way across every namespace, so no team has to chase owners or run manual clean-up projects, and every action is recorded in a policy report.

  1. Identify. Kyverno evaluates deployments against the agreed scale-down criteria across every namespace.
  2. Scale to zero. Matching deployments are scaled down, releasing their CPU and memory requests back to the cluster.
  3. Flag. Workloads that stay unused are labeled allow-delete for owner review.
  4. Report. A per-cluster report tracks deployments, namespaces and capacity released.

Scaled-down workloads keep their configuration, so owners can restore them in seconds. Nothing is deleted without the allow-delete marker.

Results

Results

Policy reports dated 23 September 2026. Monthly and annual cost use the standard pricing described below.

Scale-down activity
ClusterDeployments scaled downMarked allow-deleteNamespaces affected
Cluster 11,12114393
Cluster 28247256
Total1,94521649
Capacity released and cost
ClusterCPU (cores)Memory (GiB)MonthlyAnnual
Cluster 1301.72,931.8$16,030$192,361
Cluster 2277.41,607.7$11,374$136,487
Total579.14,539.5$27,404$328,849
Where the savings come from
Monthly cost releasedCPUMemoryTotal
Cluster 1$6,962$9,068$16,030
Cluster 2$6,401$4,973$11,374
Total$13,363 (49%)$14,041 (51%)$27,404

Memory accounts for slightly more than half of the released cost. Cluster 1’s workloads were especially memory-heavy, at about 9.7 GiB per released core.

Next steps

What comes next

The team plans to roll the same policies out to the rest of the fleet, turn the 21 allow-delete candidates into permanent clean-up, and pair scale-down with right-sizing so active workloads request only what they use.

Method

Pricing method

  • CPU at $0.031611 per vCPU-hour and memory at $0.004237 per GiB-hour: standard on-demand list rates, and the default rates used by OpenCost and Kubecost.
  • 730 hours per month; annual figures are monthly × 12.
  • Figures reflect resource requests released by scaled-down deployments. Savings are realized as the cluster autoscaler removes the freed node capacity.
  • List prices before any committed-use or enterprise discounts. Only two clusters are included, so fleet-wide savings will be higher.

About this case study

  • Customer name withheld at the customer’s request. Prepared by Nirmata · September 2026.

More case studies

All case studies
  • Case study

    How Razorpay Automates RBI Compliance on Kubernetes with Kyverno

    Razorpay meets the Reserve Bank of India’s Payment Aggregator Master Directions across more than 7,000 Kubernetes nodes by writing its regulatory controls as Kyverno policies. The same policies run in CI, at admission and in periodic scans, so every change is checked against RBI requirements and auditors see live enforcement records instead of spreadsheets.

Want to fast-track security and compliance in your Kubernetes environment?