I recently decided to take a hard look at our AWS infrastructure over at 3cat sdn bhd. We had an ElastiCache Redis cluster that had essentially been sleeping for the better part of two years. When you look at a cloud dashboard and see a managed service sitting completely idle, it bothers you as an engineer. But when you dig into the actual instance types being used, it gets downright offensive.
We were running a cache.m7g.large instance. For those who do not spend their days memorizing AWS sizing charts, that is a fairly beefy machine for a caching layer that is doing next to nothing. I pulled up the metrics to see exactly what our workload looked like. During our absolute peak hours, the CPU utilization was hovering at a laughable 4 percent. The memory consumption barely scratched 500 megabytes. We were paying for enterprise-grade performance but running a workload that could comfortably sit on a smart watch.
I brought this massive over-provisioning up to our project manager. The response I got was pretty typical for early-stage companies: the infrastructure is currently covered under AWS credits, so the high burn rate is fine. I completely disagree with this mindset. AWS credits are essentially a runway extension, but treating them like an infinite resource breeds terrible engineering habits. Waste is still waste. Just because you are not paying the invoice with cold hard cash today does not mean you should ignore lazy infrastructure provisioning. When those credits eventually dry up, that technical bloat immediately becomes a financial liability.
I made the call to cut it down immediately. I downscaled the Redis cluster drastically, moving it from the oversized m7g.large all the way down to a cache.t4g.small. It is a tiny fraction of the original cost, still provides more than enough headroom for our 500 megabytes of peak memory, and handles the baseline load without breaking a sweat. Engineering is about building efficiently and respecting your resources, not just throwing oversized hardware at a service because it happens to be temporarily free.