Hetzner Cloud Review: Why Developers Are Leaving AWS for European Bare Metal
A hands-on review of Hetzner Cloud and its bare-metal servers — the price-to-performance math against AWS EC2, the dedicated vCPU lines, the server auction, and the self-hosting stack (Coolify, Dokku) that makes it work. Honest about the tradeoffs.
I have been running production workloads on Hetzner for the better part of two years now, alongside an AWS account I have kept since 2017. The contrast got hard to ignore around the time my AWS bill crept past what I was comfortable explaining to a side-project budget. So I did the migration nobody markets to you: I moved a Postgres-backed API, a couple of background workers, and a static-site build pipeline off EC2 and onto a single Hetzner dedicated-vCPU instance plus a bare-metal box for the database. The app got faster. The bill dropped by something close to an order of magnitude. And I spent a weekend wiring up the parts AWS used to do for me. That tradeoff — dramatic savings in exchange for owning more of the stack — is the whole story of Hetzner, and whether it is a good deal for you depends entirely on which side of that trade you actually want.
This is not a “ditch the cloud” manifesto. AWS earns its premium for a real set of customers. But the gap between what Hetzner charges for raw compute and what the hyperscalers charge has gotten wide enough that a lot of developers are doing the math and concluding the premium is not buying them anything they use. Here is what I found running both.
The Price-to-Performance Gap Is Not Subtle
The headline reason people move to Hetzner is cost, and the cost difference is not a clever-billing-optimization difference. It is a structural one. Hetzner’s cloud VPS line starts at a few euros a month for a shared-vCPU instance with a couple of gigabytes of RAM, and their dedicated-vCPU instances — where you get pinned physical cores rather than burstable shared time — run in the rough neighborhood of a euro or so per gigabyte of RAM per month, prices that have stayed remarkably stable as of mid-2026. Comparable EC2 instances cost multiples of that before you even look at the line items AWS adds around them.
The piece that surprised people I have shown this to is bandwidth. AWS egress is famously one of the most profitable lines in cloud computing — you pay per gigabyte to send data out of the platform, and at scale that number dwarfs your compute bill. Hetzner includes a generous monthly traffic allowance with each instance (on the order of terabytes), and overage, when you hit it, is priced at a small fraction of what AWS charges per gigabyte. For anything that serves media, large API responses, or build artifacts, this single difference can be the entire justification for moving. I have watched a friend’s video-thumbnail service go from a four-figure monthly egress bill to effectively zero.
The dedicated-vCPU versus shared-vCPU distinction matters and is worth understanding before you provision anything. Shared instances are cheaper and fine for development, low-traffic sites, and bursty workloads that sit idle most of the time. But they are subject to the noisy-neighbor problem and to fair-use CPU steal — if you peg a core for hours, you will feel it. Dedicated-vCPU instances give you guaranteed physical core time and predictable latency, which is what you want for anything user-facing or CPU-bound. The price step up is modest, and for production I default to dedicated every time.
Volumes, Networks, Load Balancers — and the Bare-Metal Auction
Hetzner Cloud is more than just cheap VPSes; it has grown a respectable set of primitives that make it usable as an actual platform rather than a box you SSH into. Block-storage Volumes attach to instances and can be resized and moved between servers, which is how you keep state off the instance’s boot disk. Private Networks let you wire instances together on an internal subnet so your app server talks to your database without traversing the public internet. Load Balancers handle TLS termination and distribute traffic across a backend pool, with health checks. Firewalls are configurable at the cloud level. There is a clean API, a Terraform provider, and a hcloud CLI, so the whole thing is automatable in the way you would expect.
It is not the AWS console. There is no managed Kubernetes that competes with EKS on features, no equivalent to the sprawling catalog of two hundred-plus services, no Lambda, no DynamoDB, no global IAM with fine-grained policies. What Hetzner gives you is the small set of building blocks that ninety percent of web applications actually need, priced sanely, with a UI that loads instantly and does not require a tutorial.
The other thing worth knowing about — and the part that genuinely delights me — is the dedicated server auction. Hetzner’s main business for decades has been dedicated bare-metal servers, and they run an auction for used hardware coming off previous leases. You can pick up a real physical machine — often something with a multi-core Xeon or Ryzen, dozens of gigabytes of RAM, and NVMe storage — for a monthly price that looks like a typo next to cloud pricing. There is no virtualization tax, no shared anything; the whole machine is yours. The catch is that auction inventory varies, setup is more hands-on (you are managing a real server, with a real provisioning step and a real reinstall process), and there is typically a one-time setup consideration depending on the listing. For a database host, a CI runner farm, or anything that wants maximum cores-per-dollar, the auction is hard to beat and has no equivalent at any hyperscaler.
The Self-Hosting Stack That Makes Hetzner Sing
A bare VPS is not a platform. The reason Hetzner has become a default among a certain kind of developer is the maturing ecosystem of open-source PaaS layers that turn a cheap server into something with a Heroku-shaped developer experience. Two are worth your attention.
Coolify is the one I reach for now. It is an open-source, self-hostable platform that you install on your own server and that then gives you a web dashboard for deploying applications, databases, and services. You connect a Git repository, and Coolify builds and deploys it — using Nixpacks or your own Dockerfile — with automatic TLS via Let’s Encrypt, environment-variable management, preview deployments, and one-click databases (Postgres, Redis, MySQL, and others). It is the closest thing to “Heroku but it is your hardware and your bill.” Pairing Coolify with a single dedicated-vCPU Hetzner instance gives a solo developer a deployment experience that genuinely rivals the managed PaaS platforms, at a fraction of the cost, with the obvious caveat that you are now the platform team. Coolify has matured a lot, and as of mid-2026 it is stable enough that I run real things on it, though it is still software you operate yourself, with the occasional rough edge that implies.
Dokku is the older, leaner, more Unix-y option. It is a single-server PaaS built on Docker and Heroku buildpacks, driven entirely from the command line — git push dokku main deploys your app, and a plugin ecosystem handles databases, TLS, and more. Dokku has been around for years, it is rock-solid, and it has almost no resource overhead, which makes it ideal for squeezing the most out of a small box. The tradeoff against Coolify is the absence of a web UI and a slightly steeper learning curve; Dokku assumes you are comfortable in a terminal and reading documentation. I tend to recommend Dokku to people who want minimalism and stability, and Coolify to people who want a dashboard and team-friendly features.
Either one, sitting on Hetzner hardware, is the actual product most people are reaching for when they say they are “moving off AWS.” They do not want raw IaaS; they want a place to git push that does not bill them like a hyperscaler.
How Hetzner Stacks Up Against the Alternatives
Hetzner does not exist in a vacuum. The “cheaper than AWS” category has several credible players, and they are not interchangeable.
| Tool | Core Offering | Pricing Posture | Managed Services | Global Edge |
|---|---|---|---|---|
| Hetzner Cloud Best for Self-hosters who want maximum cores and bandwidth per dollar | VPS + bare-metal, EU/US regions | Cheapest raw compute and bandwidth | Minimal — volumes, LB, networks | No — a handful of regions |
| AWS EC2 Best for Teams that need managed services, compliance breadth, and global reach | Full IaaS + 200+ managed services | Premium; complex per-line billing | Everything — RDS, Lambda, IAM, etc. | Yes — global, deep |
| DigitalOcean Best for Developers wanting clean UX and some managed services without AWS complexity | Developer-friendly VPS + managed DB/k8s | Mid — pricier than Hetzner, simpler than AWS | Some — managed DB, k8s, spaces | Yes — several global regions |
| Fly.io Best for Apps that need low latency in multiple regions with little ops | App-centric edge deployment platform | Mid; usage-based | Some — managed Postgres, volumes | Yes — deploy close to users |
| OVHcloud Best for EU-data-residency workloads wanting more regions than Hetzner | EU bare-metal + VPS, broad catalog | Competitive; close to Hetzner on metal | Moderate — managed DB, k8s | Yes — global regions |
The honest positioning: Hetzner wins decisively on price-to-performance and on bandwidth, and loses on managed services and global footprint. DigitalOcean and Fly.io sit in the middle — they cost more than Hetzner but give you back some of the managed pieces and the multi-region reach that Hetzner lacks. If your reason for leaving AWS is purely cost and you are comfortable self-hosting, Hetzner is the most aggressive option. If your reason is “AWS is too complicated but I still want managed databases and a region near my users,” DigitalOcean or Fly.io is the gentler landing.
A few tradeoffs deserve to be named plainly. Hetzner has no global edge — your users in Sydney or São Paulo will see higher latency than they would from an AWS region near them, though you can put a CDN like Cloudflare in front to mitigate static-asset latency. Hetzner’s abuse and KYC policies are stricter than the hyperscalers’; new accounts, especially those provisioning a lot of capacity quickly, sometimes get identity-verification requests or holds, and the company is conservative about anything that smells like spam or crypto mining. And you are responsible for far more of the operational surface than you are on AWS. None of these are dealbreakers, but discovering them after you have migrated is unpleasant.
Who Should Move, and Who Should Stay
Move to Hetzner if you run a stateless web application, a side project, a personal infrastructure stack, a CI/build farm, or any CPU-bound or bandwidth-heavy workload, and you are comfortable owning your deployment story — ideally with Coolify or Dokku doing the heavy lifting. Move if your AWS bill is dominated by raw EC2 compute and egress rather than by managed services you genuinely depend on. Move if you value predictable, flat pricing over the elasticity of paying-by-the-second. The bare-metal auction in particular is a near-unbeatable deal for databases and anything that wants real cores.
Stay on AWS — or move only partially — if you lean heavily on managed services like RDS, DynamoDB, Lambda, or the IAM and compliance ecosystem; if you need a global edge and low latency for a worldwide user base; if your organization has compliance or procurement requirements that the hyperscalers satisfy out of the box; or if your team’s time is genuinely more expensive than the savings and you would rather pay AWS to run the boring parts. There is no shame in that math; for plenty of teams it is the correct answer.
The pattern I have settled on personally is a hybrid: Hetzner for compute, databases, and bandwidth-heavy serving, with a Cloudflare layer in front for CDN and DNS, and a small residual AWS footprint for the one or two managed services I have decided are worth paying for. That combination has cut my infrastructure spend dramatically without forcing me to give up the conveniences I actually use. The move off AWS does not have to be all-or-nothing — and for most developers, it should not be.
FAQ
FAQ
Is Hetzner Cloud actually that much cheaper than AWS EC2?+
What is the difference between Hetzner's shared and dedicated vCPU instances?+
What is the Hetzner server auction and is it worth using?+
Do I need Coolify or Dokku to use Hetzner?+
What are the biggest downsides of moving from AWS to Hetzner?+
Related tools
Beehiiv
Newsletter platform with built-in ad network and Boost referrals.
Try Beehiiv →
Webflow
Visual site builder with real CSS export and a CMS that scales.
Try Webflow →
Some links above are affiliate links. We may earn a commission if you sign up. See our disclosure for details.
Related reading
2026-06-04
Better Auth Review: The Self-Hosted, Framework-Agnostic Auth Library for 2026
A hands-on review of Better Auth, the TypeScript-first, self-hosted auth library you run against your own database — covering OAuth, 2FA, organizations, plugins, adapters, and when paying for Clerk is still the smarter call.
2026-06-04
Pulumi vs Terraform vs OpenTofu: Infrastructure as Code in 2026
I ran Pulumi, Terraform, and OpenTofu against the same AWS and Cloudflare stacks for several weeks. Here is how the language model, state handling, provider coverage, and the BSL-versus-open-source split actually shape which one your team should pick in 2026.
2026-06-04
Render Review: The Heroku Successor That Won the Indie Backend in 2026
I moved three side projects and one production API to Render over two months. Here's the honest take on git-push deploys, managed Postgres, cold starts, and where Render beats Fly.io and Railway — plus the egress and storage costs nobody mentions.
2026-06-04
Tigris vs Cloudflare R2 vs Backblaze B2: Object Storage for Edge Apps in 2026
I moved three real workloads across Tigris, Cloudflare R2, and Backblaze B2 to figure out which S3-compatible store actually fits edge apps — egress, latency, and integration compared.
2026-05-28
Caddy vs Traefik vs nginx Proxy Manager: reverse proxies for modern stacks
We migrated three production stacks across Caddy 2.8, Traefik v3.1, and nginx Proxy Manager 2.11. Here is where each one earns its keep and where it bites you.
Get the best tools, weekly
One email every Friday. No spam, unsubscribe anytime.