We Audited 10 UK Small Business AWS Bills for Free. Here's What We Found
By Joro Services · · Technical Services
We've been offering free AWS cost audits for a while now, and over the last several months we've completed them for 10 UK businesses, ranging from a 5-person startup to a 60-person software company. The bill sizes ranged from about £800/month to £14,000/month.
The patterns are remarkably consistent. The same issues appear across nearly every account regardless of size. Here's what we found.
Finding 1: Orphaned Resources in Every Single Account
Every account we audited had resources that were no longer serving any active purpose. Terminated EC2 instances that had left behind EBS volumes still incurring storage charges. Old snapshots with no lifecycle policy that had been accumulating for years. S3 buckets from deprecated projects still holding data and paying for storage.
This isn't negligence. It's just how cloud infrastructure grows when there's no regular housekeeping process. AWS never deletes anything you've created unless you tell it to, and when people are busy shipping product, nobody's doing housekeeping.
The average saving from cleanup alone across our audits was 8-12% of the monthly bill.
Finding 2: Nobody Was Using Reserved Pricing for Stable Workloads
On-demand pricing is what you pay when you haven't committed to anything. It's appropriate for unpredictable or short-lived workloads. For workloads that have been running continuously for more than a year (production databases, application servers, monitoring infrastructure), it's significantly more expensive than the alternatives.
Reserved Instances offer discounts of 30-40% for a one-year commitment. Savings Plans are more flexible and offer similar savings. In 9 out of 10 accounts we audited, the baseline production workload was running entirely on on-demand pricing despite having been running for years with no plans to shut down.
This is one of the highest-leverage changes available and it requires no technical changes to your infrastructure whatsoever. You're simply changing the billing model for resources you're already running.
Finding 3: Compute Was Over-Provisioned
The typical pattern: someone provisioned an instance size based on expected load from 12-18 months ago. Load either didn't grow as expected, or the workload changed, and nobody revisited the instance sizing.
We looked at CloudWatch CPU and memory utilisation data for every compute instance in each account. The average utilisation was around 15-25% CPU across the fleet. That's money being spent on capacity that's doing nothing.
Right-sizing, which means moving to smaller instance types or families that better match actual usage, reduced compute costs by 15-25% in every account we looked at. It does require a small amount of testing to confirm performance is unaffected, but it's straightforward.
Finding 4: No Resource Tagging, So Nobody Knew What Anything Was For
In 7 out of 10 accounts there was no consistent tagging strategy. Resources had no tags, or inconsistent tags, or tags that had been applied to some things and not others years ago.
The consequence is that nobody can attribute cost to a team, a project, or an environment. When you can't see which resources belong to which project, you can't make rational decisions about what to keep and what to cut. The result is that old resources persist because nobody's confident enough to delete them.
A tagging strategy takes a few hours to define and implement going forward. Retrofitting it to existing resources takes longer but is worth doing. Once it's in place, cost attribution becomes trivial and housekeeping becomes a clear, accountable process.
Finding 5: Data Transfer Costs Were Invisible
Every account had data transfer costs that weren't being monitored or understood. Traffic between availability zones that could be eliminated with architecture changes. Traffic flowing through NAT Gateways that could be reduced with VPC endpoints for AWS services. Cross-region traffic from architectures that hadn't been reviewed since they were initially built.
Data transfer is a small per-GB cost that becomes significant at scale, and because it doesn't show up as a named resource in the AWS console it tends to be ignored until someone looks at it specifically.
The Average Result
Across the 10 audits, the average identified saving was 22-28% of the monthly bill. Some accounts were higher. None were below 15%.
These aren't theoretical savings. They're changes we documented, prioritised, and helped implement.
If you're spending money on AWS and you haven't had an infrastructure review in the last 12 months, the likelihood is there's meaningful savings sitting in your account right now.
We offer this audit for free. No obligation. If there's nothing to find, we'll tell you that. If there is, and there usually is, we'll show you exactly what it is and what to do about it.
Book your free AWS cost audit. Based in Aldershot, Hampshire. Working with UK businesses of all sizes.