For an enterprise running 100,000 vCPU-hours per month of general-purpose Linux compute with attached storage and moderate egress, the on-demand list cost is $8,400 to $11,200 per month on AWS, $7,900 to $10,600 on Azure, and $7,600 to $10,200 on GCP. Net of negotiated commitment discounts (EDP, MACC, CUD), the realised cost gap between the three hyperscalers is typically less than 15 percent for equivalent workloads. The decision is not which is cheapest. It is which commitment vehicle and which pricing levers fit your workload profile, and how to use multi-cloud presence to negotiate.
Inside This Comparison
List pricing for equivalent compute and storage
| Service | AWS (us-east-1) | Azure (East US) | GCP (us-central1) |
|---|---|---|---|
| General-purpose 4 vCPU/16GB Linux (on-demand, per hour) | $0.166 (m6i.xlarge) | $0.152 (D4s_v5) | $0.149 (n2-standard-4) |
| 1-year reserved/savings (no upfront) | $0.105 | $0.097 | $0.094 |
| 3-year reserved/savings (all upfront) | $0.061 | $0.057 | $0.056 |
| Block storage (GP3/SSD, per GB/month) | $0.080 | $0.075 (Premium SSD v2) | $0.068 (pd-balanced) |
| Object storage standard tier (per GB/month) | $0.023 | $0.0184 | $0.020 |
| Egress to internet (first 10 TB/month, per GB) | $0.09 | $0.087 | $0.12 |
| Egress to internet (next 40 TB/month, per GB) | $0.085 | $0.083 | $0.11 |
| NAT gateway (per hour) | $0.045 | $0.045 (NAT Gateway) | $0.044 |
| Load balancer (per hour) | $0.0225 (ALB) | $0.025 (Standard LB) | $0.025 (HTTPS LB) |
List prices favour GCP marginally on most line items, Azure on storage, and AWS on egress (for the lowest tiers). After commitment-based discounts the realised cost gap narrows substantially. The structurally important differences are not in the headline rates but in the commitment vehicles and the service-specific pricing for managed services (databases, AI, analytics).
Commitment vehicles: AWS EDP, Azure MACC, GCP CUD
| Commitment vehicle | AWS EDP | Azure MACC | GCP Commitments |
|---|---|---|---|
| Form | Multi-year spend commitment (typically 3-year) | Multi-year monetary commitment (typically 3-year) | Per-service committed use discounts |
| Minimum size | $1M to $3M per year | $1M per year | No minimum; per-service |
| Typical discount | 5 to 20 percent off retail | 5 to 15 percent off retail (plus MACC-eligible service discounts) | 20 to 70 percent off (compute CUDs); 25 percent off (flex CUDs) |
| Coverage | Most AWS services credit toward commit | Most Azure services credit; some PaaS excluded | Per-service; less holistic than AWS/Azure |
| Flexibility | Annual ramp; renegotiation at term-end | Monthly drawdown; commitment shortfall billed at term-end | Convertible between machine types (CUDs); per-service contracts otherwise |
| Exit terms | Penalty for unused commit | Penalty for unused commit | Penalty for unused per-service commit |
AWS EDP and Azure MACC are commercially similar: a multi-year monetary commitment that delivers discount off retail and is drawn down through normal consumption. GCP's model is more granular: separate committed use contracts per service (Compute Engine CUDs, Cloud Storage commits, BigQuery slot commitments), with the Compute Engine CUDs offering the deepest discounts (up to 70 percent) but the least flexibility (locked to specific machine types or regions unless using flex CUDs).
Discount realisation by deal size
| Annual cloud spend | AWS EDP discount | Azure MACC discount | GCP achievable |
|---|---|---|---|
| $1M to $3M | 5 to 10 percent | 5 to 10 percent | 15 to 30 percent (with CUDs) |
| $3M to $10M | 8 to 15 percent | 8 to 12 percent | 25 to 45 percent |
| $10M to $50M | 12 to 20 percent | 10 to 15 percent | 35 to 55 percent |
| $50M+ | 15 to 25 percent (custom) | 12 to 20 percent (custom) | 40 to 65 percent (custom) |
GCP's deeper headline discounts reflect its more aggressive market positioning and per-service CUD model, not necessarily a lower realised cost: workloads that do not fit cleanly into Compute Engine CUDs (variable demand, frequent machine type changes, multi-region deployments) realise lower effective discounts. AWS EDP and Azure MACC discounts are smaller but apply more uniformly to overall consumption.
Service-specific pricing differences
Headline compute and storage rates obscure the more important pricing decisions for enterprise workloads, which sit in managed services. Some notable per-service differences:
| Service category | Pricing characteristic |
|---|---|
| Managed PostgreSQL (RDS / Azure Database / Cloud SQL) | AWS RDS PostgreSQL ~$0.193/hr (db.m6i.xlarge). Azure Database ~$0.232/hr (GP_Standard_D4ds_v5). Cloud SQL ~$0.150/hr (db-custom-4-16384). GCP lower; Azure higher. |
| Managed Kubernetes (EKS / AKS / GKE) | EKS control plane $0.10/hr + cluster cost. AKS control plane free (standard tier). GKE Autopilot per-pod billing or $0.10/hr per cluster. AKS cheapest for many workloads. |
| AI/ML training (GPU instances) | NVIDIA H100 hourly: AWS $98 list (p5.48xlarge), Azure $98 list, GCP $88 list. Realised pricing varies 30 to 60 percent below list with capacity reservations. |
| Object storage long-term archive | Glacier Deep Archive $0.00099/GB. Azure Archive $0.00099/GB. GCP Coldline $0.004/GB, Archive $0.0012/GB. AWS/Azure cheaper for very long retention. |
| Data warehouse | Snowflake (multi-cloud) $2 to $4 per credit. Redshift $0.25 to $13.04 per node-hour. Synapse Dedicated Pool $1.20/DWU100/hr. BigQuery on-demand $6.25/TB scanned or flat-rate slot reservations. BigQuery typically cheapest for variable-demand analytics. |
The egress trap
Egress pricing is the single most distorting line item in enterprise cloud bills and the area where commitment vehicles deliver the least relief. AWS and Azure both charge $0.08 to $0.09 per GB for egress to the internet up to certain volume tiers, with diminishing per-GB rates above. GCP charges $0.11 to $0.12 per GB.
For workloads that move significant data to end users, partners, or other clouds, egress can become the largest single line item on the cloud bill, frequently exceeding compute cost for content-distribution and data-distribution workloads. Mitigation options include CDN integration (Cloudflare or similar reduces effective egress cost), private interconnect (AWS Direct Connect, Azure ExpressRoute, GCP Cloud Interconnect for traffic that would otherwise traverse the internet), and architectural patterns that minimise cross-cloud or cross-region data movement.
AWS, Azure, and GCP all introduced limited egress fee waivers during 2024 for customers leaving the platform, in response to EU Data Act provisions. The waivers are scoped (typical limit: 100 GB free per month for active customers, full waiver only on customer-initiated migration to another provider) and do not materially reduce egress cost during normal operation.
Decision framework
| Customer situation | Primary cloud recommendation |
|---|---|
| Existing Microsoft-heavy estate, Office 365, Dynamics, Power Platform | Azure (deep MACC discounting; Azure Hybrid Benefit for Windows and SQL) |
| Data and analytics-led workload, large BigQuery candidate | GCP (BigQuery economics; Vertex AI; data residency in 35+ regions) |
| Broadest service portfolio, largest partner ecosystem | AWS (default for greenfield enterprise modernisation) |
| Regulated industry with specific certifications | Region/service-specific: AWS GovCloud, Azure Government, GCP Assured Workloads |
| SAP-led estate | AWS or Azure (both have certified SAP HANA capacity; GCP also certified but smaller footprint) |
| Oracle-licensed workload using Oracle support | OCI (Oracle Cloud Infrastructure) or AWS/Azure with BYOL; see Oracle Cloud migration |
Multi-cloud negotiation leverage
The most expensive cloud relationship is a single-cloud relationship with no credible alternative. A customer with documented workload portability and active spend across two clouds (even uneven spend) negotiates materially different commercial terms at EDP, MACC, and large committed-use renewal. The asymmetry: each hyperscaler's commercial team prices against the perceived risk of losing the account, not against the customer's measured cost-of-switching.
The negotiation pattern that works: maintain a meaningful workload (typically 15 to 25 percent of total cloud spend) in a secondary cloud, with the workload being architecturally portable to the primary cloud. At EDP/MACC renewal, present the primary cloud with the option of either improved commercial terms or the migration of additional workloads off the primary. Outcomes from this approach during 2024 to 2026: 10 to 25 percent improvement in discount over the standard renewal trajectory.
For per-vendor negotiation specifics, see our AWS EDP negotiation, Azure EA negotiation, Azure MACC guide, and GCP enterprise agreement guides. For broader cloud cost optimisation, see cloud cost optimization and our cloud contract negotiation service.