DEV Community

Anushka B
Anushka B

Posted on • Originally published at aicloudstrategist.com

EKS Cost Audit for Series A-C India SaaS: The 12-Point Checklist

Originally published at aicloudstrategist.com/blog/eks-cost-audit-checklist-india.html. This is a cross-post for the dev.to community.

EKS Cost Audit for Series A-C India SaaS: The 12-Point Checklist

By Anushka B, Founder · 2026-04-22 · 10 min read

EKS bills for Indian Series A-C SaaS companies look clean in Cost Explorer — one line item for EC2, one for EKS control plane — and hide 40-55% waste underneath. This is the 12-point audit we run to surface it, with Mumbai INR numbers.

Why EKS hides waste better than any other AWS service

Cost Explorer groups EKS node costs under "EC2 - Other" or a flat m6i/c6i line. It doesn't know which namespace, team, or service used the capacity. A pod running idle at 2% CPU on an m6i.2xlarge looks identical to a fully-packed node on the bill. Without a Kubecost or OpenCost layer, nobody sees which workload is wasting what. That is why EKS stacks drift — the feedback loop is broken.

Our 12-point checklist forces the waste to the surface, whether or not you run Kubecost.

The 12-point EKS cost audit checklist

  1. Control plane count — ₹6,060/month per cluster in Mumbai ($0.10/hour). We routinely see Series B startups with 7-12 clusters (per-env + per-team + per-region) when 3 would do. Consolidating to prod/staging/dev saves ₹36-54K/month on control-plane alone.

  2. Cluster Autoscaler vs Karpenter — Karpenter bin-packs better, consolidates nodes aggressively, and picks the cheapest compatible instance family. A well-tuned Karpenter typically cuts node costs 15-25% versus Cluster Autoscaler on the same workload.

  3. Node group Spot % — stateless workloads should be 70-90% Spot. Most Series A stacks we audit are at 0-30%. Gap = 18-30% savings on affected compute.

  4. Instance family diversity — a Karpenter NodePool with only m6i is brittle on Spot. Add c6i, r6i, m5, c5, r5 to the diversification set; Spot interruption drops from 8% to under 3%.

  5. Pod requests vs actual usage — the biggest win. Most Indian SaaS stacks we audit have requests set 3-5x higher than P95 usage because the default was copied from a Stack Overflow answer in 2021. VPA recommendations (off-policy) flag the gap.

  6. Bin-packing efficiency — target > 70% node CPU utilisation post-packing. If you're below 50%, either requests are wrong, pod-antiaffinity is too strict, or topology spread constraints are over-specified.

  7. Idle namespaces — dev-feature-123 namespace that a dev stood up six months ago, with a ₹40K/month footprint. Quota + TTL + weekly sweep.

  8. Over-sized system add-ons — Prometheus scraping every 5s on a 200-pod cluster, stored on gp3. Istio control plane with 4 pilots and 3 ingress gateways for 200 rps. Right-size the platform before the apps.

  9. Load Balancer sprawl — every Ingress creating its own ALB. Consolidate to a single ALB with path-based routing, or use AWS Load Balancer Controller with ingress.class merging. ALB in Mumbai costs ₹1,840/month per LB + LCU charges.

  10. EBS PVC orphans — PVCs bound to StatefulSets that were deleted but retained their volumes. Also: reclaim policy set to Retain on Helm-deleted releases. See orphaned EBS volumes.

  11. CloudWatch Container Insights — ₹0.50/metric/month. Default full-fidelity on 500 pods = ₹40-60K/month you may not need. Consider Prometheus + Grafana with CloudWatch as a cold tier.

  12. Cross-AZ pod communication — ₹0.83/GB. Topology-aware routing, service topology preferences, and istio destinationRule with localityLbSetting cut inter-AZ data transfer 40-70%. See Kubernetes cost questions.

The Karpenter math, in INR

Scenario Monthly cost (INR) Notes
60 pods, Cluster Autoscaler, m6i.2xlarge only, On-Demand ₹4.8 lakh ~55% bin-pack efficiency
Same, Karpenter, mixed m/c/r families, On-Demand ₹3.6 lakh ~72% bin-pack efficiency, 25% savings
Same, Karpenter, 70% Spot + 30% OD ₹1.9 lakh Additional ~47% savings on Spot portion
Same, Karpenter, Spot + 1y Compute Savings Plan on OD portion ₹1.6 lakh Final optimised steady state

From ₹4.8 lakh to ₹1.6 lakh — 67% total reduction — on the same workload. The engineering investment is 2-3 dev-weeks and one platform-eng-week for Karpenter tuning.

What we see in EKS audits: 5 recurring patterns

  • Requests = limits on every pod. Kills bin-packing. Set requests to P95, limits to P99 or 2x request, and let the scheduler do its job.

  • Three-AZ HA for dev clusters. Dev doesn't need three AZs. One AZ cuts cross-AZ data transfer to zero and halves the ALB cost.

  • Horizontal Pod Autoscaler on CPU only for an IO-bound workload. The HPA never scales because CPU is at 20% while the pod is queue-blocked. Use custom metrics (queue depth, request latency).

  • Sidecar proliferation. Envoy + log-shipper + metric-shipper + secrets-injector + init-containers per pod, using 300-500m CPU per pod for platform concerns. Consolidate or move to DaemonSet.

  • EKS managed node groups pinned to a single instance type for "predictability." Eliminates Spot capacity diversification benefits.

EKS control plane and add-on cost in Mumbai

Component Cost Notes
EKS control plane ₹6,060/cluster/month $0.10/hour, flat
EKS Auto Mode (2024+) +12% on compute Managed Karpenter + add-ons; only worth it below ~20 nodes
VPC CNI Free But ENI-per-pod on smaller instances caps pod density
AWS Load Balancer Controller Free Creates ALB/NLB which are charged separately
ALB per Ingress ₹1,840/month + LCU Consolidate with path routing
Fargate pod ~3.5x EC2 cost Good for tiny, bursty workloads only

The Series A vs Series B vs Series C playbook differences

  • Series A (₹6-15 lakh/month EKS): focus on pod right-sizing + Spot + consolidating clusters. Skip Kubecost — use native cluster autoscaler metrics.

  • Series B (₹20-60 lakh/month EKS): add Karpenter, Kubecost or OpenCost, team-level chargeback via namespace tagging, multi-tenant cluster strategy.

  • Series C (₹80 lakh - 3 cr/month EKS): platform engineering team, custom Kubecost dashboards, automated policy enforcement via OPA/Gatekeeper, ResourceQuotas per team, governance KPIs to the CFO monthly.

Frequently asked questions

Q: Is EKS cheaper than self-managed Kubernetes or ECS?

ECS is cheaper for small, simple workloads (no control plane fee). Self-managed K8s is never cheaper once you cost engineer time. EKS wins at Series A+ once the complexity justifies managed control plane.

Q: Should we use Fargate or managed nodes?

Fargate is ~3.5x the cost of equivalent EC2 but removes node management. Use it for occasional jobs, cron tasks, or early-stage prototypes. For steady-state workloads over 10 pods, EC2 node groups with Karpenter win on cost.

Q: How much does Karpenter cost to run?

The Karpenter controller itself runs in a single pod using ~100m CPU and 128Mi memory. Effectively free. The saving comes from better instance selection and consolidation.

Q: Can you audit without Kubecost installed?

Yes. We pull namespace-level resource requests from the cluster, cross-reference with CloudWatch Container Insights metrics (if enabled) and the AWS CUR for instance-level cost. Not pod-perfect, but 85% accurate at the team/service level.

Q: Do Spot interruptions in Mumbai break production?

For stateful workloads yes. For stateless HTTP APIs with at least 2 replicas, a PodDisruptionBudget, and graceful shutdown handling, Spot interruptions cause zero user-visible impact. We've run Spot-heavy production for Indian SaaS for 3+ years without incident.

Q: What's the break-even for buying EC2 Savings Plans on an EKS stack?

Cover the bottom 70-80% of node steady-state with a 1-year Compute Savings Plan. Let Karpenter place the top 20-30% on Spot and uncommitted On-Demand. See our Savings Plans vs RI guide.

Q: Does your audit include Istio, Cilium, or service mesh tuning?

We flag obvious mesh-related waste (too many sidecars, non-local routing) but deep mesh tuning is a separate engagement. The free 24h audit covers the 80/20 of EKS cost, not mesh internals.

Related reading: Kubernetes cost questions · Orphaned EBS volumes · SaaS vertical · Cloud Cost service · AWS cost calculator


We run written 24-hour AWS cost audits. Founder-led. Free. No sales call. Send your last bill, get a PDF back. Request yours →

Top comments (0)