Azure Kubernetes Service makes it easy to spin up clusters. It also makes it easy to spend more than necessary. Workloads change, traffic patterns shift and the defaults that were sensible six months ago can quietly become expensive. A checklist from ScaleOps covers the main AKS cost levers without requiring a platform rebuild.
Rightsize pods and nodes
The first step is to look at what workloads are actually using. Many teams request far more CPU and memory than their pods consume, either from caution or because the original sizing was never reviewed. Rightsizing requests and limits, and matching node pools to the real resource profile, often delivers the largest single saving.
Node rightsizing is the other half. Running a few large workloads on general-purpose node pools wastes capacity. Consolidating workloads or using dedicated node pools for predictable workloads reduces idle capacity and can simplify purchasing decisions.
Tune autoscaling
Horizontal Pod Autoscaling and the Kubernetes Cluster Autoscaler are powerful but easy to misconfigure. HPA needs useful metrics and reasonable target utilisation. If the target is too conservative, pods scale out too fast and leave nodes underused. If it is too aggressive, latency suffers. VPA can help adjust requests automatically, but should be used carefully with HPA to avoid conflicting signals.
Use Spot and burstable nodes where possible
Stateless batch workloads, CI/CD agents, development environments and fault-tolerant services can often run on Spot node pools. The discount is substantial, and modern workload patterns make interruptions manageable. Burstable VM sizes are another option for workloads with intermittent CPU needs.
Buy smart
Azure Reservations and Savings Plans reduce compute costs for steady-state workloads. The mistake is to buy them before understanding the workload profile. Start by measuring baseline capacity, then commit only the portion that is predictable. Overcommitting turns a discount into waste.
Manage non-production environments
Development and test clusters are common cost leaks. Schedule them to shut down outside working hours, scale them down when idle and enforce resource quotas. A cluster that runs at full size around the clock for occasional use is an obvious target.
Watch network and storage
Egress traffic, load balancer hours and persistent disk provisioning also add up. Use internal load balancers where public endpoints are unnecessary, right-size persistent volumes and consider Azure Files or Blob storage for datasets instead of keeping everything on cluster disks. These are smaller line items than compute, but they are easy to optimise once noticed.
Bring it together
Cost optimisation is not a one-off audit. It is a discipline of regular review: workload sizing, autoscaling behaviour, purchasing commitments, environment schedules and network and storage usage. The ScaleOps checklist is a useful starting point, but the real value comes from making these checks part of normal platform operations. A platform team that reviews these levers monthly will catch drift before it becomes a budget problem.