Often a discussion about cloud cost will result in the question: “But how much would it actually cost on dedicated hardware?”
I’m going to model a realistic SaaS backend — the kind of stack you’d see at a B2B company with 5,000 customers and £2–5M ARR — and price it on both AWS and Hetzner dedicated servers. Same workload, same performance requirements, real prices.
The reference architecture
- 3 application servers — 8 vCPU, 32GB RAM each, containerised API
- 1 database server — 8 vCPU, 64GB RAM, PostgreSQL with 1TB SSD
- 1 cache/queue server — 4 vCPU, 16GB RAM, Redis + background jobs
- 1 monitoring server — 4 vCPU, 16GB RAM, Prometheus + Grafana + logs
- Load balancing — TLS termination, health checks, routing
- Object storage — 2TB for user uploads and assets
- Backups — daily database backups, 30-day retention
- Data transfer — 5TB outbound per month
Bread-and-butter SaaS deployment. Nothing exotic.
AWS pricing
GBP, EU (Ireland) region, on-demand. Reserved Instance pricing shown separately.
Compute
| Resource | Instance | Monthly |
|---|---|---|
| App servers (×3) | m6i.2xlarge | £831 |
| Database | r6g.2xlarge (RDS Multi-AZ) | £768 |
| Cache/Queue | r6g.xlarge (ElastiCache) | £432 |
| Monitoring | m6i.xlarge | £138 |
Subtotal: £2,169/month
Storage
| Resource | Spec | Monthly |
|---|---|---|
| RDS storage | 1TB gp3, 3000 IOPS | £96 |
| EBS (app servers) | 100GB gp3 ×3 | £19 |
| EBS (monitoring) | 500GB gp3 | £38 |
| S3 | 2TB Standard | £44 |
Subtotal: £197/month
Networking
| Resource | Spec | Monthly |
|---|---|---|
| ALB | 1 LB + LCUs | £120 |
| NAT Gateway | 3 AZs, 2TB processed | £246 |
| Data transfer out | 5TB | £364 |
Subtotal: £730/month
Other
| Resource | Spec | Monthly |
|---|---|---|
| RDS backups | 1TB, 30 days | £19 |
| CloudWatch | Metrics + logs | £180 |
| Route 53 | Zone + queries | £5 |
Subtotal: £204/month
AWS total
| On-Demand | 1-Year RI/SP | |
|---|---|---|
| Monthly | £3,300 | ~£2,310 |
| Annual | £39,600 | ~£27,720 |
Reserved pricing assumes 30% discount on compute (typical 1-year no-upfront). Networking and storage don’t benefit from reservations.
Hetzner pricing
Dedicated servers, Helsinki datacenter. Server auction and standard configurator.
Compute
| Resource | Server | Monthly |
|---|---|---|
| App servers (×3) | AX42 (8-core, 64GB, 2×512GB NVMe) | £132 |
| Database | AX102 (12-core, 128GB, 2×1.92TB NVMe) | £73 |
| Cache/Queue | AX42 | £44 |
| Monitoring | AX42 | £44 |
Subtotal: £293/month
Hetzner servers come with more RAM and CPU than the minimum spec. The AX42 gives 64GB where we only need 32GB. That headroom is free.
Storage, networking, other
| Resource | Monthly |
|---|---|
| Object storage (2TB Storage Box) | £8 |
| Load balancing (Caddy on VPS) | £4 |
| Data transfer (20TB included per server) | £0 |
| Backups (1TB Storage Box) | £4 |
| Monitoring (self-hosted) | £0 |
| DNS (Cloudflare free) | £0 |
Subtotal: £16/month
Hetzner total
| Monthly | Annual |
|---|---|
| £309 | £3,708 |
The comparison
| AWS On-Demand | AWS Reserved | Hetzner | |
|---|---|---|---|
| Monthly | £3,300 | £2,310 | £309 |
| Annual | £39,600 | £27,720 | £3,708 |
| vs Hetzner | 10.7x | 7.5x | 1x |
Even with Reserved Instance discounts, the same workload costs 7.5x more on AWS. Annual saving: £24,012 to £35,892.
The objections
”Hetzner doesn’t have the same reliability”
Hetzner’s SLA is 99.9%. AWS EC2 is 99.99%. Real difference — 8.7 hours downtime per year vs 52 minutes.
But AWS’s SLA applies per-instance. Your application’s actual availability depends on your architecture, not the platform’s SLA. A well-architected Hetzner deployment (multiple servers, health checks, automated failover) achieves the same application-level availability.
”What about auto-scaling?”
This reference architecture runs at steady state. 5,000 customers, predictable traffic. If traffic doubles overnight, you need to add capacity on either platform.
On AWS, you have the ability to auto-scaling and add instances in minutes. On Hetzner, provisioning takes 1–24 hours (often minutes from their auction) which for truly bursty traffic is a real limitation. For steady-state SaaS with gradual growth it’s irrelevant especially if you build in some overhead with the cost savings.
Hybrid approach works well here: baseline on Hetzner, and use Cloud for resources that need that scalability.
”What about managed databases?”
RDS is genuinely convenient. Automated backups, point-in-time recovery, read replicas, failover — all handled. Self-hosted PostgreSQL requires pgBackRest, streaming replication, and connection pooling.
That setup takes about a day with modern tooling. Ongoing maintenance is a few hours per month. Whether that’s worth £500+/month depends on your team. For most teams at this scale the time cost is lower than the monetary cost, alternatively you can work with an Managed Services Provider to hand over that responsibility. Bear in mind that generally hyperscaler support won’t help you with tasks such as optimising queries or investigating application faults, they are there to manage the DB itself.
”What about global availability?”
If you need servers in 25+ regions, Hetzner can’t help. They have 5 locations. For a European SaaS serving European customers, that’s not an issue. For a global product, combine Hetzner with a CDN (Cloudflare, Bunny) or go hybrid.
”What about the hidden operational cost?”
Most legitimate concern. Running your own infrastructure requires someone who can diagnose a failing disk, manage OS updates, and handle security patches.
So lets say 10 hours/month of additional engineering time at £100/hour = £1,000/month. Add to Hetzner’s £309 = £1,309 which is still less than half of AWS Reserved pricing. You can also partner with a Managed Service Provider to help you where you are weak on those skills, which often companies on a hyperscaler will do anyway.
When AWS actually wins
We certainly aren’t arguing that you should just host everything yourself. Legitimate cases for AWS:
- Early-stage startups who need to move fast and shouldn’t be managing infrastructure
- Highly variable workloads where you genuinely can’t predict capacity
- Compliance-heavy industries where AWS certifications reduce your audit burden
- Teams with zero ops experience who’d spend more time managing servers than the cost difference warrants
The decision should be based on arithmetic, not assumption. Too many companies default to AWS without ever modelling the alternative.
Running the numbers for your stack
Your specific numbers will differ. Maybe you need GPU instances (where cloud pricing is even more punishing). Maybe you need less compute but more storage (where the gap narrows). Maybe you’re already on Reserved Instances and the delta is smaller.
The exercise of modelling both options takes about two hours and can save you five or six figures annually.
The Platform Fit Verdict does exactly this — models your actual stack on cloud versus dedicated, with real prices and an honest breakdown of the trade-offs.

