All articles

European Cloud Providers Compared: A Hands-On Terraform Test (January 2026)

I tested four European cloud providers so you don't have to. Signed up, added credit cards, deployed infrastructure with Terraform, hit the walls, found the workarounds.

Why European cloud now? The reasons keep stacking up. Post-Schrems II, data residency matters. GDPR compliance is easier when your data doesn't leave the EU. And the geopolitical picture has shifted. Trump's tariffs, trade tensions, and the broader push for what von der Leyen calls "European independence" aren't just political talking points anymore. Reducing dependency on American hyperscalers is becoming practical risk management. As she put it at Davos: "The world has changed permanently. And we need to change with it."

This follows my previous post on getting started with OpenTofu on OVH. Here's how the alternatives stack up.

The Contenders

Provider

Country

Founded

OVHcloud

France

1999

Hetzner

Germany

1997

Scaleway

France

1999

STACKIT

Germany

2020

Microsoft Azure

USA

2010

Azure is here as the baseline. It's what most enterprises know, and it has EU regions. But EU regions don't mean EU-owned infrastructure or EU legal jurisdiction over your data.

Short Version

Scaleway wins for developer experience and Terraform. OVH has the most services. Hetzner is cheapest but bare-bones. STACKIT wouldn't let me in. Azure works fine but you're back to US jurisdiction and hyperscaler complexity.


Onboarding

OVH

Sign up, add credit card, start deploying. They give you $200 free credits (in dollars, weirdly, not euros). The control panel works fine. I was deploying resources within 30 minutes.

Scaleway

GitHub login, nice wizard-style project setup. Feels like it was built by developers for developers. $100 free credit. The UI is clean and easy to navigate. Had my first resource up in under 20 minutes.

Hetzner

Quick signup. The console is minimal, which is actually nice after dealing with AWS or Azure. Some workflows need manual console steps though. Took about 45 minutes to get everything working due to some credential quirks.

STACKIT

Signed up, added my credit card, and then waited. Over 24 hours later they were still "verifying" my account. Then I got a rejection email citing a missing credit report.

This has literally never happened to us anywhere. Not at any cloud provider, not at any SaaS. We have a legitimate company that's existed for years and a valid credit card from a reputable bank. Very strange. While waiting for STACKIT I'd already moved on to testing other providers.

Azure (baseline)

The baseline for most Dutch companies. Create Microsoft account, add payment, navigate through a maze of blades and resource groups. Works, but the console is overwhelming compared to the European alternatives. Takes a beginner longer to deploy a simple storage account than it took on Scaleway, just because of the UI/documentation complexity.


What Can You Actually Deploy?

Scaleway

Good balance between having enough and not being overwhelming:

  • Managed Databases (PostgreSQL, MySQL, Redis, ClickHouse coming)

  • Managed Kubernetes (Kapsule)

  • Managed Kafka

  • Serverless functions, containers, and jobs

  • Object Storage, Block Storage

  • Load Balancers, Private Networks, DNS

They also have an environmental footprint analyzer showing carbon impact of your infrastructure. Nice touch.

OVH

Broadest range of services:

  • Managed Kubernetes

  • Managed Databases

  • Object Storage

  • Compute (via OpenStack)

  • Bare metal

  • vRack (private networking)

  • Web hosting, domains, CDN

The catch: you need multiple Terraform providers. One for OVH-specific stuff, one for OpenStack compute, sometimes the AWS provider for S3 operations. It's messy.

Hetzner

Keeps it simple:

  • Cloud Servers (VMs)

  • Volumes (SSD storage)

  • Floating IPs, Firewalls, Load Balancers

  • Private Networks, DNS Zones

  • Object Storage (S3-compatible)

  • Storage Boxes (network storage)

No managed Kubernetes. No managed databases. No serverless. If you want Kubernetes on Hetzner, you need a third party like cloudfleet.ai.

If you want managed services, look elsewhere. If you want cheap fast VMs and can manage everything yourself, Hetzner is great.

STACKIT

No idea. Couldn't get in.

Azure (baseline)

Everything. Managed Kubernetes (AKS), dozens of database options, serverless, AI services, you name it. That's the advantage of a hyperscaler. The downside: you need a week to understand the service catalog, and another week to figure out IAM. Also, your data is subject to US CLOUD Act regardless of which region you deploy to.


Terraform Experience

This is where the differences really show.

All code examples are in our GitHub repo: github.com/wolkwork/eu-clouds-tofu

Scaleway

Provider: scaleway/scaleway

Really good. Documentation is thorough with clear examples. The credential generation flow even includes Terraform examples, which I've never seen at any other cloud provider.

Had a bucket deployed with proper Terraform code in about 20 minutes. Works well with Claude Code too.

resource "scaleway_object_bucket" "main" {
  name = "my-bucket"
  region = "fr-par"
}

Clean, simple, works.

OVH

Provider: ovh/ovh

Works but you need to understand their multi-provider setup. API credential generation is manual but documented. Once it's set up, it's reliable.

Main annoyance: different providers for different resource types. OpenStack for compute, OVH for managed services, AWS for some S3 stuff.

Hetzner

Provider: hetznercloud/hcloud

Frustrating.

Object Storage requires the MinIO provider because their own Terraform provider doesn't include bucket management. You also need to manually generate S3 credentials in the console. There's no API for this. So your workflow is: go to console, generate credentials, copy to .env, then run Terraform. Breaks the whole code-first approach.

The MinIO provider also has compatibility issues with Hetzner. Standard metadata that works elsewhere gets rejected. And error handling is rough. I got errors that turned out to be non-fatal. Terraform failed but the bucket deployed anyway.

Took about an hour to deploy a simple bucket, and I needed a lot of contextual knowledge to debug the issues. Not beginner-friendly.

# Hetzner requires MinIO provider for S3
provider "minio" {
  minio_server   = "fsn1.your-objectstorage.com"
  minio_user     = var.s3_access_key  # Must get from console manually
  minio_password = var.s3_secret_key  # Must get from console manually
  minio_ssl      = true
}

STACKIT

Couldn't test.

Azure (baseline)

Provider: hashicorp/azurerm

Solid provider, well documented. But deploying anything requires understanding resource groups, subscriptions, tenants, service principals. A simple storage account needs more boilerplate than the entire Scaleway setup.

resource "azurerm_resource_group" "main" {
  name     = "my-resources"
  location = "West Europe"
}

resource "azurerm_storage_account" "main" {
  name                     = "mystorageaccount"
  resource_group_name      = azurerm_resource_group.main.name
  location                 = azurerm_resource_group.main.location
  account_tier             = "Standard"
  account_replication_type = "LRS"
}

resource "azurerm_storage_container" "main" {
  name                  = "my-bucket"
  storage_account_name  = azurerm_storage_account.main.name
  container_access_type = "private"
}

Three resources for what Scaleway does in one.


Comparison Table

Criteria

Scaleway

OVH

Hetzner

STACKIT

Azure

Onboarding

Service Catalog

Managed K8s

Managed DBs

Terraform

?

UI/UX

Free Credits

$100

$200

None

None

$200

Pricing

Mid

Mid

Cheapest

Mid

Most expensive

Code-First

?

EU Sovereignty


When to Choose Each

Scaleway: You want things to just work. Good Terraform support, managed services, clean UI.

OVH: You need the broadest European service catalog or you're already in their ecosystem.

Hetzner: Price is everything and you can manage your own infrastructure.

STACKIT: You're an enterprise with an existing relationship and German data sovereignty is a must.

Azure: You need services the European providers don't offer, your organization already runs on Microsoft, or sovereignty isn't a concern.


Bottom Line

Scaleway surprised me. Didn't expect a European provider to nail the developer experience this well. For most teams, that's where I'd start.

STACKIT rejecting us over a credit report was bizarre. Not a great sign if they want to compete seriously.


Need help with European cloud infrastructure? At Wolk we help organizations with sovereign cloud implementations. Reach out at hello@wolk.work.


Stay up to date!

Subscribe to our newsletter, de Wolkskrant, to get the latest tools, trends and tips from the industry.

Subscribe