About 18; min
AWS, Azure, and Google Cloud run most of the internet. But choosing between them based on price alone is like comparing phone plans — the headline numbers hide a maze of per-hour, per-GB, and per-request charges that change your actual bill by 2–5x.
We compared the three major cloud providers across their most-used services: compute, storage, databases, and networking. Here’s what you’ll actually pay in 2026.
Compute Pricing: VMs and Containers
General-Purpose VMs (4 vCPU, 16 GB RAM)
| Provider | Instance Type | On-Demand $/hr | Monthly (730 hrs) | 1-Year Reserved | 3-Year Reserved |
|---|---|---|---|---|---|
| AWS | m7g.xlarge | $0.163 | $119 | $76/mo (36% off) | $52/mo (56% off) |
| Azure | D4as v5 | $0.173 | $126 | $79/mo (37% off) | $51/mo (60% off) |
| GCP | n2-standard-4 | $0.194 | $142 | $89/mo (37% off) | $64/mo (55% off) |
AWS Graviton (ARM) instances are the cheapest per-hour option. Azure matches closely with AMD-based instances. GCP is consistently 10–15% more expensive for equivalent specs but offers sustained use discounts (automatic 30% off after running 25%+ of the month) that partially close the gap.
Spot/Preemptible Instances (Same Specs)
| Provider | Spot Price (avg) | Savings vs On-Demand | Interruption Risk |
|---|---|---|---|
| AWS Spot | $0.049/hr | ~70% | 2-min warning |
| Azure Spot | $0.052/hr | ~70% | 30-sec warning |
| GCP Preemptible | $0.058/hr | ~70% | 30-sec warning, 24-hr max |
For batch processing, CI/CD pipelines, and fault-tolerant workloads, spot instances cut compute costs by 60–80%. AWS Spot gives the most interruption notice (2 minutes) and the lowest average price.
Managed Kubernetes
| Service | Control Plane Cost | Worker Nodes |
|---|---|---|
| AWS EKS | $0.10/hr ($73/mo) | Standard EC2 pricing |
| Azure AKS | Free (standard), $0.10/hr (uptime SLA) | Standard VM pricing |
| GCP GKE | Free (1 zonal), $0.10/hr (regional) | Standard Compute pricing |
Azure AKS and GKE both offer free control planes for basic clusters. EKS always charges $73/month for the control plane regardless of cluster size. For a single small cluster, this makes AWS the most expensive Kubernetes option.
Storage Pricing
Object Storage (First 50 TB/month)
| Tier | AWS S3 | Azure Blob | GCP Cloud Storage |
|---|---|---|---|
| Standard (frequent access) | $0.023/GB | $0.018/GB | $0.020/GB |
| Infrequent access | $0.0125/GB | $0.010/GB | $0.010/GB |
| Archive | $0.004/GB (Glacier) | $0.002/GB (Archive) | $0.004/GB (Archive) |
| GET requests (per 1K) | $0.0004 | $0.004 | $0.004 |
| PUT requests (per 1K) | $0.005 | $0.005 | $0.005 |
Azure Blob is cheapest for raw storage per GB. AWS S3 has the cheapest GET requests (10x less than Azure and GCP). If your workload is read-heavy (serving images, CDN origin), S3’s lower request cost matters more than the per-GB difference.
For 10 TB of standard storage:
- AWS S3: $230/month
- Azure Blob: $180/month
- GCP Cloud Storage: $200/month
Block Storage (SSD)
| Provider | Service | $/GB/month | 100 GB Monthly |
|---|---|---|---|
| AWS | EBS gp3 | $0.08 | $8 |
| Azure | Premium SSD v2 | $0.082 | $8.20 |
| GCP | pd-ssd | $0.170 | $17 |
GCP’s SSD block storage costs 2x what AWS and Azure charge. This is one of GCP’s biggest pricing disadvantages — every VM with attached SSD storage pays a noticeable premium.
Database Pricing
Managed PostgreSQL (4 vCPU, 16 GB RAM, 100 GB storage)
| Provider | Service | Monthly Cost |
|---|---|---|
| AWS | RDS db.m7g.xlarge | $290 |
| Azure | Flexible Server D4as_v5 | $275 |
| GCP | Cloud SQL db-custom-4-16384 | $310 |
Managed databases cost 2–4x more than running PostgreSQL on a raw VM. The premium buys you automated backups, patching, failover, and monitoring. For production workloads, it’s usually worth it. For development and staging, run your own PostgreSQL on a cheap VM.
Serverless Database Options
| Service | Pricing Model | Starting At |
|---|---|---|
| AWS Aurora Serverless v2 | $0.12/ACU-hour | $0.12/hr (0.5 ACU min) |
| Azure Cosmos DB Serverless | $0.25/million RUs | $0 (pay per request) |
| GCP Firestore | $0.06/100K reads | $0 (50K reads/day free) |
Networking: The Hidden Cost
Data transfer (egress) is where cloud bills surprise most teams. Ingress is free on all three providers. Egress is not.
| Egress Volume | AWS | Azure | GCP |
|---|---|---|---|
| First 100 GB/mo | Free (since 2021) | Free (first 100 GB) | Free (first 200 GB) |
| 100 GB – 10 TB | $0.09/GB | $0.087/GB | $0.12/GB |
| 10 TB – 50 TB | $0.085/GB | $0.083/GB | $0.11/GB |
| 50 TB – 150 TB | $0.070/GB | $0.075/GB | $0.08/GB |
For a site serving 10 TB/month of data:
- AWS: ~$890
- Azure: ~$860
- GCP: ~$1,188
GCP’s egress is 30–40% more expensive than AWS and Azure. This is GCP’s weakest pricing area and a major factor for bandwidth-heavy applications.
CDN Pricing
| CDN | First 10 TB/mo | Free Tier |
|---|---|---|
| AWS CloudFront | $0.085/GB | 1 TB/mo free (first year) |
| Azure CDN | $0.081/GB | No free tier |
| GCP Cloud CDN | $0.08/GB | No free tier |
| Cloudflare | $0 (unlimited) | Unlimited bandwidth |
Cloudflare’s free CDN with unlimited bandwidth makes all three cloud CDNs look expensive. Many teams put Cloudflare in front of their cloud provider specifically to avoid egress charges. A 10 TB/month site saves $800–$1,200/month by routing through Cloudflare.
Total Cost Scenarios
Small web app (2 VMs, 500 GB storage, 1 TB egress)
| Component | AWS | Azure | GCP |
|---|---|---|---|
| Compute (2x 4vCPU reserved 1yr) | $152 | $158 | $178 |
| Storage (500 GB SSD + 100 GB S3) | $42 | $43 | $87 |
| Database (managed PostgreSQL) | $290 | $275 | $310 |
| Egress (1 TB) | $81 | $78 | $110 |
| Total | $565/mo | $554/mo | $685/mo |
Mid-size SaaS (10 VMs, 5 TB storage, 10 TB egress)
| Component | AWS | Azure | GCP |
|---|---|---|---|
| Compute (10x reserved) | $760 | $790 | $890 |
| Storage | $515 | $500 | $950 |
| Database (HA PostgreSQL) | $580 | $550 | $620 |
| Egress (10 TB) | $890 | $860 | $1,188 |
| Load Balancer | $22 | $22 | $26 |
| Total | $2,767/mo | $2,722/mo | $3,674/mo |
Azure comes out cheapest in both scenarios, primarily due to lower storage and competitive compute pricing. GCP is 25–35% more expensive, mainly driven by SSD storage and egress costs.
Free Tier Comparison
| Service | AWS Free Tier | Azure Free Tier | GCP Free Tier |
|---|---|---|---|
| Compute | 750 hrs/mo t2.micro (12 mo) | 750 hrs/mo B1s (12 mo) | 1 e2-micro instance (always free) |
| Storage | 5 GB S3 (12 mo) | 5 GB Blob (12 mo) | 5 GB Cloud Storage (always free) |
| Database | 750 hrs RDS (12 mo) | 250 GB SQL (12 mo) | 1 GB Firestore (always free) |
| Functions | 1M invocations/mo (always) | 1M invocations/mo (always) | 2M invocations/mo (always) |
GCP’s always-free tier is the most generous for long-term hobby projects. AWS and Azure expire most free tier benefits after 12 months. GCP’s free e2-micro instance runs indefinitely — enough for a small API, personal blog, or development server.
Who Should Pick What
Pick AWS If:
- You need the broadest service catalog (200+ services)
- Your team has existing AWS expertise
- You want the most mature container and serverless offerings (ECS, EKS, Lambda)
- Graviton ARM instances fit your workload (best compute value)
Pick Azure If:
- Your organization runs Microsoft 365, Active Directory, or .NET
- Hybrid cloud (on-prem + cloud) is a requirement
- You want the cheapest standard storage per GB
- Enterprise agreements with Microsoft already give you Azure credits
Pick GCP If:
- Data analytics is your primary workload (BigQuery is unmatched)
- You want the best free tier for long-term small projects
- Kubernetes is central to your architecture (GKE is the most mature)
- ML/AI workloads benefit from TPU access and Vertex AI
Cheapest overall: Azure — wins on storage and compute, competitive on networking. The default choice for cost-conscious Microsoft shops.
Best compute value: AWS Graviton — ARM instances are 10–20% cheaper than x86 equivalents across all providers.
Best free tier: GCP — the only provider with a permanently free VM instance. Ideal for hobbyists and developers.
Best for data workloads: GCP — BigQuery, Dataflow, and Vertex AI are ahead of AWS and Azure equivalents.
Biggest cost trap: GCP egress — 30–40% more expensive than competitors. Put Cloudflare in front to mitigate.
FAQ
Can I use multiple cloud providers?
Yes (multi-cloud), but it adds operational complexity. Most companies pick one primary provider and only use a second for specific services (e.g., AWS primary + BigQuery for analytics). True multi-cloud architectures require platform-agnostic tooling (Terraform, Kubernetes) that increases engineering overhead.
How do I get the best pricing?
Reserved instances (1–3 year commits) save 30–60%. Spot instances save 60–80% for interruptible workloads. Enterprise agreements negotiate custom rates above $100K/year spend. Start on-demand, analyze usage after 3 months, then commit.
Which is easiest to learn?
GCP’s console is the cleanest. Azure is familiar if you know Microsoft tools. AWS has the steepest learning curve but the most documentation and community resources.




