Why the sticker prices look identical (and where they aren’t)
The hyperscalers track each other’s list prices, so comparing on-demand VM rates is nearly pointless:
| 4 vCPU / 16 GB Linux, US East | On-demand $/hr | ~$/month (24/7) |
| AWS m6i.xlarge | ~$0.19 | ~$140 |
| Azure D4s v5 | ~$0.19 | ~$140 |
| GCP n2-standard-4 | ~$0.19 | ~$140 |
Three footnotes change the picture immediately:
- GCP’s sustained-use discounts are automatic. Run an instance most of the month and GCP applies up to ~30% off with zero commitment — no other provider does this. An always-on GCP VM effectively costs near its 1-year committed price by default.
- ARM is ~20% cheaper everywhere. AWS Graviton, Azure’s Arm-based Dps series, and GCP’s Tau/Axion families all list roughly 20% below x86 equivalents — the cheapest “free lunch” in cloud compute if your workload runs on ARM.
- Commitments converge but differ in shape. All three reach roughly 30–60% off with 1–3 year commitments. AWS Savings Plans are the most flexible (dollar commitment, any instance family/region); GCP CUDs commit to vCPU/RAM in a region (~37% 1-year, ~55% 3-year, no upfront); Azure Reservations are family-scoped but size-flexible, and reach ~60% at 3 years — marginally the deepest.
The four line items that actually decide your bill
Egress. Serving data to the internet costs ~$0.08–0.09/GB on all three at low volume — at 100TB/month you’re paying $8,000–9,000 regardless of logo. Differences: GCP’s inter-region US transfer (~$0.01/GB) is half of AWS/Azure (~$0.02/GB), and GCP reads from Cloud Storage to same-region compute free — meaningful for ML training and analytics pipelines. Challenger clouds (OCI, Cloudflare R2 for storage egress) undercut all three by up to 10x, which is exactly the leverage to use in enterprise-agreement negotiations. One more 2026 change worth knowing: all three waive transfer fees for full migrations off their platform on request.
Managed Kubernetes. Azure AKS’s control plane is free; AWS EKS charges ~$73/month per cluster; GKE has a similar per-cluster fee with one free zonal cluster. Trivial for one big cluster, real money for a many-small-clusters architecture.
Storage. Azure Blob Hot undercuts S3 by ~20% per GB and archives at ~$0.001/GB — the cheapest cold storage among the three. But GCP’s premium SSD block storage (~$0.22/GB) runs nearly double AWS gp3 (~$0.115/GB). Translation: storage-heavy apps often price cheapest on AWS or Azure; compute-heavy apps with modest storage tilt GCP.
Spot/preemptible capacity. Azure spot VMs frequently price cheapest (60–80% off, with a higher eviction rate); AWS Spot reaches up to 90% off with more capacity depth but constant price movement; GCP preemptible/Spot VMs land ~60–80% off with steadier pricing. For fault-tolerant batch, this single line item can dominate the comparison.
Scenario 1: Early-stage SaaS (~$1,000/month class)
Stack: 2–3 app servers (4 vCPU/16 GB), one managed Postgres (HA), 500 GB object storage, load balancer, ~2 TB egress/month.
All three land in the same band on-demand (~$900–1,100/month), but GCP typically comes out 6–10% cheaper once sustained-use discounts kick in on the always-on tier, plus Cloud SQL often pricing below RDS for equivalent specs. The bigger lever than provider choice: startup credit programs. AWS Activate, Google for Startups, and Microsoft for Startups each offer $25K–$150K+ in credits — for a seed-stage company, the provider that grants you the biggest credit package is often, rationally, the cheapest cloud for the next 18 months.
Verdict: GCP by a nose on list price; whoever gave you credits in practice; AWS if you’re optimizing for hiring pool and third-party integrations.
Scenario 2: Batch/data processing (spot-heavy)
Stack: ~10 interruptible instances (8 vCPU/32 GB) running 12 hours/day, 5 TB object storage, queue, minimal egress.
This is Azure’s scenario to lose: its spot pricing consistently benchmarks cheapest for fault-tolerant workloads, and Azure Archive wins the long-term retention line. AWS counters with the most mature Spot tooling (capacity-optimized allocation, Karpenter on EKS) and better interruption behavior for jobs needing 2+ hour runs. GCP counters with simplicity — flat, predictable preemptible pricing plus free same-region storage-to-compute reads for data pipelines.
Verdict: Azure on raw price; AWS if interruption resilience matters; GCP if the pipeline reads huge datasets from object storage.
Scenario 3: Content/media app (egress-dominated)
Stack: 5 app servers, CDN with 50 TB/month egress, 10 TB object storage, managed Redis + Postgres.
When egress is your top line item, provider gaps get real: modeled comparisons of this shape show hundreds of dollars per month of spread (one 2026 benchmark put GCP roughly $850/month below AWS on an equivalent stack, driven almost entirely by transfer pricing through its CDN). This is also where looking outside the big three is rational — pairing any hyperscaler’s compute with Cloudflare R2 (zero egress fees on storage) restructures the bill entirely.
Verdict: GCP among the big three; seriously model a hybrid with zero-egress storage before committing.
The decision framework (honest version)
Price should be the tiebreaker, not the driver, because the gaps are 5–15% while migration costs are enormous. Choose on fit first:
- Choose AWS for the deepest service catalog (240+ services), the biggest hiring pool and ecosystem, and the most flexible commitment model. Accept a modest list-price premium (~10–20% over GCP on some compute) as the cost of maturity.
- Choose Azure if you’re a Microsoft shop — Hybrid Benefit can cut Windows workload costs by huge margins (paying Linux prices for Windows compute), AKS’s free control plane helps multi-cluster designs, and enterprise agreement bundling with M365 creates negotiating leverage nothing else matches.
- Choose GCP if you’re AI/data-first — BigQuery’s economics, TPU/GPU price-performance, automatic sustained-use discounts, and the strongest Kubernetes pedigree. Best default list prices for compute-centric startups.
And remember the industry’s open secret: ~89% of enterprises are multi-cloud already. The realistic strategy is a primary provider chosen on fit, with the discipline to keep workloads portable enough that egress-fee waivers and competitor quotes stay usable at renewal time.
FAQ
Which cloud is cheapest overall in 2026? No single answer exists — on-demand compute is a dead heat by design. GCP tends to win compute-centric and steady-state workloads (sustained-use discounts), Azure wins Windows/Microsoft workloads and spot-heavy batch, AWS wins on commitment flexibility and often on storage-heavy stacks. Model your top three cost drivers; the provider that wins those wins overall.
Are the pricing calculators accurate? For compute and storage, yes. They systematically underestimate real bills because teams forget egress, NAT, cross-AZ traffic, snapshots, and support plans. Build your estimate, then add 20–25% for the lines you haven’t thought of yet.
Do startup credits change the math? Completely, for the first 1–2 years. $100K in credits dwarfs a 10% list-price difference. Just avoid architecting so deeply into proprietary services that you lose all negotiating leverage when credits expire.
Is OCI or another challenger worth considering? For compute + egress-dominated workloads, yes — challenger pricing (especially on data transfer, up to ~10x cheaper) is dramatic. The trade-off is a thinner managed-service catalog and smaller talent pool. Many teams use challengers tactically (egress-heavy tiers) rather than wholesale.
How often do these prices change? Constantly — AWS cut S3 prices in March 2026, Azure cut managed PostgreSQL ~20% in January 2026, and spot prices move daily. We re-verify this article quarterly; always confirm current rates in the official calculators before signing commitments.