Three Ways to Cut Cloud Spend, and When Each One Works
The three ways to cut cloud spend are rightsizing what you have, committing to a discount in exchange for less flexibility, and changing the architecture so it needs less. Teams that pull all three levers at once usually end up nowhere, because the changes compete for the same engineering time.
Here's what each lever actually does, and a rough order for using them.
Rightsizing: the fastest lever, and its limit
Rightsizing means matching what you provisioned to what you actually use: shrinking an oversized database instance, turning off a staging environment overnight, or deleting storage nobody's touched in a year. It's the fastest lever because it usually needs no code changes, just a review of utilization metrics against what's running.
Its limit is that it only recovers waste. Once everything running is actually being used, rightsizing has nothing left to give you, and the next dollar of savings has to come from one of the other two levers.
Committed-use discounts: cheaper compute, less flexibility
Committing to a term (a reserved instance, a savings plan, whatever your provider calls it) trades a discount on compute for a promise to keep paying for it, whether or not you end up using it. This works well once your baseline usage is stable and predictable, and poorly if you're still figuring out what your steady-state footprint even looks like.
A reasonable rule: commit on the portion of your usage that's been flat for a few months, and leave anything still growing or shrinking on demand pricing until it settles.
Architectural changes: slower to ship, bigger and more permanent
This is the lever that actually changes how much your product needs, rather than how much you're paying for what it needs today: moving a workload to a cheaper storage tier, batching jobs that were running constantly, or redesigning a service that was over-provisioned by its original architecture. It takes engineering time to plan and ship, but the savings compound instead of being a one-time cleanup.
Save this lever for the workloads where rightsizing and commitments have already been exhausted and the bill still doesn't make sense for what the workload actually does. A service that's ten times more expensive than a comparable one elsewhere in your stack, with no clear reason why, is usually the first candidate worth this level of attention.
A worked example: where a real cloud bill actually goes
Say your monthly cloud bill is $40,000. A rightsizing pass might typically find idle staging environments, oversized instances, and orphaned storage worth cleaning up first, often the fastest win available. Committing the stable portion of your compute usage to a discount plan is the next step, once you know what's actually steady. Only after both of those would it make sense to consider redesigning the specific service that turns out to be the biggest remaining line item.
How to pick an order instead of doing all three at once
Do them in this sequence, and stop as soon as the savings stop justifying the effort:
- Rightsize first, because it's fast and usually needs no engineering sign-off
- Commit next, once you can see which usage has actually stabilized
- Redesign last, and only for the specific workloads still worth the engineering time
Trying to do all three simultaneously usually means none of them gets finished, because each one competes for the same reviews and the same engineers.
Who should actually own this on a small team
Cost review tends to fall through the cracks on small teams because it belongs to everyone and no one at the same time: engineers provision what they need without seeing the bill, and whoever does see the bill often isn't the person who can change how a service is built. Naming one owner, even part time, fixes most of this without adding headcount.
That person doesn't need to be your most senior engineer. They need standing access to billing data, the authority to ask why a resource exists, and a recurring slot, monthly is usually enough, to actually look. Without that combination, cost review turns into a scramble that only happens after the bill has already jumped.
What Good Looks Like
Good here means you know which of the three levers you're pulling at any given time, and you're not spending architecture-level engineering effort on a problem that a rightsizing pass would have solved.
Building The Capability (5-Stage Skill Ladder)
How to Get Started
Frequently Asked Questions
Should we hire a FinOps specialist or handle this ourselves?
Most small teams can run rightsizing and commitment decisions themselves with an afternoon of looking at utilization data. Consider outside help specifically for the architectural lever, where cloud-specific design experience can shortcut months of trial and error.
How much should we commit to a reserved plan versus staying on demand?
Commit only the portion of usage that's stayed flat for a few consecutive months. Leave anything still growing, shrinking, or tied to an experiment on demand pricing, since a discount you can't actually use because your footprint changed isn't a discount.
Is it worth optimizing costs on a workload that's about to be replaced?
Usually not with an architectural rewrite, no. A quick rightsizing pass is still worth doing since it's low effort, but save any deeper redesign work for the system that's actually going to be around long enough to pay back the engineering time.
About the numbers
This guide doesn't quote a sourced benchmark. Figures in it are estimates or general guidance, so check them against your own numbers.
Related Guides
A FinOps Checklist for Teams Before Their First Big Cloud Bill
The cost-optimization checklist to run before your cloud bill becomes a board topic, plus the five mistakes that quietly undo every fix on the list.
Build vs. Buy for Your Security Tooling Stack
A decision framework for when to build DevSecOps tooling in-house versus buying a platform, based on team size, maintenance burden and audit needs.
How to Ship a Risky Change Without a 2am Rollback
A concrete walkthrough of how to plan a risky production deployment: how to split it, what to watch, and when to decide the rollback trigger.
A CTO's Framework for Cutting Infrastructure Costs
A decision framework for engineering leaders trying to cut cloud and tooling spend without slowing the team down or cutting into future capacity.
Build or Buy for Verifying Every Device That Connects?
How to split device identity from device posture checking, what building either one in house actually costs, and where a platform earns its keep instead.
Diagnosing Slow Requests Before You Blame the Database
A step-by-step way to find out whether a slowdown is the network, the app, or the database, before you add caching or upgrade infrastructure to fix it.