DEV Community

Cover image for Same setup, seven clouds: server and database prices compared
Denys Zaruin
Denys Zaruin

Posted on Originally published at moveinfra.eu

Same setup, seven clouds: server and database prices compared

Originally published on moveinfra.eu.

For a standard European production setup, public list prices on EU-owned cloud providers come out about 34% to 57% lower per month than on AWS, Microsoft Azure, or Google Cloud in our example stack, with server prices and outbound internet traffic fees driving most of the gap. As of 28 October 2026, an example web application stack with a managed PostgreSQL database costs approximately €774.30 per month on AWS, €764.76 on Azure, and €746.58 on Google Cloud, compared to €363.92 on Scaleway, €430.19 on OVHcloud, and €496.00 on UpCloud. On Hetzner, where PostgreSQL must be self-managed on a virtual server, the equivalent setup is approximately €336.85 per month. However, EU providers are not cheaper on every individual line item, and differences in hardware generations, storage IOPS, and support tiers mean that raw list prices are only the starting point for an infrastructure decision.

Key takeaways

  • Compute and database instances cost less on EU clouds: Dedicated-core virtual servers on Hetzner, OVHcloud, Scaleway, and UpCloud are consistently lower in price than comparable general-purpose instances on US hyperscalers.
  • Internet egress creates the widest cost gap: Moving 1 TB to 10 TB of outbound data per month adds hundreds of euros to an AWS, Azure, or Google Cloud bill, while Hetzner, OVHcloud, Scaleway, and UpCloud charge €0.00 within their included traffic allowances and fair-use policies.
  • EU clouds are not always the cheapest per line item: UpCloud's MaxIOPS block storage (€220.00 for 1 TB) and production load balancer (€30.00) are more expensive than the base equivalents on AWS, Azure, and Google Cloud, and OVHcloud's Essential managed PostgreSQL node (€143.15) costs slightly more than AWS or Azure.
  • Service catalogs differ: Hetzner does not offer managed PostgreSQL or a managed Kubernetes control plane, which lowers the bill only if your engineering team is willing to run those services on virtual servers themselves.

How we compare the seven clouds

Cloud pricing pages are notoriously hard to compare side by side. Providers bill in different currencies, use different billing intervals (by the second, hour, or month), and bundle network traffic or storage performance in different ways.

The numbers in this article are taken from our open-data EU Cloud Price Index. All figures are public list prices fetched on 28 October 2026, expressed in euros per month, excluding VAT, with no reserved-instance commitments, savings plans, or negotiated enterprise discounts. Where a provider lists prices in US dollars, amounts are converted at the European Central Bank reference rate of 1.1133 USD per EUR. A billing month is standardized at 730 hours, or the provider's monthly billing cap (672 hours for UpCloud). For US hyperscalers, prices reflect European regions: AWS Frankfurt (eu-central-1), Azure Germany West Central, and Google Cloud Frankfurt (europe-west3).

Because providers update their catalogs and pricing tiers regularly, treat all numbers below as approximate as of 2026 and check each provider's official pricing page before finalizing a budget.

Virtual server prices across four sizes

To compare compute costs, we look at four common virtual machine sizes ranging from 2 vCPU / 8 GB RAM up to 16 vCPU / 64 GB RAM. We selected general-purpose instances with dedicated vCPUs where specified (such as Hetzner's CCX series, OVHcloud's B3 series, Scaleway's PRO2/GP1, UpCloud's Premium plan, and the m6a and D_v4 families on AWS and Azure).

Server size AWS Azure Google Cloud Hetzner OVHcloud Scaleway UpCloud
2 vCPU, 8 GB €67.86 (m6a.large) €66.80 (Standard_D2a_v4) €56.61 (e2-standard-2) €42.99 (CCX13) €37.38 (b3-8) €40.95 (PRO2-XXS) €38.00 (PREMIUM-2xCPU-8GB)
4 vCPU, 16 GB €135.73 (m6a.xlarge) €133.59 (Standard_D4a_v4) €113.22 (e2-standard-4) €85.99 (CCX23) €74.68 (b3-16) €67.76 (GP1-XS) €92.00 (PREMIUM-4xCPU-16GB)
8 vCPU, 32 GB €271.46 (m6a.2xlarge) €267.25 (Standard_D8a_v4) €226.44 (e2-standard-8) €138.49 (CCX33) €149.36 (b3-32) €139.24 (GP1-S) €192.00 (PREMIUM-8xCPU-32GB)
16 vCPU, 64 GB €542.93 (m6a.4xlarge) €534.43 (Standard_D16a_v4) €452.89 (e2-standard-16) €275.99 (CCX43) €298.72 (b3-64) €279.97 (GP1-M) €384.00 (PREMIUM-16xCPU-64GB)

Approximate monthly list prices as of 28 October 2026, excluding VAT. Check provider pricing pages for current rates.

Across all four tiers, AWS and Azure track within two euros of each other, and Google Cloud's e2-standard line sits roughly 15% below them. However, note that Google's E2 series uses dynamic resource management (shared-core technology under the hood) rather than fixed physical cores.

Among the European providers, compute prices are roughly 30% to 50% lower than on AWS and Azure. At the 8 vCPU / 32 GB tier, Hetzner (€138.49), Scaleway (€139.24), and OVHcloud (€149.36) are just over half the list price of AWS (€271.46). UpCloud's Premium tier is priced slightly higher than the other three EU clouds at larger sizes (€192.00 for 8 vCPU / 32 GB), reflecting its bundled local NVMe storage and high-availability SLA structure.

Managed PostgreSQL, load balancers, and Kubernetes

Modern web infrastructure rarely stops at raw virtual machines. Most engineering teams rely on managed relational databases, load balancers, and container orchestration to reduce operational overhead.

Managed service AWS Azure Google Cloud Hetzner OVHcloud Scaleway UpCloud
Managed PostgreSQL (2 vCPU, 8 GB) €131.14 (db.m7g.large) €139.01 (D2ds_v5 General Purpose) €109.11 (db-custom-2-8192 Cloud SQL Enterprise) No managed offer €143.15 (Essential B3-8) €80.30 (DB-PRO2-XXS) €60.00 (rdb.standard.2CPU-8GB Standard, 1 node)
Managed load balancer €17.70 (Application Load Balancer) €16.39 (Standard Load Balancer) €16.39 (Cloud Load Balancing forwarding rule, first 5) €7.49 (LB11) €6.00 (Octavia Load Balancer Small) €16.79 (LB-S) €30.00 (Managed Load Balancer Production S, 2 nodes)
Managed Kubernetes control plane €65.57 (Amazon EKS standard support) €65.57 (AKS Standard tier, Uptime SLA) €65.57 (GKE cluster management fee) No managed offer €65.70 (Managed Kubernetes Service Standard) €80.30 (Kapsule Dedicated-4) €60.00 (Managed Kubernetes Production control plane)

Approximate monthly list prices as of 28 October 2026, excluding VAT. Load balancer prices on AWS, Azure, and Google Cloud show base fixed fees before per-GB or LCU data processing charges.

This table highlights why you cannot assume an EU provider is automatically cheaper on every product:

  • Managed PostgreSQL: UpCloud (€60.00) and Scaleway (€80.30) offer substantial savings over AWS (€131.14) and Azure (€139.01) for a single 2 vCPU / 8 GB database node. However, OVHcloud's Essential B3-8 plan is €143.15 per month, making its base list price slightly higher than both AWS and Azure. Meanwhile, Hetzner does not offer a managed database service at all. If you choose Hetzner, your team must deploy PostgreSQL on a virtual server, configure backups, and manage replication and patching yourselves.
  • Load balancers: OVHcloud (€6.00) and Hetzner (€7.49) charge a low flat monthly fee. AWS (€17.70), Azure (€16.39), and Google Cloud (€16.39) appear mid-range in the table, though their final monthly cost will rise in production because they add usage-based fees (such as AWS Load Balancer Capacity Units) on top of the hourly base price. UpCloud's production load balancer is €30.00 per month because it provisions a dedicated two-node high-availability pair out of the box.
  • Kubernetes control planes: If you require an SLA-backed control plane, list prices are almost identical across the industry. AWS, Azure, and Google Cloud all charge €65.57 per month, OVHcloud charges €65.70 for its Standard tier, UpCloud charges €60.00, and Scaleway's dedicated control plane (Kapsule Dedicated-4) costs €80.30. (Note that OVHcloud and Scaleway also offer free shared control plane tiers, which are excluded here to keep the SLA comparison fair.)

Storage and internet egress

Storage and network data transfer are where cloud bills often diverge from initial architectural estimates.

Storage or network item AWS Azure Google Cloud Hetzner OVHcloud Scaleway UpCloud
Block storage, 1 TB SSD €85.50 (EBS gp3) €85.20 (Premium SSD v2 LRS provisioned) €107.80 (Persistent Disk Balanced pd-balanced, zonal) €44.00 (Volumes) €86.00 (Block Storage high-speed) €94.90 (Block Storage 5K) €220.00 (MaxIOPS)
Object storage, 1 TB €22.00 (S3 Standard) €17.60 (Blob Storage General Block v2, Hot LRS) €20.70 (Cloud Storage Standard, regional europe-west3) €6.40 (Object Storage) €14.00 (Object Storage Standard S3 API, 3-AZ) €16.10 (Object Storage Standard Multi-AZ) €20.00 (Managed Object Storage)
Internet egress, 1 TB (from one server) €72.72 €70.29 €107.80 €0.00 €0.00 €0.00 €0.00
Internet egress, 10 TB (from one server) €799.92 €773.19 €997.22 €0.00 €0.00 €0.00 €0.00

Approximate monthly list prices as of 28 October 2026, excluding VAT. Egress €0.00 on EU providers means no excess fee within included traffic allowances and fair-use terms; check each provider's limits.

The storage nuances

On block storage, AWS (EBS gp3 at €85.50), Azure (Premium SSD v2 at €85.20), OVHcloud (€86.00), and Scaleway (€94.90) sit in a tight band between €85 and €95 per terabyte. Hetzner is roughly half that price at €44.00 for 1 TB of network volumes.

UpCloud is a clear outlier at €220.00 per month for 1 TB of MaxIOPS block storage. UpCloud's default storage tier is built for high enterprise IOPS (up to 100,000 read IOPS), which makes it fast for heavy transactional workloads, but expensive if you simply need bulk disk space attached to a server.

For S3-compatible object storage, prices range from €6.40 per TB on Hetzner and €14.00 on OVHcloud (3-AZ) up to €20.00 on UpCloud and €22.00 on AWS S3 Standard. Keep in mind that redundancy models differ: OVHcloud and Scaleway specify multi-availability-zone (Multi-AZ) durability in these tiers, whereas single-datacenter object storage carries a different risk profile.

The egress multiplier

The bottom two rows of the table show the largest structural difference between US hyperscalers and European cloud providers: internet egress (data transferred out from your servers to the public internet).

On AWS, Azure, and Google Cloud, outbound traffic after a small free tier is billed per gigabyte. Sending 1 TB of traffic from a single server costs €72.72 on AWS, €70.29 on Azure, and €107.80 on Google Cloud. At 10 TB per month—common for media-heavy SaaS applications, file downloads, or high-traffic APIs—egress alone costs €799.92 on AWS, €773.19 on Azure, and €997.22 on Google Cloud.

On Hetzner, OVHcloud, Scaleway, and UpCloud, both the 1 TB and 10 TB scenarios cost €0.00 in excess fees. This does not mean bandwidth is infinite. Rather, these providers either include generous monthly traffic pools (for example, Hetzner includes at least 20 TB per server in European locations, and UpCloud pools terabytes of transfer based on your compute plan) or include unmetered public bandwidth subject to port speed caps and fair-use terms (as with OVHcloud and Scaleway). Always verify the exact included traffic limit and port speed on the provider's documentation if your workload pushes sustained high throughput.

Putting it together: the example stack

Individual component prices only tell part of the story because a real application combines compute, databases, storage, and networking. In the EU Cloud Price Index, we track a combined Example stack representing a small production environment across all seven clouds: three servers with 4 vCPU and 16 GB, 500 GB of block storage, 1 TB of object storage, 2 TB of internet egress, a load balancer, and PostgreSQL with 2 vCPU and 8 GB.

Provider Example stack monthly list price Database note
AWS €774.30 Includes managed PostgreSQL
Azure €764.76 Includes managed PostgreSQL
Google Cloud €746.58 Includes managed PostgreSQL
UpCloud €496.00 Includes managed PostgreSQL
OVHcloud €430.19 Includes managed PostgreSQL
Scaleway €363.92 Includes managed PostgreSQL
Hetzner €336.85 No managed PostgreSQL: self-run on a 2 vCPU, 8 GB server

Approximate monthly list prices as of 28 October 2026, excluding VAT.

When you combine the building blocks into a single monthly bill, the three US hyperscalers cluster tightly between €746.58 and €774.30. The three European clouds with managed PostgreSQL (UpCloud, OVHcloud, and Scaleway) land between €363.92 and €496.00—even after accounting for UpCloud's higher block storage and load balancer rates or OVHcloud's higher database price, because lower compute and €0.00 egress pull the overall total down.

Hetzner comes in lowest at €336.85, but it is not an apples-to-apples operational comparison. Because Hetzner lacks a managed database service, its stack figure substitutes a 2 vCPU / 8 GB virtual server running self-hosted PostgreSQL. Saving roughly €27 per month compared to Scaleway (€363.92) rarely justifies the engineering hours required to maintain database failovers, point-in-time recovery, and security patching yourself, unless your ops team already has automated tooling in place for self-hosted databases.

If you want to see how your own production footprint compares rather than a benchmark stack, you can upload your current AWS, Azure, or Google Cloud billing export to our free Cloud Bill Analyzer. It calculates the equivalent cost on UpCloud, Hetzner, Scaleway, and OVHcloud directly in your browser, and your billing file never leaves your device.

Why list price is only the start of the comparison

Before you hand a spreadsheet of list prices to your CFO or engineering lead, factor in four practical differences that do not show up in a monthly rate table:

  1. Hardware generations and CPU performance: A vCPU is not a standardized unit of performance. An AMD EPYC Genoa core, an older Intel Xeon core, and a shared/burstable core will handle database queries and web requests at different speeds. Sometimes a higher-priced instance lets you run fewer nodes.
  2. Storage IOPS and latency: As seen in the block storage comparison, 1 TB of disk can mean 3,000 baseline IOPS on one cloud, 5,000 IOPS on another, and up to 100,000 IOPS on UpCloud MaxIOPS. If your database is disk-bound, paying extra for low-latency storage is cheaper than over-provisioning database RAM.
  3. Multi-AZ vs. single-datacenter availability: AWS, Azure, and Google Cloud regions are built around at least three isolated Availability Zones (AZs) connected by low-latency fiber. Among EU clouds, OVHcloud and Scaleway offer 3-AZ setups in core regions (such as Paris), while other regions or providers operate single-datacenter zones or require you to span multiple metro areas for redundancy.
  4. Support and account management: Enterprise support plans, response-time SLAs, and dedicated technical account managers are priced separately on all seven clouds. Check the support tier pricing if your compliance framework (such as DORA or ISO 27001) mandates specific vendor response times.

Frequently asked questions

Are Reserved Instances or Savings Plans included in these numbers?

No. All prices in this comparison are public on-demand monthly list prices as of 28 October 2026. AWS, Azure, and Google Cloud offer 1-year and 3-year commitments that can reduce compute and database costs by 30% to 60%, though they lock in your spend and do not discount internet egress fees. Several European providers (including OVHcloud and UpCloud) also offer committed-use discounts on top of their lower baseline prices.

Why is internet egress €0.00 on the four EU cloud providers?

European cloud providers typically bundle a high volume of outbound data transfer into the base price of their servers or network services. In the index, 1 TB and 10 TB of monthly traffic show no excess fee on Hetzner, OVHcloud, Scaleway, and UpCloud, subject to each provider's included traffic and fair-use terms. If your workload pushes tens of terabytes per server or requires sustained multi-gigabit throughput, you should check each provider's specific traffic cap and overage rate (typically around €1.00 per extra TB on Hetzner, for instance).

Can you run production workloads on Hetzner without managed PostgreSQL?

Yes, many European companies do. If you run on Hetzner, teams typically deploy PostgreSQL on dedicated-core CCX instances using automated high-availability tools (such as Patroni or CloudNativePG on self-managed Kubernetes) and stream encrypted write-ahead logs (WAL) to S3-compatible object storage for point-in-time recovery. If your team prefers not to manage database state and failovers, UpCloud, Scaleway, and OVHcloud provide native managed PostgreSQL.

Will I have to pay egress fees to move my data off AWS, Azure, or Google Cloud?

Under the EU Data Act (Regulation (EU) 2023/2854, Article 29), cloud switching charges—including data egress fees incurred when migrating to another provider—cannot exceed the provider's direct cost until 12 January 2027, and are banned outright from 12 January 2027 onward. In addition, AWS, Azure, and Google Cloud all currently offer formal exit waiver programs when you close a service or subscription, though you must apply through their support teams before moving your data.

Sources


Drafted with AI assistance and fact-checked by the MoveInfra team. The original, kept up to date, is at moveinfra.eu. Free tools for pricing a move to an EU cloud: moveinfra.eu/tools.

Top comments (0)