Azure vs AWS pricing vs Google Cloud: what really costs less

Part of the series What is FinOps? The framework, its phases and where to start

Key facts

Azure Reservations
Up to 72% off pay-as-you-go prices, for a one- or three-year commitment to one resource, Microsoft says [14]
Google Cloud resource-based CUDs
Up to 55% off on-demand hardware prices for the general-purpose machine series, for one or three years [22]
AWS free data transfer out
100 GB a month to the internet, aggregated across all AWS services and Regions (China and GovCloud aside) [1]
GKE free tier
One cluster fee a monthly credit per billing account worth one zonal or Autopilot cluster, not a regional one [20]
Arm VMs in Paris
None on Google Cloud its C4A and N4A Arm machine types are priced in Frankfurt and other regions, not in europe-west9 [17]

The honest answer to "which is cheaper, AWS, Azure or Google Cloud?" is a question back: cheaper for what? On list prices, each of the three wins somewhere and loses somewhere else, and the gaps on any single building block are often smaller than the gap between paying on demand and committing. This guide prices the same building blocks at the three providers, in their Paris regions, and then three workloads:

  • The building blocks: a general-purpose VM with 2 vCPUs and 8 GiB on x86 and on Arm, object storage, data transfer out to the internet, managed PostgreSQL and the managed Kubernetes control plane.
  • The commitment discounts: AWS Savings Plans and Reserved Instances, Azure Reservations and savings plans, Google Cloud committed use and sustained use discounts.
  • Three workloads, each priced at the three providers: a fleet of always-on VMs, a storage and download service, and a small Kubernetes web app.

Prices are list prices in USD before tax for the Paris regions: AWS Europe (Paris) eu-west-3, Azure France Central and Google Cloud europe-west9, except Google Cloud's Arm machine type, which is not offered in Paris and is priced in Frankfurt (europe-west3). They were read on November 9, 2026 from each provider's own source: the AWS Price List offer files listed in the Sources section, the Azure Retail Prices API and the Google Cloud pricing pages. Monthly amounts use 730 hours and are computed from those prices; each table says so. Google Cloud bills storage and egress per GiB, AWS and Azure per GB: the tables apply each price to the same quantity in each provider's own unit, without converting.

The short answer

On these list prices, the cheapest cloud changes with the workload:

  • Compute on demand: Google Cloud's n4-standard-2 costs $76.80 a month in Paris, against $85.85 for AWS's m7i.large and $86.14 for Azure's D2s v6, computed.
  • Compute under a three-year commitment: Azure goes from dearest to cheapest. A D2s v6 reserved for three years costs $33.47 a month, against $34.56 on Google Cloud and $39.11 on AWS, computed.
  • Arm: Azure's D2ps v6 is the cheapest Arm VM in Paris at $59.86 a month, AWS's m7g.large costs $69.50, and Google Cloud has none in Paris.
  • Storage and egress: Azure stores for less; Google Cloud's default Premium Tier egress costs the most, its Standard Tier the least.

In short: There is no cheapest cloud, only a cheapest cloud for a given workload, region and commitment: price your own mix before choosing, and count the commitment you will actually make.

How this comparison is built

Each provider sells the same building blocks under its own names. The table maps the ones compared here; each is the provider's current general-purpose offer of that size, a choice of this guide.

The equivalent services compared, in the Paris regions

Building block AWS (eu-west-3) Azure (France Central) Google Cloud (europe-west9)
x86 VM, 2 vCPUs, 8 GiB EC2 m7i.large D2s v6 Compute Engine n4-standard-2
Arm VM, 2 vCPUs, 8 GiB EC2 m7g.large (Graviton) D2ps v6 C4A c4a-standard-2, Frankfurt only
Object storage S3 Standard Blob Storage Hot, LRS Cloud Storage Standard, regional
Managed PostgreSQL RDS for PostgreSQL db.m7i.large, Single-AZ Azure Database for PostgreSQL Flexible Server, D2ds_v5 Cloud SQL for PostgreSQL Enterprise, 2 vCPUs and 8 GiB
Managed Kubernetes Amazon EKS AKS GKE
Rate discounts Savings Plans, Reserved Instances Reservations, savings plan for compute Committed use discounts, sustained use discounts

The machines are close but not identical: processor generations, network bandwidth and the disk each VM needs are not priced here. Read the comparisons as "what the same size costs at list price", not as a benchmark.

In short: Compare like for like on size and on commitment: an on-demand price against another provider's committed rate is the most common way a cloud comparison goes wrong.

A general-purpose VM: x86 and Arm

The VM is where most bills start. On demand, AWS's and Azure's x86 machines cost within a dollar a month of each other and Google Cloud's less; under commitments the order changes.

A 2 vCPU, 8 GiB x86 VM in Paris: pay-as-you-go and commitments, per month of 730 hours (computed)

AWS m7i.large Azure D2s v6 Google Cloud n4-standard-2
Pay-as-you-go, per hour $0.1176 $0.118 $0.105212
Pay-as-you-go, per month $85.85 $86.14 $76.80
1 year, flexible commitment $65.11 (24% off) $59.44 (31% off) $55.30 (28% off)
3 years, flexible commitment $45.11 (47% off) $39.62 (54% off) $41.47 (46% off)
1 year, resource commitment $56.62 (34% off) $53.25 (38% off) $48.39 (37% off)
3 years, resource commitment $39.11 (54% off) $33.47 (61% off) $34.56 (55% off)

The flexible commitment is AWS's Compute Savings Plan (No Upfront), Azure's savings plan for compute and Google Cloud's compute flexible CUD; the resource commitment is AWS's EC2 Instance Savings Plan (No Upfront, the same rate as a Standard Reserved Instance here), an Azure Reserved VM Instance, whose price for the term is spread over its 8,760 or 26,280 hours, and a Google Cloud resource-based CUD. Two details change the ranking for some fleets:

  • Sustained use discounts do not apply to these machines. Google Cloud's automatic discount for running a VM most of the month covers N1, N2, N2D, C2, M1 and M2 machines, up to 20% a month on N2 (Sustained use discounts); N4 and E2 are not on the list, so the n4-standard-2 rates above are what a full month costs.
  • Google Cloud has a cheaper x86 option. The e2-standard-2 (also 2 vCPUs and 8 GiB) costs $0.077732 an hour in Paris, $56.74 a month, computed; it is a different series from the n4, so it is given here as an alternative rather than as the like-for-like row.

A 2 vCPU, 8 GiB Arm VM: pay-as-you-go and commitments, per month of 730 hours (computed)

AWS m7g.large, Paris Azure D2ps v6, Paris Google Cloud c4a-standard-2, Frankfurt
Pay-as-you-go, per hour $0.0952 $0.082 $0.105966
Pay-as-you-go, per month $69.50 $59.86 $77.36
1 year, flexible commitment $52.71 (24% off) $40.70 (32% off) $55.70 (28% off)
3 years, flexible commitment $36.50 (47% off) $28.13 (53% off) $41.77 (46% off)
3 years, resource commitment $31.68 (54% off) $22.75 (62% off) $34.82 (55% off)

On Arm, Google Cloud is out of the Paris comparison: the Compute Engine pricing page prices its C4A and N4A machine types in Frankfurt, Belgium, the Netherlands and other regions, not in europe-west9. A workload that must stay in Paris and wants Arm prices has AWS and Azure to choose from; in Frankfurt, Google Cloud's n4a-standard-2 costs $0.09084 an hour, $66.31 a month, computed. On AWS, moving from m7i.large to m7g.large saves the difference in the tables at every commitment level: the AWS EC2 guide covers that move and the other EC2 levers.

In short: On demand, Google Cloud's n4 is the cheapest x86 VM of the three in Paris; under a three-year reservation, Azure's D2s v6 is; on Arm, Azure's D2ps v6 is, and Google Cloud offers none in Paris.

Object storage: storage, requests and reads

Object storage is billed on three meters at all three providers: the data stored per month, the requests, and the data that leaves. Requests are priced in different batches, so the table keeps each provider's own batch.

Object storage in Paris, standard class, first tier: list prices

AWS S3 Standard Azure Blob Hot, LRS Google Cloud Storage Standard, regional
Storage, per month $0.024 per GB $0.0192 per GB $0.023 per GiB
Writes $0.0053 per 1,000 $0.059 per 10,000 $0.005 per 1,000
Reads $0.00042 per 1,000 $0.0047 per 10,000 $0.0004 per 1,000

Azure stores for the least of the three, and its requests cost a little more than the other two's. All three lower the storage price past a volume (AWS and Azure from 50 TB a month), and all three have colder classes priced here only through the profiles' standard class. What they share is the larger cost: the data served out of the bucket, priced in the next section. The Amazon S3 guide details S3's classes, request types and the levers that cut each meter.

In short: For data that sits, Azure's Hot tier is the cheapest standard class of the three; for data that is read out, the egress price matters more than the storage price.

Data transfer out: the line that decides

Data transfer out to the internet is where the three providers differ most, and where free allowances and network tiers change the answer:

  • AWS: the first 100 GB a month are free, aggregated across all services and Regions (Amazon EC2 On-Demand Pricing), then $0.09 per GB for the first 10 TB from Paris, falling by tier.
  • Azure: the API's first tier, up to 100 GB, is free, then $0.087 per GB over Microsoft's network (the default). Routing over the internet instead of Microsoft's network costs $0.08 per GB.
  • Google Cloud: the Premium Tier, which the network pricing page calls the default tier, costs $0.12 per GiB for the first TiB to Europe. The Standard Tier costs $0.085 per GiB after its first 200 GiB.

Data transfer out of Paris to the internet, per month, at three volumes, free allowances applied (computed)

Volume AWS Azure Google Cloud, Premium Tier Google Cloud, Standard Tier
1 TB $83.16 $80.39 $122.88 $70.04
10 TB $912.60 $882.18 $1,136.64 $853.40
50 TB $4,394.70 $4,282.24 $4,413.44 $3,515.80

A volume here is 1,024 of each provider's unit, as the Note says. Egress is also a design decision: a CDN in front of the bucket, compression, or keeping traffic inside one region changes it more than the choice of provider. The AWS NAT Gateway and data transfer guide covers the AWS side, including the transfer charges between zones and Regions that this table leaves out.

In short: On egress, Google Cloud's default Premium Tier is the dearest of the three and its Standard Tier the cheapest; between AWS and Azure the gap is a few percent.

Managed PostgreSQL

A managed database adds a premium over the VM it runs on, and each provider prices it differently: AWS and Azure per instance size, Google Cloud per vCPU and per GiB of memory. The table prices a 2 vCPU, 8 GiB single-zone instance with 100 GB (or GiB) of SSD storage.

Managed PostgreSQL in Paris, 2 vCPUs, 8 GiB, single zone, 100 GB of storage, per month (computed)

Instance Storage Total 1-year commitment, instance 3-year commitment, instance
AWS, RDS for PostgreSQL db.m7i.large $150.38 $13.30 $163.68 not read not read
AWS, RDS for PostgreSQL db.m7g.large $142.35 $13.30 $155.65 $109.50 $75.19
Azure, Azure Database for PostgreSQL Flexible Server, General Purpose D2ds_v5 $150.38 $13.30 $163.68 $90.50 $60.28
Google Cloud, Cloud SQL for PostgreSQL Enterprise, 2 vCPUs, 8 GiB $117.24 $19.72 $136.96 $87.93 $56.27

The commitments are an RDS reserved DB instance (one year No Upfront, three years All Upfront spread over the term; no reservation for db.m7i.large was read), Azure reserved capacity for two vCores, and Cloud SQL committed use discounts. Cloud SQL's instance is the cheapest of the three on demand and its storage the dearest, so the ranking depends on the size of the database. High availability adds a standby at each provider and is not priced here; the Amazon RDS guide covers Multi-AZ, storage types and Aurora on the AWS side.

In short: For a small PostgreSQL, Cloud SQL's instance costs the least on demand; the larger the database, the more its dearer storage eats into that lead.

Managed Kubernetes: the control plane fee

The control plane is a flat fee per cluster, the same at the three providers on their paid tiers, with two exceptions that matter for small teams.

Managed Kubernetes control plane, per cluster and month of 730 hours (computed)

Provider Tier Per month
AWS Amazon EKS, standard support $73.00
AWS Amazon EKS, extended support $438.00
Azure AKS Free tier $0.00
Azure AKS Standard tier $73.00
Azure AKS Premium tier (long-term support) $438.00
Google Cloud GKE, Standard or Autopilot $73.00
  • AKS Free tier has "free cluster management" but "no financially backed uptime SLA", and Microsoft recommends it for clusters of fewer than 10 nodes (AKS pricing tiers). Production clusters belong in the Standard tier.
  • GKE's free tier gives each billing account a monthly credit of $74.40, the fee of one zonal or Autopilot cluster; it does not apply to regional clusters (GKE pricing).
  • EKS extended support: a Kubernetes version gets 14 months of standard support on EKS, then 12 months of extended support at the higher fee (Amazon EKS pricing). AKS's Premium tier, with long-term support, costs the same.

The worker nodes are the VMs of the first section, billed as such. The Amazon EKS guide covers the node options, Fargate and Auto Mode, and how to keep clusters off extended support.

In short: The control plane fee is the same at the three on their paid tiers; Azure waives it on its Free tier and Google Cloud's credit covers one zonal cluster, AWS has no such tier, and an outdated Kubernetes version costs six times as much on EKS.

Commitment discounts side by side

Every provider trades a lower rate for a one- or three-year commitment, with two flavours: one that follows the usage across sizes and regions, and one that locks a resource for a deeper rate. Their rules differ more than their names.

The commitment discounts of AWS, Azure and Google Cloud, as each documents them

AWS Azure Google Cloud
Flexible commitment Compute Savings Plans: an amount per hour, across EC2 families, sizes and Regions, Fargate and Lambda Savings plan for compute: an amount per hour, across VMs, App Service, Container Apps and more, and across regions Compute flexible CUDs: a spend-based commitment on eligible Compute Engine usage
Resource commitment EC2 Instance Savings Plans and Reserved Instances: one instance family (and, for Standard RIs, a configuration) in one Region Reservations: one resource, size and region, "up to 72%" off Resource-based CUDs: an amount of Compute Engine resources in one region and project, "up to 55%" off general-purpose hardware
Terms 1 or 3 years 1 or 3 years 1 or 3 years
Getting out Savings Plans cannot be cancelled (a 7-day return window for plans of 100 US dollars an hour or less); Standard RIs can be sold on the Marketplace Reservations can be exchanged, and refunded up to 50,000 US dollars in a rolling 12 months; savings plans cannot be cancelled Commitments cannot be cancelled
Automatic discount None None Sustained use discounts on N1, N2, N2D, C2, M1 and M2: up to 30% a month on N1, 20% on N2 and N2D

Sources: Savings Plans types, Returning a purchased Savings Plan, Reserved Instances overview and the Reserved Instance Marketplace for AWS; Azure Reservations and Azure savings plans for Azure; Committed use discounts and Sustained use discounts for Google Cloud. One Azure rule has no AWS equivalent: "Regardless of when an active savings plan was purchased, current savings plan pricing is used when applying savings plan benefits", so an Azure savings plan's rate can move during its term.

In short: The three sell the same two kinds of commitment, but Azure lets reservations be exchanged and partly refunded, Google Cloud adds an automatic discount on its older series, and AWS lets Standard Reserved Instances be resold.

Three workloads, three different winners

The building blocks above, assembled into three illustrative workloads. Each is priced at list prices, 730 hours a month, in the Paris regions.

1. A fleet of 20 always-on VMs

Twenty x86 VMs of 2 vCPUs and 8 GiB running every hour, with 500 GB a month of egress, priced three ways.

20 always-on x86 VMs and 500 GB of egress a month, by way of paying (computed)

AWS (m7i.large) Azure (D2s v6) Google Cloud (n4-standard-2)
Pay-as-you-go $1,752.96 $1,757.60 $1,596.10
3-year flexible commitment $938.13 $827.29 $889.49
3-year resource commitment $818.27 $704.24 $751.26

On demand, Google Cloud is the cheapest, $161.50 a month below Azure. Under a three-year resource commitment, Azure is, $114.03 a month below AWS, computed. Every three-year total is below the cheapest on-demand one by far more than the gap between providers: for a stable fleet, the commitment decision is worth more than the provider decision.

2. 50 TB of objects served to the internet

50 TB in the standard class, 10 million writes and 100 million reads a month, and 30 TB a month downloaded by users.

50 TB stored, 10M writes, 100M reads and 30 TB of egress a month (computed)

AWS Azure Google Cloud
Object storage $1,228.80 $983.04 $1,177.60
Writes $53.00 $59.00 $50.00
Reads $42.00 $47.00 $40.00
Egress $2,653.90 $2,582.40 $2,775.04
Total $3,977.70 $3,671.44 $4,042.64

Egress is two thirds or more of every total. With the default network tiers, Azure is the cheapest and Google Cloud the dearest. Move Google Cloud's egress to its Standard Tier and its egress line drops to $2,184.60, its total to $3,452.20, the lowest of the three, computed: for a download-heavy service, the network tier is a bigger decision than the storage provider.

3. A small Kubernetes web app

One cluster, three x86 worker nodes, a 2 vCPU PostgreSQL with 100 GB of storage, 500 GB of objects with 1 million writes and 10 million reads, and 2 TB of egress a month, all on demand.

A small Kubernetes web app, on demand, per month (computed)

AWS Azure Google Cloud
Control plane $73.00 $73.00 $73.00
3 worker nodes $257.54 $258.42 $230.41
PostgreSQL instance $150.38 $150.38 $117.24
PostgreSQL storage $13.30 $13.30 $19.72
Object storage $12.00 $9.60 $11.50
Requests $9.50 $10.60 $9.00
Egress $175.32 $169.48 $235.52
Total, paid control plane $691.04 $684.78 $696.39
Total, free control plane tiers $691.04 $611.78 $623.39

With a paid control plane (EKS, AKS Standard, a regional GKE cluster), the three totals are within $11.61 a month of each other, computed: Google Cloud's cheaper nodes and database pay for its dearer egress. On the free tiers (AKS Free, a zonal GKE cluster covered by the credit), Azure and Google Cloud drop by the control plane fee and AWS does not, which puts Azure first, $79.26 a month below AWS. Whether the free tier fits depends on the SLA the app needs, not on price.

In short: The always-on fleet, the download service and the small app each have a different cheapest provider, and in each the largest saving comes from a choice inside the provider: the commitment, the network tier, the control plane tier.

How to compare for your own workload

A comparison that will hold for your bill follows the same steps as this one:

  1. List the meters, not the services. Hours of compute, GB stored, requests, GB out, cluster hours: the bill is the sum of those, and egress is the one most often forgotten.
  2. Price the same region and the same size. A Paris workload priced in a cheaper US region, or a 4 vCPU machine against a 2 vCPU one, compares nothing.
  3. Price the commitment you will make. If the fleet is stable, compare three-year rates; if it is not, compare on-demand and one-year flexible rates.
  4. Check availability. A machine type, an Arm series or a managed service missing from your region removes that provider from the comparison, as Google Cloud's Arm machines do in Paris.
  5. Add what this guide leaves out. Disks, load balancers, NAT, support plans, licences and the transfer between zones are billed too, and the AWS EC2 guide and the AWS NAT Gateway guide show how much they can add on AWS.
  6. Count the cost of moving. Re-platforming, retraining and egress during a migration are paid once; a few percent a month on list price can take years to pay them back.

FAQ

Is Azure cheaper than AWS?

It depends on the workload. On the list prices read here for Paris, an on-demand 2 vCPU x86 VM costs about the same on both ($86.14 for Azure's D2s v6, $85.85 for AWS's m7i.large a month), while a three-year reservation and object storage cost less on Azure, computed (A general-purpose VM).

Is Google Cloud cheaper than AWS and Azure?

For on-demand x86 compute in Paris, yes: its n4-standard-2 costs $76.80 a month against $85.85 and $86.14. Its default Premium Tier egress is the dearest of the three, and it offers no Arm VM in Paris, so a download-heavy or Arm workload can come out dearer (Three workloads).

Which cloud has the cheapest egress?

With the default tiers, Azure, then AWS, then Google Cloud's Premium Tier, at the volumes priced here; Google Cloud's Standard Tier is the cheapest of all (Data transfer out). AWS and Azure each give the first 100 GB a month free.

Do AWS, Azure and Google Cloud all charge for Kubernetes?

All three charge the same fee per cluster on their paid tiers ($73.00 a month). AKS has a Free tier with no fee and no financially backed SLA, and GKE's monthly credit covers one zonal or Autopilot cluster per billing account (Managed Kubernetes).

What are the equivalents of AWS Savings Plans on Azure and Google Cloud?

Azure's savings plan for compute and Google Cloud's compute flexible CUDs are the spend-based equivalents of Compute Savings Plans; Azure Reservations and Google Cloud's resource-based CUDs match EC2 Instance Savings Plans and Reserved Instances (Commitment discounts side by side). On AWS, which of its own to buy: Savings Plans vs Reserved Instances.

Is multi-cloud cheaper?

Not by itself. Each provider's lowest rates come from commitments and volume tiers, which a split workload reaches later, and data moving between clouds pays egress on the way out. Multi-cloud can pay off when each workload goes where its own profile is cheapest, as the three profiles here show, but that is a placement decision per workload, not a discount.

Do I need help to compare?

Price your own workload in the calculator for a first view on the three clouds. For a comparison on your actual bill, with commitments and the cost of moving, the free FinOps audit starts from your billing exports.

Sources

  1. Amazon EC2 On-Demand Pricing AWS, pricing page, accessed November 9, 2026.
  2. Amazon EKS pricing AWS, pricing page, accessed November 9, 2026.
  3. Savings Plans types AWS, documentation, accessed November 9, 2026.
  4. Returning a purchased Savings Plan AWS, documentation, accessed November 9, 2026.
  5. Sell Reserved Instances for Amazon EC2 in the Reserved Instance Marketplace AWS, documentation, accessed November 9, 2026.
  6. Reserved Instances for Amazon EC2 overview AWS, documentation, accessed November 9, 2026.
  7. AWS Price List: Amazon EC2, eu-west-3 (offer file of November 7, 2026) AWS, price list, accessed November 9, 2026.
  8. AWS Price List: Compute Savings Plans, eu-west-3 (offer file of November 7, 2026) AWS, price list, accessed November 9, 2026.
  9. AWS Price List: Amazon S3, eu-west-3 (offer file of November 4, 2026) AWS, price list, accessed November 9, 2026.
  10. AWS Price List: AWS Data Transfer, eu-west-3 (offer file of November 3, 2026) AWS, price list, accessed November 9, 2026.
  11. AWS Price List: Amazon EKS, eu-west-3 (offer file of October 27, 2026) AWS, price list, accessed November 9, 2026.
  12. AWS Price List: Amazon RDS, eu-west-3 (offer file of October 29, 2026) AWS, price list, accessed November 9, 2026.
  13. Azure Retail Prices REST API overview Microsoft, documentation, accessed November 9, 2026.
  14. What are Azure Reservations? Microsoft, documentation, accessed November 9, 2026.
  15. What are savings plans? Microsoft, documentation, accessed November 9, 2026.
  16. Azure Kubernetes Service (AKS) Free, Standard, and Premium pricing tiers Microsoft, documentation, accessed November 9, 2026.
  17. General-purpose machine family pricing (Compute Engine) Google Cloud, pricing page, accessed November 9, 2026.
  18. Cloud Storage pricing Google Cloud, pricing page, accessed November 9, 2026.
  19. Cloud SQL pricing Google Cloud, pricing page, accessed November 9, 2026.
  20. Google Kubernetes Engine pricing Google Cloud, pricing page, accessed November 9, 2026.
  21. Network pricing (VPC) Google Cloud, pricing page, accessed November 9, 2026.
  22. Committed use discounts overview Google Cloud, documentation, accessed November 9, 2026.
  23. Sustained use discounts Google Cloud, documentation, accessed November 9, 2026.
Keep reading

More articles