Free CLI. Nothing leaves your machine

Visualize the waste in your cluster

  • Gets cluster metadata from kubectl ctx
  • Does math and scheduling simulation locally
  • Prints the gap between requests and what's used

Not the one with kubectl access?

~ — npx devzero analyze-cluster
~ $

Utilization

What you use,next to what you requested

With metrics-server you get live CPU and memory next to what workloads requested. Without it, the report compares requests to allocatable and says so. That gap is usually the money.

11-node cluster · AWSvia metrics-server
CPU8% used
requested 80%

3.8 of 47.1 cores used · 37.8 requested

Memory31% used
requested 75%

40 of 128 GiB used · 96 requested

The gap between the green bar and the requested marker is capacity you pay for but don't use.

Today11 nodes
repacked, honoring taints, affinity & PodDisruptionBudgets
After8 nodes (−3)

Consolidation

A bin-packing simulation,not a guess

The scan re-packs your actual pods onto fewer nodes and names the ones that could be drained. Taints, tolerations, node affinity, and PodDisruptionBudgets are honored. What it can't model, like anti-affinity and topology spread, gets flagged instead of assumed away.

Savings estimate

A dollar figureyou can defend

Public on-demand pricing, split into rightsizing and spot-conversion headroom, capped so it can never exceed your current bill. It reads conservative on purpose. It has to survive a budget meeting.

Current est. spend$762–$1,197/mo
Rightsizing headroom$604–$955/mo
Spot-conversion headroom$38–$86/mo
Est. savings with DevZero$642–$1,041/mo

Public on-demand list pricing, based on actual usage scaled to a ~70% utilization ceiling. Hard-capped at your current spend.

The trust model is deliberately boring

It exists for the moment before you'd give a vendor anything. So it takes nothing.

~/.kube/config

current-context: prod-eks

found
DevZero account

no sign-up flow exists

not needed
API token

no --token flag to forget

not needed
Payment details

it's a free scan

not needed

Your kubeconfig is the only credential

No token, nothing to sign up for. It uses the access your kubectl already has: read-only, same trust model as kubectl top.

network activity during a scan

kube-apiserverGET nodes, pods, pdbs112 reqs
metrics.k8s.ioGET node & pod usage22 reqs
api.devzero.io0 reqs
telemetry0 reqs

Zero bytes leave your machine

Collection, simulation, and pricing all run locally. No telemetry, no phone-home, not even a version check.

verbs it uses

getlistwatch

verbs it never asks for

patchupdateevictdraindelete

Consolidation is simulated in memory. Nothing is drained for real.

It can't change anything

It only reads. Draining, rightsizing, and spot conversion are estimated, never executed. Your cluster is untouched.

Not the one with kubectl access?
Ask your platform engineer.

One command, a minute of their time. Copy the ask and drop it in Slack.

youto #platform-eng

Hey, can you run npx devzero analyze-cluster against prod and send me the report? It's read-only, runs locally, and takes about a minute (found it on devzero.io/analyze-cluster if you want to vet it first). Curious what our utilization actually is.

What our customers say

Databahn logo

We were essentially able to reduce the cost of that cluster by about 75%. On AWS, DevZero demonstrated they could achieve significantly higher savings than we initially thought possible.

Mihir Nair

Mihir Nair

Head of Architecture, Databahn

Frequently asked questions

Things platform engineers asked before pointing it at a real cluster.

The report takes about a minute.The waste has been there for months.

If the numbers are real money, DevZero can go collect them. Continuously, with zero restarts.

Get started free