Non-production is typically 30 to 40 percent of a cloud bill and used for 30 percent of the hours. The savings are large and safe, but only if the changes do not add friction. Here is the playbook that cuts spend without cutting velocity.
A week has 168 hours and most non-production workloads need about 45. Turning things off for the rest is the highest ratio saving in cloud. Here is the arithmetic, the implementation, and the resources that keep billing anyway.
Zombie resources are alive on the invoice and dead in production: disks with no instance, clusters with no pods, gateways with no traffic. Here is the hunt playbook, the detection query for each type, and how to delete safely.
Storage rarely spikes, it creeps, which is why it is the least audited line on most bills. Here is a five step cleanup covering tier policy, incomplete uploads, versioning, replication, and block storage, with real per GB rates.
Backups are the one cost line with no natural ceiling: a daily schedule with no expiry runs forever. Here is how to audit snapshot spend, set retention that satisfies compliance, and cut 50 to 80 percent without losing recoverability.
Right-sizing stalls when it becomes a permanent backlog. Running it as a time boxed sprint with a ranked list, a batch cadence, and a rollback rule ships 30 to 60 resources in two weeks. Here is the sprint plan.
ARM based instances price 10 to 20 percent below their x86 equivalents and often deliver better price performance than the headline rate suggests. Here is the staged migration playbook, the workloads that port cleanly, and the ones that do not.
A commitment is the only cost lever you cannot undo. Buy it at the wrong time or the wrong size and you have converted fixable waste into a three year obligation. Here is the sizing method, the timing rule, and the coverage targets.
Data transfer is billed per GB with no resource to point at, which is why it is the hardest line to attribute and the easiest to ignore. Here is how to find the flows, rank them, and cut them, with the per GB rates that matter.
Observability spend grows with traffic, with services, and with every new dashboard, and it is often the second largest line after compute. Here is how to cut it 40 to 70 percent while keeping the signal you actually use.
Every cluster carries a fixed overhead before a single pod runs: control plane, system nodes, load balancers, and monitoring agents. Running eight clusters at 15 percent utilisation is expensive in a specific, measurable way.
A load balancer with no targets and a public IP with no association each cost a few dollars to tens of dollars a month. Individually trivial, collectively thousands. Here is how to find them, verify they are dead, and remove them safely.
Autoscaling is sold as a cost control and often operates as a cost floor. Minimum counts set for comfort, thresholds that never trigger, and cooldowns that hold capacity long after demand fell all quietly set a bill you never chose.
Third party software bought through a cloud marketplace lands on the same invoice as compute but obeys different rules. It is rarely audited, often over-licensed, and frequently the largest line nobody in engineering owns.
Due diligence looks at gross margin, unit economics, and whether infrastructure spend scales with revenue. A cost cleanup before the process starts changes the numbers investors see. Here is what to fix and in what order.
When spend triples overnight, the priority is stopping the burn, not understanding it. Here is an hour by hour runbook: contain first, diagnose second, then decide what to reverse and what to keep.
Graviton4 instances (R8g, M8g, C8g) deliver meaningfully more performance per core than Graviton3, at a similar or slightly higher hourly price. Whether the newer generation is cheaper for your workload depends on how well it converts extra performance into fewer or smaller instances. Here is the comparison.
The C-family (compute-optimized) gives more CPU per dollar with less memory, while the M-family (general-purpose) balances CPU and memory at a higher price. Picking the wrong one wastes money on RAM you do not use or forces oversizing to get enough CPU. Here is how to choose on cost.
The R-family (memory-optimized) packs 8 GB of memory per vCPU, costing more per hour than general-purpose but far less than oversizing an M-instance to reach the memory. For in-memory databases, caches, and analytics, it is the cheapest way to buy RAM. Here is when it pays off.
An Auto Scaling group can save money by matching capacity to demand, or waste it by scaling on the wrong metric, holding too much warm capacity, or never scaling down. Here is how to tune an ASG so you pay for the load you have, not the peak you fear.
Lambda is cheap for spiky, low-utilization workloads and expensive for steady, high-utilization ones, where an EC2 instance running full-time wins. The breakeven depends on request volume, duration, and how busy the compute would be. Here is how to find the crossover.
Fargate Spot runs your ECS tasks on spare capacity for up to about 70 percent less than regular Fargate, at the cost of possible interruption. For fault-tolerant, stateless, and batch workloads it is one of the biggest container savings available. Here is how it works and when to use it.
Spot and Savings Plans are not either-or: the cheapest fleets layer them, committing to a steady baseline with Savings Plans and filling the elastic and interruptible portion with Spot. Here is how to combine them without wasting a commitment on capacity Spot should cover.
Idle EC2 instances, running at single-digit CPU with no real traffic, are one of the most common and avoidable cloud costs. Finding and stopping them, or scheduling them off, often cuts a compute bill by 20 to 40 percent. Here is how to hunt idle compute down.