A few months ago, a growing e-commerce company came to us with a problem that was eating into their margins every single month: their Amazon Web Services bill. They were paying $12,400 per month and had no idea where most of that money was going. Their previous IT person had set things up, left the company, and nobody had looked under the hood since.
Thirty days later, that bill was $7,688. A 38% reduction. No loss of performance. No downtime. No compromises. Just the elimination of waste that had been accumulating for years.
Here is exactly what we found and how we fixed it.
The Audit: Where Was the Money Going?
The first thing we did was pull a detailed cost breakdown. Cloud providers like AWS make this information available, but it is buried in dashboards that most business owners never see. We spent the first three days mapping every dollar to a specific resource and asking one question: "Is this necessary?"
The answer, in many cases, was no.
Problem 1: Servers Running 24/7 That Nobody Used
Monthly waste: $2,180
We found six servers that were running around the clock. Two of them were development and testing environments that the previous developer had spun up. They were fully running, fully billed, and completely untouched for over eight months. Nobody was using them. Nobody even knew they existed.
Two more were old versions of the company's application that had been replaced but never shut down. They were still running the old code, still processing nothing, still costing money every hour.
The remaining two were legitimate but oversized. They were running on powerful (and expensive) machine types that were appropriate when the company launched but wildly excessive for their current workload. We right-sized them, moving to smaller, cheaper machine types that still had plenty of headroom for growth.
Problem 2: An Oversized Database
Monthly waste: $890
The company's main database was running on a machine type designed to handle millions of transactions per day. Their actual usage? A few thousand transactions per day. It was like renting a warehouse to store a single filing cabinet.
We moved the database to an appropriately sized instance. The database runs just as fast (actually slightly faster, because we also optimized some poorly written queries during the migration), and it costs 60% less.
Problem 3: Old Snapshots and Backups Piling Up
Monthly waste: $640
Every time someone had made a backup or taken a snapshot of a server over the past three years, it was saved and never deleted. There were 847 snapshots in their account. Most were for servers that no longer existed. It is like paying for a storage unit full of furniture from an apartment you moved out of years ago.
We identified which snapshots were still relevant (recent backups of active systems), kept those, and deleted the rest. We then set up automatic lifecycle policies so old snapshots are cleaned up automatically going forward.
Problem 4: Data Transfer Costs Running Wild
Monthly waste: $410
Cloud providers charge you for moving data around, and those charges add up fast when your architecture is not optimized. We found that the application was transferring data between two different geographic regions unnecessarily. A configuration change that took 15 minutes to implement cut their data transfer bill nearly in half.
Problem 5: No Reserved Capacity for Predictable Workloads
Monthly savings opportunity: $580
AWS offers significant discounts if you commit to using a certain amount of capacity for one or three years, similar to how a cell phone plan is cheaper than paying per minute. The company was paying full on-demand pricing for servers that had been running steadily for over two years. By purchasing reserved capacity for their stable, predictable workloads, we locked in savings of roughly 35% on those resources.
The Results
| Category | Before | After | Saved |
|---|---|---|---|
| Compute (servers) | $6,400 | $3,640 | $2,760 |
| Database | $2,100 | $1,210 | $890 |
| Storage & snapshots | $1,840 | $1,200 | $640 |
| Data transfer | $1,180 | $770 | $410 |
| Other services | $880 | $868 | $12 |
| Total | $12,400 | $7,688 | $4,712/mo |
That is $56,544 per year back in the company's pocket. For a business doing a few million in annual revenue, that is a meaningful number. It went straight to the bottom line.
The 5 Most Common Cloud Cost Wastes We See
This client's situation was not unusual. After auditing cloud bills for dozens of small and mid-sized businesses, we see the same patterns everywhere:
1. Zombie Resources
Servers, databases, and storage that are running and billing but not serving any purpose. They were created for a project, a test, or a migration and never cleaned up. We find zombie resources in about 80% of the accounts we audit.
2. Oversized Instances
Machines that are far more powerful (and expensive) than the workload requires. This usually happens because whoever set things up chose a large size "just in case" and nobody ever revisited the decision. Most of the time, you can cut the size in half without any noticeable impact.
3. Snapshot and Backup Hoarding
Backups are important. Keeping every backup forever is not. Without lifecycle policies, old backups accumulate like clutter in a garage. We have seen accounts with terabytes of snapshots for servers that were deleted years ago.
4. Ignoring Reserved Pricing
If you know a server is going to run for the next year, paying on-demand pricing is like buying a daily subway pass when you commute every day. The monthly or annual pass is dramatically cheaper. Reserved pricing typically saves 30 to 50% on stable workloads.
5. No Cost Visibility
The biggest waste enabler of all: nobody is looking at the bill in detail. The credit card gets charged, the expense gets approved, and nobody asks whether that number should be lower. If you do not look at your cloud bill every month with a critical eye, you are almost certainly overpaying.
How to Know If You Are Overspending
Here are some quick signals that your cloud bill deserves a second look:
- Your bill has been roughly the same for months, even though your usage has not changed significantly. Stable bills often mean nobody is optimizing.
- Nobody on your team can explain what each line item on the bill is for.
- You have never changed the size or type of your servers since they were first set up.
- You do not use reserved pricing or savings plans for any of your resources.
- Your previous IT person set up the cloud environment and it has not been reviewed since.
If any of those sound familiar, there is almost certainly money to be saved. In our experience, the typical small business is overspending on cloud infrastructure by 25 to 40%.
Quick Self-Audit Checklist
You do not need to hire anyone to get a rough sense of whether your cloud bill deserves a closer look. Here are five things you can check yourself in about 15 minutes.
1. Log into the AWS Console and open Cost Explorer. Look at your spending trend over the last three months. Is it flat? Gradually climbing? Spiking? A flat bill is not necessarily good. It often means nobody is optimizing. A climbing bill with no corresponding growth in your business is a red flag that resources are accumulating without oversight.
2. Check your EC2 instances and sort by cost. Look at each one. Can you identify what every instance is for? If you see instances you do not recognize, or names that reference old projects, old developers, or old versions of your application, those are likely zombie resources costing you money for nothing.
3. Look at your RDS database instances. Are they running 24 hours a day, 7 days a week? For production databases, that makes sense. But development and staging databases often do not need to run overnight or on weekends. Scheduling them to shut down during off-hours can cut their cost by 65% or more.
4. Check your S3 storage buckets. Are any of them growing steadily without lifecycle rules in place? Without lifecycle policies, old logs, temporary files, and outdated backups accumulate indefinitely. Setting up automatic transitions to cheaper storage tiers or automatic deletion of old data can save hundreds of dollars per month.
5. Review your reserved instance coverage. Go to the Cost Explorer reserved instance utilization report. Are you paying full on-demand pricing for servers that have been running steadily for months? If a workload is predictable and long-running, reserved instances or savings plans typically save 30 to 50% compared to on-demand pricing.
If you found even one issue in this checklist, there is almost certainly more hiding beneath the surface. These quick checks only scratch the surface of what a thorough audit uncovers. That is exactly what our free cloud audit is designed to find: the waste you can see and the waste you cannot.
The Bottom Line
Cloud computing is one of the best things to happen to small business technology. It eliminated the need to buy expensive servers, hire full-time staff to maintain them, and plan capacity years in advance. But the flexibility that makes cloud computing great also makes it easy to accumulate waste without realizing it.
You would not leave the lights on in an empty office. You would not pay rent on a storage unit full of things you threw away. But that is exactly what many businesses are doing with their cloud infrastructure, paying for resources they do not use, in sizes they do not need, at prices they do not have to pay.
A focused audit and 30 days of disciplined optimization is usually all it takes to put real money back on your bottom line.