Cloud bills rarely jump overnight. They creep: a test server nobody switched off, a database sized for a launch that never got that busy, backups kept forever because deleting them felt risky. When we audit accounts for clients in the UAE and Saudi Arabia, we usually find savings in the first afternoon. Here are the ten fixes we reach for first.
First, see where the money actually goes
You can’t cut what you can’t see. Open AWS Cost Explorer, Azure Cost Management or the Google Cloud billing reports and group last month’s spend by service and by project. In most accounts we review, three or four services make up the bulk of the bill, so that is where your attention should go first.
- By service — compute, databases, storage and data transfer usually tell very different stories.
- By environment — production should dominate; if staging costs nearly as much, that is your first target.
- By trend — compare the last three months to spot anything growing faster than your customer numbers.
1. Tag everything
Add owner, project and environment tags to every server, database and storage bucket. Untagged resources are where waste hides, because nobody feels responsible for them. Most providers let you enforce tags with a policy, so new resources cannot be created without them. It is dull work, but every other saving on this list gets easier once it is done.
2. Set budget alerts
A budget alert at 80% and 100% of your expected monthly spend is free on all three major clouds and takes ten minutes to set up. Send it to an engineer and to finance. Add anomaly detection too, so a runaway job or a leaked access key shows up within a day rather than at the end of the month.
Quick wins on servers and compute
Compute is usually the largest line, and the easiest to trim. The main culprits are servers that are bigger than they need to be and servers that run around the clock when nobody uses them.
3. Switch off non-production at night
Development, testing and staging environments rarely need to run on Fridays or at 3am. A simple schedule that stops them outside working hours, say 8am to 8pm Sunday to Thursday for a Gulf team, cuts their running time by well over half. AWS Instance Scheduler, Azure Automation and Google Cloud’s instance schedules all do this without new tooling.
4. Right-size oversized machines
Check CPU and memory use over the last 30 days. A server averaging 10% CPU can usually drop one or two sizes with no noticeable change for users. AWS Compute Optimizer and Azure Advisor give free recommendations; treat them as a shortlist to test, not orders to follow blindly.
5. Move to newer, cheaper instance types
Newer generations are often cheaper and faster than the ones they replace. On AWS, ARM-based Graviton instances typically cost noticeably less than equivalent Intel machines, and most Node, Python, Java and .NET workloads run on them without code changes. Test one service first, then roll out.
The cheapest server is the one you switched off on Thursday evening and nobody missed.
Storage, backups and data transfer
Storage costs feel small per gigabyte, which is exactly why they grow unnoticed. Data transfer is the other sneaky one: moving data out of the cloud, or between regions, is charged in ways many teams only discover on the invoice.
- 6. Delete orphaned disks and old snapshots — unattached volumes and years-old snapshots keep billing long after the server is gone.
- 7. Add storage lifecycle rules — move logs and old files to infrequent-access or archive tiers after 30 to 90 days automatically.
- 8. Put a CDN in front of heavy files — serving images and videos through CloudFront, Azure Front Door or Cloudflare cuts transfer costs and speeds up pages.
Commit to what you know you’ll use
Once the waste is gone, look at what remains steady. If a database or a set of servers has run every hour of every day for six months, paying on-demand rates for it is leaving money on the table.
9. Buy savings plans for your baseline
AWS Savings Plans, Azure Reservations and Google Cloud committed use discounts trade a one- or three-year commitment for a lower rate. Cover only the steady baseline, not your peaks, and start with a one-year term. Never commit before right-sizing, or you will lock in the waste you just found.
10. Make cost a monthly habit
Book thirty minutes each month for an engineer and someone from finance to review the bill together. Share a simple chart by project. When teams see what their environments cost, they start switching things off themselves, and the savings stick instead of slowly creeping back.
The bottom line
In our experience, a month of focused housekeeping trims somewhere between 15% and 35% from a typical small or mid-sized cloud bill, and none of it requires a rewrite. Start with visibility, switch off what sleeps, resize what idles and commit only to what you know you will use. Then keep the monthly review going, because cloud costs never stop creeping on their own.
