)
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 |
|---|---|---|
France | 1999 | |
Germany | 1997 | |
France | 1999 | |
Germany | 2020 | |
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.
SubscribeMore articles

)
)
)
)
)
)
)
)