Independent marketplace for cloud provider accounts across 22 providers

Cloud Matrix

UpCloud vs Hetzner: Premium storage performance vs lowest-cost compute

UpCloud bet on engineered storage performance and a managed services layer, while Hetzner bet on owned data centers and capacity per unit of spend. This comparison examines storage tiers, failover patterns, automation, European jurisdiction and who operates what.

UpCloud

Nordic cloud with MaxIOPS storage

Buy UpCloud Account, $30.00
vs
Hetzner

European price-performance leader

Buy Hetzner Account, $50.00

When disk latency is the product, and when it is a line item

Most infrastructure comparisons argue about processors. This one is really about storage, because that is where these two Nordic and German platforms have made genuinely different bets. UpCloud built a proprietary block storage backend called MaxIOPS and made its input and output performance the reason to choose the company. Hetzner built data centers, purchased hardware at volume against a deliberately short catalog, and made capacity per unit of spend the reason to choose it.

Both bets are rational and both have devoted customers. A database-backed application whose response time is dominated by disk waits will feel the difference between a storage tier engineered for consistency and one that is merely adequate. A continuous integration fleet chewing through builds will feel the difference between paying for engineering polish and paying for raw cores.

The sections below examine storage design, managed services, automation, jurisdiction and the operational work each platform assumes you will do. AllCloudShop lists both, at the UpCloud account page and the Hetzner account page.

How each platform is assembled

DimensionUpCloudHetzner
Home baseHelsinki, Finland, operating since the early 2010sGunzenhausen, Bavaria, operating since 1997 with Hetzner Cloud launched in 2018
Core propositionEngineered storage performance with a managed services layerOwned facilities and volume hardware buying translated into capacity per unit of spend
Standard computeGeneral purpose, high memory and developer plans, with custom configurations availableShared vCPU and dedicated vCPU cloud servers, plus an Arm64 line
Primary storage tierMaxIOPS block storage, built for demanding input and output patternsLocal NVMe capacity included with cloud server plans
Secondary storage tierA standard storage tier for volumes that do not need MaxIOPSCloud Volumes attached over the network when local disk is insufficient
Bulk and file storageObject storage with S3-compatible accessHetzner Object Storage, plus the Storage Box product for file-protocol bulk storage
Managed databasesManaged MySQL, PostgreSQL, Valkey and OpenSearchNone; databases run on servers you operate
Managed KubernetesA managed Kubernetes service with provider-operated control planesAbsent as a product; customers operate their own clusters using Hetzner's Kubernetes integrations
Load balancingA managed load balancer integrated with the platform networkCloud load balancers attached to private networks and server targets
Network featuresSoftware-defined private networks, floating IP addresses and firewall rulesProject-scoped private networks, cloud firewalls, primary IP objects and placement groups
Route to physical hardwareNot a self-service productDedicated Root Servers ordered in Robot, alongside an auction market for returned machines
ToolingAn API, the upctl command line tool and an official Terraform providerA cloud API, the hcloud command line tool and an official Terraform provider

What the two bets actually cost

Storage engineered against storage included

UpCloud's MaxIOPS is a distributed block storage design where redundancy lives inside the storage layer and performance is meant to stay consistent under load. Hetzner includes local NVMe capacity with its plans, which is fast because it is local and comes with the trade-off that local means tied to a host. Cloud Volumes provide network-attached capacity when you need more, with the characteristics that network attachment implies. The mechanics behind both approaches are covered in the NVMe storage article.

Who runs the database and the control plane

UpCloud will operate your PostgreSQL primary and your Kubernetes control plane. Hetzner will not. That single difference reshapes a small team's workload more than any performance figure, because it moves patching, failover, backup verification and version upgrades off your calendar. What you can do on Hetzner is run them yourself on cheaper hardware, which is a perfectly good answer when you have the expertise.

Where the ceiling sits

Hetzner has an answer for workloads that outgrow virtualization: physical machines ordered in Robot, including auction stock that previous customers released. UpCloud's answer is a larger instance. For a workload that genuinely wants a whole machine, that is a meaningful asymmetry.

How much you can shape the machine

UpCloud lets you step outside the plan grid with a custom configuration when a workload does not fit one. Hetzner's plan list is deliberately short and fixed, which is part of why it is cheap and part of why an unusual resource profile pays for capacity it does not use.

Facilities, footprint and failure domains

Hetzner's economics come from vertical integration. The company builds and operates its own data center parks, concentrates enormous capacity in a small number of German and Finnish sites, and adds smaller cloud locations in the United States and Singapore. One practical consequence is physical proximity: two servers you create in the same site are frequently a very short network hop apart, which is why distributed storage systems and replicated databases are built across that link on purpose rather than in spite of it.

UpCloud's footprint is more evenly spread and smaller in total, covering European, North American and Asia-Pacific locations with a Nordic center of gravity. The company's engineering attention has gone into the platform rather than into opening sites, which suits customers who want a well-built platform in a region they already care about rather than presence everywhere.

Failover patterns differ accordingly. UpCloud's floating IP addresses make moving a service address between servers straightforward, which is the backbone of a simple high availability pair and is described in the floating IP guide. Hetzner's placement groups ensure that two instances in a pair land on different physical hosts, which addresses a different part of the same problem and is worth configuring deliberately.

For anyone running a relational database directly on either platform, storage choice and backup strategy matter more than instance size. The practices in the point-in-time recovery article are the difference between an incident and a catastrophe, and they apply whether or not the provider is operating the database for you.

Automation and daily operation

Both platforms are comfortable for teams who describe infrastructure in code, and the tooling is closely matched in spirit. UpCloud publishes an API, the upctl command line tool and an official Terraform provider, and because managed databases, clusters and load balancers are resources in that provider, a whole environment can be declared in one place. References are published at the UpCloud documentation.

Hetzner Cloud divides everything into projects, and a project is a hard wall: separate token, separate networks, separate firewall rules. Anything the console can do, the hcloud utility can do from a shell, the Terraform provider tracks the API closely, and user data supplied at creation lets a machine finish booting with its packages, users and firewall rules already applied. Physical servers are ordered through a different system entirely, described at the Robot documentation.

  • Both support SSH key injection at creation, snapshots, custom images and scheduled backups.
  • Both provide private networking, firewall rules and managed load balancers for conventional multi-tier designs.
  • UpCloud adds managed databases and a managed control plane, so stateful services need not be self-operated.
  • Hetzner adds an Arm64 line and a self-service path to physical machines, neither of which the other offers.

Teams running their own database on either platform should treat the setup as a project rather than an afternoon, and the PostgreSQL on a cloud server guide is a realistic account of what that involves.

Buying from each company

Both give European buyers a European contracting entity, which shortens the jurisdiction conversation considerably compared with an American platform operating European regions. A Finnish supplier and a German one answer slightly different questions, and neither substitutes for confirming where a specific workload's data physically sits.

Support is ticket-based on both sides. Hetzner's replies tend to come from people who clearly operate the infrastructure, terse and technically accurate, without a marketed premium tier in the shape an enterprise buyer might expect. UpCloud operates closer to its customers by virtue of being smaller and more specialized, attracting users who arrive with precise questions.

New accounts on both start with conservative resource limits that increase as usage history builds, which is worth knowing before a launch rather than during one. The general pattern is explained in the quotas and limits article.

Each at its strongest

UpCloud

Storage performance with a managed layer above it. When an application's speed is decided by how quickly a disk answers, a purpose-built tier changes the experience in a way more processors cannot. Pair that with managed databases, a managed control plane and a managed load balancer and a small team can run a demanding production system without a dedicated operations engineer.

The automation story is the companion strength. A coherent API, a usable command line tool and a mature Terraform provider are not universal in this size bracket, and they make the platform genuinely pleasant for infrastructure as code.

Hetzner

Capacity per unit of spend, with the consistency that follows from a narrow, well-understood plan list. Instances behave predictably, the internal network between machines in one location is fast enough to design around, and the Arm64 family gives a real efficiency option for workloads that port cleanly to that architecture.

The bridge to physical hardware is the second advantage. When a workload stops fitting a virtual machine, it can move onto real hardware without leaving the vendor or the network it already sits beside, and the auction market for released servers is a genuinely unusual thing to have available.

Honest constraints

UpCloud

The catalog is narrower than a large developer cloud's: no application platform, no serverless option, no first-party container registry and no route to physical servers. The location list is focused rather than global, which puts South American and African audiences at a distance. The community is small, so third-party tutorials and integrations are limited, and custom configurations exist within a platform that still expects most customers to use standard plans.

Hetzner

Everything above the operating system belongs to you. Without managed databases, a managed control plane or an application platform, stateful services and container orchestration are engineering projects rather than purchases, and there is no accelerated compute for machine learning work. Coverage outside Europe is thin. Physical servers are ordered somewhere else entirely, at a pace set by hardware availability rather than by an API, and a new account begins with modest limits that expand only as usage history accumulates.

Making the decision

UpCloud is the right answer when storage latency shapes what users experience and when handing the database and the control plane to somebody else would free your team for product work. Transactional applications, analytics front ends, agencies hosting demanding client systems and anyone who has been disappointed by disk performance elsewhere should look here. The UpCloud account listing describes the available options.

Hetzner is the right answer when the workload is compute-bound and long-lived, when the team can operate its own services competently, and when the budget has to cover more machines than a conventional cloud would allow. Build farms, self-managed application platforms, transcoding pipelines and academic computing are all comfortable here, especially for a European audience. Start from the Hetzner account listing.

Further reading narrows the field: DigitalOcean against UpCloud weighs ecosystem size against storage engineering, Vultr against UpCloud sets Nordic focus beside a worldwide footprint, and Hetzner against Vultr examines European value against global reach.

Questions worth resolving early

Will I actually notice the storage difference?

It depends entirely on your workload. Applications dominated by database writes, queue processing or many small random reads feel storage quality directly. Applications that are processor-bound or that serve mostly cached content will not. Profile before deciding, because the answer is workload-specific rather than universal.

How do teams run Kubernetes on Hetzner?

They build the cluster themselves and wire in Hetzner's integrations so that Kubernetes can talk to the platform: a controller that turns a service into a real load balancer, and a storage driver that turns a volume claim into an actual disk. Compact distributions are common for small clusters. Upgrades, control plane availability and etcd snapshots stay with you.

Is local NVMe better than network-attached storage?

It is usually faster and always less flexible, because local capacity is tied to the host your instance runs on. Network-attached volumes survive instance replacement and can be moved, at the cost of a network hop. Most designs use both: local disk for scratch, attached volumes or object storage for anything that matters.

Can I use Hetzner's Storage Box as a backup target?

That is a common use for it. It provides bulk file storage over familiar protocols, which suits backup rotations and archives that do not need object storage semantics. Keep in mind that a backup inside the same provider protects against your own mistakes more than against a provider-level problem.

Does a managed database remove the need to understand databases?

No, and expecting it to is a common mistake. It removes patching, failover mechanics and backup plumbing. Schema design, query performance, connection handling and capacity planning remain yours, and a managed service will happily run a badly designed database until it stops.

Can I use both providers together?

Yes, and a sensible split exists: latency-sensitive stateful services on the storage-focused platform, bulk compute and batch work on the cheaper one. Allow for encrypted tunnels between the two estates, and price the egress in both directions, since each network charges for what leaves it.

Choose UpCloud when

Choose UpCloud when disk latency decides what users experience and handing the database and control plane to the provider would free the team for product work.

Choose Hetzner when

Choose Hetzner when workloads are compute-bound and long-lived, the audience is European, and your team is comfortable operating its own services.

Not sure which provider fits?

Ask about products, variants, availability or purchasing on either channel.