Cut AWS EKS costs without
restarting your workloads

DevZero is a Kubernetes cost optimization platform that automatically rightsizes CPU and memory requests and provisions optimal EC2 instance types for EKS (Elastic Kubernetes Service) clusters, using CRIU checkpoint-restore, no pod disruption, no dropped connections.

Companies who slashed their Kubernetes
spend
using DevZero

DATABAHN
Starburst
Fi
Outerbounds
Codilas
personality pool
Onnitech
OpenObserve
Parsimo
Dentira
DATABAHN
Starburst
Fi
Outerbounds
Codilas
personality pool
Onnitech
OpenObserve
Parsimo
Dentira

Your cluster is running, Your bill is too high

Most Kubernetes clusters run at 15–30% average utilization. Teams over-provision out of caution, pay for idle capacity, and have no clear view of what's costing money.

Requests are set once and never revisited

CPU and memory requests are set at deploy time and never touched again. Most pods run at a fraction of what they request. You pay for the full allocation regardless.

CPU allocated vs actual usage

frontend360m82% wasted
api-gateway280m72% wasted
worker1400m32% wasted
db-proxy100m84% wasted
batch200m90% wasted
0m500m1000m1500m2000m
Allocated (paid for) Actually used

Node group, m5.4xlarge × 9 (fixed, non-adaptive)

ip-10-0-1-12

m5.4xlarge · us-east-1a

19% CPU used

ip-10-0-1-47

m5.4xlarge · us-east-1a

24% CPU used

ip-10-0-1-47

m5.4xlarge · us-east-1b

11% CPU used

ip-10-0-1-203

m5.4xlarge · us-east-1a

31% CPU used

ip-10-0-1-47

m5.4xlarge · us-east-1a

24% CPU used

ip-10-0-1-47

m5.4xlarge · us-east-1b

11% CPU used

ip-10-0-4-19

·

8% CPU used

ip-10-0-4-77

·

17% CPU used

ip-10-0-5-130

·

26% CPU used

Node groups don't adapt to real workloads

Node groups are sized for peak load and stay that way. Underutilized nodes keep running with no visibility into wasted capacity and no automatic way to consolidate them.

Cross-AZ data transfer costs are invisible

AWS charges $0.01 per GB for traffic that crosses availability zones. On a large cluster, unoptimized pod placement adds thousands to your monthly bill. AWS Cost Explorer attributes the charge to EC2 totals, not to the workload that generated it.

Cross-AZ network traffic, no workload attribution

us-east-1a

frontend ×4
api-gateway ×2
us-east-1a
us-east-1a
us-east-1a
?

us-east-1b

worker ×6
postgres ×2
batch ×3
queue-consumer ×4
us-east-1a
?

us-east-1c

grpc-service ×4
kafka ×2
ml-inference ×3
event-sink ×2
log-forwarder ×1
untracked cost

One platform that actually reduces your EKS bill

DevZero deploys lightweight operators into your EKS cluster. They observe usage, generate recommendations, and apply changes automatically when you're ready. No agent rewrites. No refactoring.

Workload rightsizing, write operator

Before

frontend-pod-7f8b2

cpu: 2000m

mem: 4Gi

CPU used18%
Mem used21%

CRIU checkpoint

memory snapshot

apply + restore in-place

After

frontend-pod-7f8b2

cpu: 360m

mem: 1Gi

✓ 0 restarts

✓ connections live

Savings across 24 rightsized workloads

CPU freed: 31,440m · Mem freed: 74Gi · Applied without restart

−$8,400/mo

Rightsize requests to real usage, live

The write operator applies new CPU and memory limits in place using CRIU checkpoint-restore. Pods are never restarted, connections stay open, and you only approve changes you trust.

Node autoscaling, node operator (dzKarp)

Compute-heavy

try-restore: "true"

Memory-heavy

postgres · redis · kafka

General-purpose

workers · monitoring

dzKarp

policy-driven EC2 provisioning

c7i.4xlarge

compute-optimized

r6i.2xlarge

memory-optimized

m7i.xlarge

general-purpose

9 static nodes consolidated to 4 right-sized instances · Spot interruptions handled via SQS queue

Provision the right EC2 instance, automatically

dzKarp consolidates idle nodes and provisions cost-optimal instance types per workload class. Spot interruptions are handled via an SQS queue, managed by policy, not YAML.

Network cost visibility, network operator (eBPF)

WorkloadTypeVolumeCost/moZone
frontendCross-AZ847 GB$8.471a → 1b
postgresCross-AZ1,204 GB$12.041b → 1c
workerCross-AZ392 GB$3.921a → 1c
api-gatewayInternet egress118 GB$10.62→ internet
Total attributed2,561 GB$35.05/mo

Attributed per workload via eBPF DNS tracing

See cross-AZ network cost per workload

An eBPF DaemonSet traces pod-level flows and attributes every cross-AZ and egress charge to the workload that generated it. It's the visibility AWS Cost Explorer can't give you.

Before and after with DevZero on AWS EKS

See the difference DevZero makes across workload resources, node capacity, and network costs, with the same cluster, the same workloads.

Before DevZero

Avg cluster CPU utilization22%
frontend CPU request2000m (set at deploy)
Node type selectionManual, static node groups
Spot interruption handlingManual drain scripts
Cross-AZ traffic visibilityNot tracked
Monthly infra spend$47,800 / mo

After DevZero

Avg cluster CPU utilization71% (rightsized)
frontend CPU request360m (live migration)
Node type selectiondzKarp (auto EC2 provisioning)
Spot interruption handlingSQS queue, automatic draining
Cross-AZ traffic visibilityPer-workload, per-AZ breakdown
Monthly infra spend$33,520 / mo (−30%)

Getting started in three steps

bash · prod-eks
# Install Read Operator · read-only, open-source$ helm upgrade --install zxporter \oci://...devzeroinc/zxporter \--namespace devzero-zxporter \--set config.clusterToken=<token>✓ namespace devzero-zxporter created✓ 3/3 pods running✓ metrics streaming to DevZeroread-only · no cluster changes made
devzero.io / optimization / prod-eks
24 workloads scanned−$14,280 potential
WorkloadNowRec.
frontend2000m360m
postgres4Gi1.2Gi
api-gateway1000m280m

First scan complete · No changes applied yet

Read-only · Open-source at github.com/devzero-inc/zxporter · No cluster changes until you enable automation

Deploy the open-source, read-only zxporter via Helm. See cost recommendations in your DevZero dashboard with no cluster changes needed.

bash · prod-eks
# 2a: CloudFormation · IAM + SQS queue$ aws cloudformation deploy \--stack-name "Karpenter-${CLUSTER}" \--capabilities CAPABILITY_NAMED_IAM✓ KarpenterControllerRole created✓ KarpenterNodeRole created✓ SQS: Karpenter-prod-eks ready# 2b: Install dzKarp via Helm
kubectl get nodepools · devzero-system

Kubernetes objects created

NodePooldevzero-defaultReady
EC2NodeClassdevzero-classReady

EC2 nodes provisioned

c7i.4xlargecompute-optimized×3
r6i.2xlargememory-optimized×1

SQS queue active · Spot interruption notices handled automatically · Implicit PDB enforced on all workloads

Run the CloudFormation template to create IAM roles and a Spot interruption SQS queue. Install dzKarp via Helm from the public ECR registry.

Workload policy

Scope

namespace = production

Workload types

Deployment · StatefulSet · DaemonSet

Migration type

Live (CRIU)Rolling restart

Aggressiveness

devzero.io / optimization / applying
WorkloadBeforeAfterType
frontend2000m360mlive
api-gateway1000m280mlive
worker4000m1400mrestart
Savings this month−$8,400

Automation enabled · Changes approved via policy · Savings begin immediately

Review recommendations, create workload and node policies in the DevZero dashboard, and scale down static node groups to hand off to dzKarp.

Everything AWS EKS teams need on one platform

Workload rightsizing without downtime

CRIU applies new CPU and memory limits without restarting the pod. Connections stay open. Each recommendation is labelled live or restart before you approve.

View write operator

Intelligent node autoscaling on EKS

dzKarp provisions the right EC2 instance type per workload, consolidates idle nodes, and handles Spot interruptions via SQS. Managed by policy, not YAML.

AWS EKS setup guide

Cross-AZ network cost visibility

An eBPF DaemonSet tracks pod-level flows and maps each one to AWS pricing. Covers cross-AZ, internet egress, PrivateLink, and EKS control plane traffic. No CoreDNS changes.

Network operator docs

Security scanning and compliance

Scans container images for CVEs, checks clusters against CIS Kubernetes Benchmark and NSA guidelines, and flags RBAC misconfigurations. All results in one dashboard.

Security operator

Terraform and Pulumi providers

Manage clusters and policies as code using the official Terraform provider or Pulumi SDKs for TypeScript and Python.

IaC providers

Cost-aware pod scheduling

dz-scheduler places pods on the cheapest viable nodes based on real-time Spot pricing, cross-AZ transfer cost, and CRIU compatibility.

Scheduler docs

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

Technical questions from platform engineers who've evaluated DevZero.

Stop paying for CPU you're not usingStart rightsizing today

Connect your cluster in under 30 minutes. No code changes. No pod restarts. First saving visible within 24 hours.

Get started free