In the example below, Hetzner costs 29–36% of the AWS on-demand bill for a steady workload. You pay the difference back in work, because Hetzner has no managed database, and someone has to own the backups, failover, patching and alerts. On an AWS bill of about USD 750 a month the saving on Hetzner does not cover maintenance, so the move does not pay back. In the example with a bill of about USD 2,700, you keep about a third.
A small SaaS on AWS and on Hetzner
For the calculator I costed a handful of typical architectures using prices from 23 September 2026. One is a small SaaS in Frankfurt: an application in containers, a PostgreSQL database with a standby in a second zone, a cache, file storage and a CDN. On Hetzner the same thing runs on five cloud servers, or on two dedicated servers plus one small cloud server. Add a load balancer, Object Storage in place of S3, an outside CDN, and backups at Hetzner and outside it.
| Setup | Per month, net, USD |
|---|---|
| AWS on-demand | 746 |
| AWS with one-year reservations | 597 |
| Hetzner Cloud | 215 |
| Hetzner dedicated servers | 271 |
What you take on when you leave AWS
Hetzner Cloud gives you servers, private networks, firewalls and load balancers, but no managed database and no managed Kubernetes.
- You run the database, its replica and failover yourself, for example PostgreSQL with Patroni and etcd on three servers. With RDS Multi-AZ, AWS keeps a standby in another zone and fails over to it.
- Hetzner Cloud copies the server’s disk once a day, while RDS restores the database to a point in time you pick. To get the same, you archive the WAL, for example with pgBackRest, to storage outside Hetzner, and test the restore regularly.
- You install OS and PostgreSQL patches yourself, where on Fargate and RDS AWS does it. The alert about a failed database comes to you, evenings included.
- Spare capacity has to be planned ahead. Since 26 June Hetzner has been stopping some customers from creating new cloud servers, and the restriction was still in place on 8 October. I covered what that means, along with the June price rises, in the post on OVH and Hetzner prices.
Hetzner takes cloud tickets at any hour, but general enquiries are handled on weekdays from 8 a.m. to 6 p.m. CET.
How much work that is
The calculator adds maintenance to the Hetzner side, because server prices alone can’t be compared fairly with managed services. The dedicated setup is three machines, so my Business plan at EUR 470 net a month, about USD 540, covers it. That includes 4 hours of work, patching and a monthly restore test, but restoring the database to a point in time comes only with the Growth plan. If someone on your team does it instead, price their hours at their rate.
After maintenance the difference is gone: Hetzner with the Business plan costs about USD 810 a month, more than AWS. Five cloud servers need the Growth plan at EUR 1,170, so nothing is left there either, and the same goes for one-year reservations on AWS. The migration costs from EUR 2,300 net, and I deduct the exit plan’s price from it if you order the migration within 90 days of the plan, so at this bill there is nothing to pay it back from.
When to stay on AWS
- Your traffic spikes, say in peak season or after a campaign. On AWS, Fargate adds tasks for the peak if you set up autoscaling. Hetzner Cloud also bills by the hour, but you have to script the scaling yourself, and a dedicated server is paid for the whole month.
- Your application uses Lambda, SQS or DynamoDB. Each one has to be replaced with something you run yourself, which usually means code changes.
- Your customers ask for specific certifications. AWS has SOC and PCI DSS among the programmes on its compliance list. Hetzner holds ISO/IEC 27001, and BSI C5 Type 2 for its cloud. If a customer contract requires a SOC 2 report, check this before you decide.
- Nobody in the company looks after servers, and you don’t want to pay someone outside to do it.
What it means for a small team
In the example above, the difference in the bill does not cover maintenance. For the larger application in the cloud exit example, AWS costs about USD 2,700 a month, and after Hetzner dedicated servers and maintenance you keep about a third of that.
Enter your bill in the calculator and look at the “You keep each month” line. The calculator also prices OVH dedicated servers, which come out cheaper than Hetzner’s in this example: at USD 746 it shows up to USD 170 a month and a payback of 14 months. If the move doesn’t pay back within two years, start by cutting the AWS bill.
3 ways I can help
- The Data Act ends cloud switching fees on 12 January 2027
Read this post next.
- Cloud exit
Migration from AWS, Azure and GCP to Hetzner and OVH. First I work out whether it pays off. If it does not, I advise against the move.
- Email me
Or directly to jacob@codelevel.pl. I reply within 1 business day.