Skip to content

Hetzner or AWS for a small company

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.

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