Every cloud cost discussion eventually reaches the same point: “But how much would it actually cost on dedicated hardware?” The conversation stalls there because nobody has done the maths.
So let me do the maths.
I am going to model a realistic SaaS backend — the kind of stack you would 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 from February 2026.
The Reference Architecture
Here is our SaaS stack:
- 3 application servers — 8 vCPU, 32GB RAM each, running a containerised API
- 1 database server — 8 vCPU, 64GB RAM, PostgreSQL with 1TB SSD storage
- 1 cache/queue server — 4 vCPU, 16GB RAM, Redis + background job processing
- 1 monitoring server — 4 vCPU, 16GB RAM, Prometheus + Grafana + log aggregation
- Load balancing — TLS termination, health checks, routing
- Object storage — 2TB for user uploads and assets
- Backups — Daily database backups retained for 30 days
- Data transfer — 5TB outbound per month
This is a bread-and-butter SaaS deployment. Nothing exotic, nothing over-engineered.
AWS Pricing
All prices in GBP, EU (Ireland) region, on-demand pricing. Reserved Instance pricing shown separately.
Compute
| Resource | Instance | Monthly Cost |
|---|---|---|
| App servers (×3) | m6i.2xlarge | £831 (£277 each) |
| Database | r6g.2xlarge (RDS Multi-AZ) | £768 |
| Cache/Queue | r6g.xlarge (ElastiCache) | £432 |
| Monitoring | m6i.xlarge | £138 |
Compute subtotal: £2,169/month
Storage
| Resource | Spec | Monthly Cost |
|---|---|---|
| RDS storage | 1TB gp3, 3000 IOPS | £96 |
| EBS (app servers ×3) | 100GB gp3 each | £19 |
| EBS (monitoring) | 500GB gp3 | £38 |
| S3 (object storage) | 2TB Standard | £44 |
Storage subtotal: £197/month
Networking
| Resource | Spec | Monthly Cost |
|---|---|---|
| ALB | 1 load balancer + LCUs | £120 |
| NAT Gateway | 3 AZs, 2TB processed | £246 |
| Data transfer out | 5TB | £364 |
Networking subtotal: £730/month
Other
| Resource | Spec | Monthly Cost |
|---|---|---|
| RDS backups | 1TB, 30-day retention | £19 |
| CloudWatch | Metrics + logs | £180 |
| Route 53 | Hosted zone + queries | £5 |
Other subtotal: £204/month
AWS Total
| On-Demand | 1-Year RI/SP | |
|---|---|---|
| Monthly | £3,300 | ~£2,310 |
| Annual | £39,600 | ~£27,720 |
The Reserved Instance price assumes a 30% discount on compute (typical for 1-year no-upfront commitments). Networking and storage do not benefit from reservations.
Hetzner Pricing
Hetzner dedicated servers, Helsinki datacenter. Prices from their server auction and standard configurator.
Compute
| Resource | Server | Monthly Cost |
|---|---|---|
| App servers (×3) | AX42 (8-core, 64GB, 2×512GB NVMe) | £132 (£44 each) |
| Database | AX102 (12-core, 128GB, 2×1.92TB NVMe) | £73 |
| Cache/Queue | AX42 (8-core, 64GB) | £44 |
| Monitoring | AX42 (8-core, 64GB) | £44 |
Compute subtotal: £293/month
Note: Hetzner servers come with more RAM and CPU than our minimum spec. The AX42 gives us 64GB where we only need 32GB. This headroom is essentially free.
Storage
| Resource | Spec | Monthly Cost |
|---|---|---|
| Database storage | Included in server (NVMe) | £0 |
| App server storage | Included in server (NVMe) | £0 |
| Object storage | 2TB (Hetzner Storage Box) | £8 |
Storage subtotal: £8/month
Networking
| Resource | Spec | Monthly Cost |
|---|---|---|
| Load balancing | Caddy on app server (or dedicated £4/mo VPS) | £4 |
| Data transfer | 20TB included per server | £0 |
Networking subtotal: £4/month
Other
| Resource | Spec | Monthly Cost |
|---|---|---|
| Backups | Hetzner Storage Box (1TB) | £4 |
| Monitoring | Self-hosted (on monitoring server) | £0 |
| DNS | Cloudflare (free tier) | £0 |
Other subtotal: £4/month
Hetzner Total
| Monthly | Annual | |
|---|---|---|
| Total | £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 after AWS Reserved Instance discounts, the same workload costs 7.5x more on AWS.
Let me say that differently: the annual saving from running this stack on Hetzner instead of AWS is £24,012 to £35,892 — depending on whether you compare against reserved or on-demand pricing.
”But What About…”
I can hear the objections. Let me address them honestly.
”Hetzner does not have the same reliability”
Hetzner’s SLA is 99.9% uptime. AWS’s EC2 SLA is 99.99%. That is a real difference — 8.7 hours of downtime per year versus 52 minutes.
But here is the nuance: AWS’s SLA applies per-instance. If a single instance goes down, you get credits. Your application’s actual availability depends on your architecture, not on the underlying platform’s SLA. A well-architected deployment on Hetzner (multiple servers, health checks, automated failover) can achieve the same application-level availability as AWS.
”What about auto-scaling?”
Our reference architecture runs at steady state. It serves 5,000 customers with predictable traffic. If traffic doubles overnight, you need to add capacity — on either platform.
On AWS, auto-scaling adds instances in minutes. On Hetzner, provisioning a new dedicated server takes 1–24 hours (often minutes from their auction). For truly bursty traffic, this is a real limitation. For steady-state SaaS with gradual growth, it is irrelevant.
If you occasionally need burst capacity, a hybrid approach works well: run your baseline on Hetzner, burst into cloud when needed.
”What about managed databases?”
RDS is genuinely convenient. Automated backups, point-in-time recovery, read replicas, failover — all handled for you. Self-hosted PostgreSQL requires you to set up pgBackRest, streaming replication, and connection pooling yourself.
That setup takes about a day with modern tooling. Ongoing maintenance is a few hours per month. The question is whether that time is worth £500+/month. For most teams at this scale, the answer is no.
”What about global availability?”
If you need servers in 25+ regions, Hetzner cannot help you. They have 5 locations (Falkenstein, Nuremberg, Helsinki, Ashburn, Hillsboro). For a European SaaS company serving European customers, that is fine. For a global product, you would need to combine Hetzner with a CDN (Cloudflare, Bunny) or consider a hybrid approach.
”What about the hidden operational cost?”
This is the most legitimate concern. Running your own infrastructure requires operational expertise. You need someone who can diagnose a failing disk, manage OS updates, and handle security patches.
But let me quantify it: if self-hosting requires 10 hours per month of additional engineering time at £100/hour, that is £1,000/month. Add that to Hetzner’s £309 and you are at £1,309 — still less than half of AWS Reserved pricing.
When AWS Actually Wins
This comparison is not meant to say “always use Hetzner.” There are legitimate cases where AWS provides value that justifies the cost:
- Startups in the first 1–2 years who need to move fast and should not be managing infrastructure
- Highly variable workloads where you genuinely cannot predict capacity needs
- Compliance-heavy industries where AWS’s certifications and audit trails reduce your burden
- Teams with zero operations experience who would 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
The specific numbers in this comparison will differ for your workload. Maybe you need GPU instances (where cloud pricing is even more aggressive). Maybe you need less compute but more storage (where the gap narrows). Maybe you are already on Reserved Instances and the delta is smaller than my on-demand comparison.
The exercise of modelling both options takes about two hours and can save you five or six figures annually. It is one of the highest-return analyses an engineering team can do.
Want us to run these numbers for your specific stack? Book a Platform Fit Verdict and we will model your infrastructure on cloud versus dedicated — with real prices and honest trade-offs.
