Cloud Frugality

A practical take on building cloud systems that respect cost, stay lean, and age well without overengineering the obvious.

April 10, 2025

You know that feeling when you check your cloud bill and it looks… off? Like someone’s running a machine-learning model to detect ghosts on a GPU-heavy instance in staging. That sinking feeling isn’t rare. It’s what happens when you treat cloud like a buffet instead of a pantry.

Cloud Frugality isn’t about penny-pinching. It’s about thinking like a systems designer who respects resources. The concept, championed by AWS’s CTO under the name “The Frugal Architect,” is built on something very simple: smart architecture is aware of cost from day one. Not after go-live. Not when the finance team sends you an angry Slack. From the start.

If you want systems that last, cost has to be treated as a non-functional requirement (just like latency or uptime). That means designing with business context in mind. Not every system needs five-nines availability or global scale. But every system needs to justify its price tag. Architecting, in the end, is just a long series of trade-offs. You pick what to optimise and what to accept. Frugal architects don’t aim for perfect, they aim for maximum value.

Most teams still treat cost like something external. But cost is behaviour. It’s what your system does when nobody’s looking. That’s where the bleeding happens. Zombie resources, stale databases, forgotten buckets… the graveyard of the undisciplined. And you can’t control what you don’t watch. Unobserved systems are the most expensive ones. Frugality starts with visibility: logging, monitoring, tagging. Not the fancy dashboards for stakeholders, but the ugly internals that let you say with certainty, “this thing costs us €128/month, and here’s why.”

It doesn’t help that the cloud makes over-engineering easy. You can build something “impressive” in five minutes, with five services, a managed queue, and a no-code dashboard on top. But complexity doesn’t equal quality. I’ve seen cron jobs outperform entire event-driven micro-services. And they were cheaper, easier to maintain, and, frankly, more dignified.

This is where frugality becomes a mindset. You build small first. You ask questions like, “What happens if traffic doubles?” but also, “Do we actually need that layer of abstraction?” Being frugal doesn’t mean avoiding powerful tools, it means understanding what you’re trading every time you reach for one. And you don’t just think about this once. It’s iterative. You clean up. You audit. You turn off the dev environment before the weekend. You realise that cost optimisation isn’t a one-time thing, it’s a slow, deliberate crawl. Most importantly, you challenge your assumptions, even when things are working. Especially when things are working. Because nothing gets bloated faster than a system that’s “successful enough to ignore.”

Frugal architectures don’t look like much from the outside. But they’re coherent. They age well. They give teams peace of mind. There’s less chaos, less explaining, fewer “I have no idea why this exists” moments. You sleep better. And yeah, your cloud bill actually makes sense. So next time you’re tempted to spin up something new just because it’s there, pause. Ask: does this help, or just feel cool? The cloud’s not here to save you from bad decisions. It just lets you make them faster.

And sometimes, honestly? The grilled chicken is enough.