Over the past year we moved 11 Kubernetes clusters off AWS and GCP onto Hetzner. Savings ranged from 50% to 78% depending on the workload. But numbers without context lie, and Hetzner's 2026 price increases changed the math for new deployments. This article breaks down the real economics of Kubernetes on Hetzner versus AWS EKS, the scenarios where the move pays off, the ones where it backfires, and the exact stack we use to run production clusters.
The short answer
"5x cheaper" is true for raw compute and almost never true for total cost. Once you add the engineering time a self-managed cluster needs, the realistic saving for a mid-size steady workload was 40–60% at January 2026 prices. After Hetzner's June 2026 price adjustment, the gap is smaller and depends heavily on your traffic profile and how much DevOps capacity you already have.
The real economics
Take a typical production cluster: six worker nodes with 32 vCPU and 64 GB of RAM each.
On AWS. Six c6i.8xlarge instances cost about $1.36 per hour each on demand in us-east-1 (AWS EC2 on-demand pricing), roughly $6,000 per month. With a one-year Savings Plan it drops to around $0.90 per hour. Add the EKS control plane at $0.10 per hour (Amazon EKS pricing), EBS volumes, a load balancer and a NAT gateway, and a realistic bill is about $4,200 per month before data transfer.
On Hetzner, January 2026. Six AX102 dedicated servers (AMD Ryzen 9 7950X3D, 16 cores / 32 threads, 128 GB RAM) plus three small cloud servers for the control plane came to roughly $850 per month.
The part people forget. A self-managed cluster needs a DevOps engineer at 0.3–0.5 FTE for upgrades, monitoring, backups and incidents — about $2,500 per month of loaded cost in our market. So the honest comparison at January prices was $4,200 versus $3,350, not $4,200 versus $850.
Update: Hetzner's 2026 price increases
Hetzner raised prices on April 1, 2026 and again on June 15, 2026, amid sharply higher hardware costs, especially for memory. For new orders after June 15, an AX102 costs €257.30 per month (excluding IPv4) plus a €129 setup fee, and the dedicated-vCPU cloud server CCX53 (32 vCPU, 128 GB) went from €249.99 to €533.49 per month in Germany and Finland (Hetzner price adjustment, June 2026). Existing servers keep their old price unless you change them.
| Monthly cost, 6 × 32 vCPU workers | Compute | + DevOps 0.3–0.5 FTE | Total |
|---|---|---|---|
| AWS EKS, 1-year Savings Plan | ~$4,200 | included in managed services | ~$4,200 |
| Hetzner dedicated, January 2026 prices | ~$850 | ~$2,500 | ~$3,350 |
| Hetzner dedicated, after June 15, 2026 | ~$1,900 | ~$2,500 | ~$4,400 |
At list prices for a new six-node cluster, the compute saving now roughly equals the cost of the engineer. The move still pays off when:
- You already have a platform team, so the DevOps cost is not incremental.
- You run several clusters, because one engineer's time is spread across all of them.
- You serve a lot of traffic. Hetzner Cloud servers in EU locations include 20 TB of outbound traffic per month and dedicated servers come with unmetered traffic (Hetzner Cloud), while AWS charges about $0.09 per GB for the first 10 TB of internet egress (AWS data transfer pricing). At 50 TB a month that is more than $4,000 on AWS and close to zero on Hetzner.
- You can use Hetzner's limited offerings or server auction, where older or refurbished hardware is sold well below list price.
When Hetzner is the right choice
- Steady-state workloads without large bursts. Hetzner Cloud servers are billed hourly, but there is no equivalent of AWS Auto Scaling groups with spot capacity; the Cluster Autoscaler provider for Hetzner works for cloud nodes, not dedicated ones.
- European customers where you don't need a global CDN with 30+ regions. Hetzner operates data centers in Germany and Finland, plus locations in the US and Singapore (Hetzner locations).
- Data residency in the EU. Hosting with a German company in EU data centers simplifies GDPR conversations with customers.
- A team that owns infrastructure as code and monitoring. Hetzner gives you machines and networking; everything above that is yours.
- Budget for an in-house DevOps engineer. Hetzner is not self-driving, and it has no first-party managed Kubernetes. Third-party platforms build managed clusters on top of it, but then you pay for that layer too.
When to stay on AWS or GCP
- You depend on managed services such as SageMaker, BigQuery, Bedrock, DynamoDB or Aurora. Running their open-source equivalents yourself erases the savings quickly.
- Global delivery with P95 latency under 100 ms across five or more continents.
- Teams without DevOps. Managed EKS or GKE run by a product team is cheaper than a self-managed cluster nobody owns.
- Enterprise compliance requirements such as SOC 2 reports, HIPAA or FedRAMP. Hetzner's data centers are certified to ISO/IEC 27001 (Hetzner certification), but if your customers' security questionnaires expect hyperscaler attestations, factor in the sales friction.
- Bursty or seasonal traffic, where spot instances and scale-to-zero beat paying for idle dedicated servers.
How we build clusters on Hetzner
- Talos Linux as the OS. Immutable, minimal and managed entirely through an API — no SSH, no package manager, no configuration drift. Upgrades of the OS and Kubernetes are a single API call per node.
- Cilium as the CNI instead of Calico. eBPF-based networking gives us network policies, kube-proxy replacement and deep observability through Hubble. Cilium is a graduated CNCF project (CNCF).
- Hetzner Cloud Controller Manager and CSI driver. Native load balancers, private networks and persistent volumes. Note that Hetzner Cloud volumes attach only to cloud servers; on dedicated nodes we use local NVMe with replicated storage instead.
- Argo CD for GitOps. The whole cluster state lives in Git, so we can rebuild a cluster from scratch in about 30 minutes.
- Backups with Velero to a Hetzner Storage Box, plus an offsite copy to another provider's S3-compatible storage.
- Monitoring with VictoriaMetrics, Grafana and Loki, on dedicated monitoring nodes so an incident in the workload doesn't take down observability.
A minimal Talos patch for a Hetzner node with Cilium looks like this:
# controlplane-patch.yaml
cluster:
network:
cni:
name: none # Cilium is installed separately via Helm
proxy:
disabled: true # Cilium replaces kube-proxy
externalCloudProvider:
enabled: true # hand node lifecycle to the Hetzner CCM
machine:
kubelet:
extraArgs:
cloud-provider: external
A migration plan that works
- Inventory dependencies on managed services and decide for each one: keep it on AWS, replace it, or self-host it.
- Build the cluster as code (Terraform or OpenTofu for machines, Talos config, Argo CD for everything else) before moving any workload.
- Move stateless services first behind a DNS-weighted split, then databases with logical replication and a planned cutover window.
- Run both environments for two to four weeks and compare latency, error rates and the actual invoice, not the estimate.
- Decommission AWS resources aggressively. Forgotten NAT gateways and snapshots are where "savings" quietly disappear.
If you deploy from GitHub Actions, self-hosted runners on the new cluster cut CI costs too; see CI/CD without pain: GitHub Actions for teams up to 20 developers.
Hetzner is not "the cheap AWS". It's a different philosophy: you pay less in money and more in engineering time. Choose deliberately.
Related guides
The stack above depends on three practices we describe separately: infrastructure as code with OpenTofu or Terraform, tested database backups in PostgreSQL backup and disaster recovery, and monitoring with OpenTelemetry.
FAQ
Does Hetzner offer managed Kubernetes? Not as a first-party product. You run Kubernetes yourself with Talos, k3s, RKE2 or Cluster API, using Hetzner's official cloud controller manager and CSI driver, or you use a third-party managed platform on top of Hetzner.
Is Hetzner reliable enough for production? For most B2B and SaaS workloads, yes, provided you design for node failure: spread nodes across locations, keep backups offsite and practice restores.
Is the 5x saving real after the 2026 price increases? On raw compute for existing servers, often yes. For a new cluster at June 2026 list prices, expect compute to be roughly 2x cheaper than AWS with a Savings Plan, with the biggest additional savings coming from egress traffic.
Cloud servers or dedicated servers? We run the control plane on small cloud servers and heavy workers on dedicated machines, connected through a private network. That combines quick provisioning with the best price per core.
Sources
- Hetzner (2026). Price adjustment, 15 June 2026.
- AWS. Amazon EC2 on-demand pricing and Amazon EKS pricing.
- Hetzner. Cloud servers and locations.
- Hetzner. Certification (ISO/IEC 27001).
- Sidero Labs. Talos Linux.
- CNCF. Cilium project.
- Hetzner Cloud on GitHub. Cloud Controller Manager and CSI driver.
- Kubernetes. Cluster Autoscaler for Hetzner.
- Argo CD, Velero, VictoriaMetrics documentation.