Cloud Cost Comparison 2026
Apples-to-apples cost comparison across AWS, Azure, GCP, and OCI for compute, Kubernetes, storage, databases, serverless, egress, and load balancing with 2026 pricing data.
Prerequisites
- Basic understanding of cloud service categories
- Familiarity with cloud billing concepts
Cloud Cost Comparison 2026
Cloud pricing is complex, and direct comparisons between providers are notoriously difficult because each provider uses different machine type naming, pricing models, discount structures, and billing granularity. This guide provides an honest, apples-to-apples cost comparison across AWS, Azure, GCP, and OCI for the most common cloud services: compute instances, managed Kubernetes, object storage, block storage, managed databases, serverless functions, data egress, and load balancing.
All prices are current as of early 2026 for US regions (us-east-1, East US, us-central1, US-ASHBURN). Prices vary by region, with Asia-Pacific and South America typically 10-30% more expensive. Reserved instance and committed use discounts can reduce costs by 30-72% depending on provider and commitment term. This guide uses on-demand prices as the baseline and notes discount availability.
The goal is not to declare a single "cheapest" cloud (the answer always depends on your specific workload) but to give you the data needed to make informed decisions for each service category.
Pricing Changes
Cloud pricing changes frequently. AWS and GCP have historically only lowered prices, while Azure has occasionally raised prices on specific services. Always verify current pricing on each provider's pricing calculator before making commitments. The figures in this guide are accurate as of March 2026 but may change.
Compute Instance Pricing
We compare equivalent general-purpose instances across providers. Each provider names their machine types differently, but the underlying hardware (Intel, AMD, or ARM processors with similar core counts and memory) is comparable.
General-Purpose Instances (4 vCPU, 16 GB RAM)
| Provider | Instance Type | On-Demand ($/hr) | Monthly (730 hrs) | 1yr Reserved | 3yr Reserved |
|---|---|---|---|---|---|
| AWS | m7i.xlarge | $0.2016 | $147.17 | $93.44 (37% off) | $59.13 (60% off) |
| Azure | D4s v5 | $0.192 | $140.16 | $86.50 (38% off) | $55.12 (61% off) |
| GCP | n2-standard-4 | $0.1942 | $141.77 | $89.12 (37% off, 1yr CUD) | $50.83 (64% off, 3yr CUD) |
| OCI | VM.Standard.E5.Flex (4 OCPU) | $0.1280 | $93.44 | N/A (always low) | N/A |
ARM-Based Instances (4 vCPU, 16 GB RAM)
| Provider | Instance Type | On-Demand ($/hr) | Monthly (730 hrs) | vs x86 Savings |
|---|---|---|---|---|
| AWS | m7g.xlarge (Graviton3) | $0.1632 | $119.14 | 19% cheaper |
| Azure | D4ps v5 (Ampere) | $0.154 | $112.42 | 20% cheaper |
| GCP | t2a-standard-4 (Tau T2A) | $0.1531 | $111.76 | 21% cheaper |
| OCI | VM.Standard.A2.Flex (4 OCPU) | $0.080 | $58.40 | 37% cheaper |
OCI Compute Advantage
OCI consistently offers the lowest compute pricing, particularly for AMD and Ampere ARM instances. The OCI Always Free tier includes up to 4 Ampere A1 instances with 24 GB of total RAM permanently, which is far more generous than any other provider's free tier. For compute-intensive workloads where you can use ARM architecture, OCI can be 40-60% cheaper than the other three providers.
Managed Kubernetes Pricing
| Component | AWS EKS | Azure AKS | GCP GKE | OCI OKE |
|---|---|---|---|---|
| Control Plane | $73/month per cluster | Free (Standard), $73 (Premium) | Free (1 zonal), $73 (regional/Autopilot) | Free |
| Node Cost | Standard EC2 pricing | Standard VM pricing | Standard GCE pricing | Standard OCI pricing |
| 3-node cluster (4 vCPU, 16 GB each) | $73 + $441 = $514/mo | $0 + $420 = $420/mo | $73 + $425 = $498/mo | $0 + $280 = $280/mo |
| Autopilot / Serverless Nodes | Fargate (higher per-pod cost) | No serverless nodes | Autopilot (pod-level billing) | Virtual Nodes (free) |
Object Storage Pricing
| Component | AWS S3 | Azure Blob | GCP Cloud Storage | OCI Object Storage |
|---|---|---|---|---|
| Standard (per GB/mo) | $0.023 | $0.018 | $0.020 | $0.0255 |
| 1 TB Standard (monthly) | $23.55 | $18.43 | $20.48 | $26.11 |
| PUT requests (per 1K) | $0.005 | $0.005 | $0.005 | $0.004 |
| GET requests (per 1K) | $0.0004 | $0.0004 | $0.0004 | $0.00034 |
| 10 TB stored, 10M GETs, 1 TB egress | $235 + $4 + $90 = $329 | $184 + $4 + $87 = $275 | $205 + $4 + $120 = $329 | $261 + $3.4 + $0 = $264 |
Total Cost Matters More Than Unit Price
Azure Blob has the cheapest per-GB storage cost, but OCI has the cheapest total cost for read-heavy workloads because of its dramatically lower egress pricing (10 TB/month free, then $0.0085/GB). For a data distribution workload serving 50 TB of egress/month, OCI saves over $4,000/month compared to AWS or GCP. Always model the complete cost including storage, operations, and egress rather than comparing individual price components.
Data Egress Pricing
Data egress (outbound data transfer to the internet) is often the most surprising cost on cloud bills. The pricing differences across providers are dramatic and can significantly impact the total cost of ownership for data-intensive applications.
| Volume | AWS | Azure | GCP | OCI |
|---|---|---|---|---|
| First 100 GB/mo | Free (first 100 GB) | Free (first 100 GB) | Free (first 200 GB) | Free (first 10 TB) |
| 1 TB/month | $81.31 | $78.36 | $96.00 | $0.00 (within free tier) |
| 10 TB/month | $891.00 | $867.90 | $1,080.00 | $0.00 (within free tier) |
| 50 TB/month | $4,191.00 | $4,087.90 | $4,680.00 | $340.00 |
| 100 TB/month | $7,691.00 | $7,587.90 | $8,480.00 | $765.00 |
Managed Database Pricing
PostgreSQL (4 vCPU, 16 GB RAM, 100 GB storage)
| Provider | Service | Monthly Cost | HA (Multi-AZ) Cost |
|---|---|---|---|
| AWS | RDS for PostgreSQL (db.m7g.xlarge) | ~$197 | ~$394 (Multi-AZ) |
| Azure | Flexible Server (D4s_v3) | ~$198 | ~$396 (Zone-redundant) |
| GCP | Cloud SQL (db-custom-4-16384) | ~$214 | ~$428 (HA) |
| GCP | AlloyDB (4 vCPU) | ~$262 | Built-in (storage layer) |
| OCI | PostgreSQL DB System | ~$110 | ~$220 (HA) |
Serverless Function Pricing
| Component | AWS Lambda | Azure Functions | GCP Cloud Functions | OCI Functions |
|---|---|---|---|---|
| Free Requests/mo | 1M | 1M | 2M | 2M |
| Free Compute/mo | 400K GB-seconds | 400K GB-seconds | 400K GB-seconds | 400K GB-seconds |
| Per 1M requests | $0.20 | $0.20 | $0.40 | $0.20 |
| Per GB-second | $0.0000166667 | $0.000016 | $0.0000025 | $0.00001417 |
| 10M requests, 128MB, 200ms each | $3.63 | $3.49 | $3.96 | $3.18 |
Load Balancer Pricing
| Component | AWS ALB | Azure App GW v2 | GCP Ext App LB | OCI Flexible LB |
|---|---|---|---|---|
| Base Cost (monthly) | $16.43 (fixed) | $18.25 (fixed) | $18.26 (5 rules) | $0 (10 Mbps free) |
| Processing (per LCU/CU/etc.) | $5.84/LCU-hour | $5.11/CU-hour | $0.008/GB processed | $0.01/Mbps/hr (above 10) |
| Typical monthly (100 GB/day) | ~$40 | ~$45 | ~$42 | ~$10 |
Cost Optimization Tools
# AWS: Check cost and usage for last 30 days
aws ce get-cost-and-usage \
--time-period Start=2026-02-14,End=2026-03-14 \
--granularity MONTHLY \
--metrics "BlendedCost" \
--group-by Type=DIMENSION,Key=SERVICE \
--output table
# Azure: View cost analysis
az costmanagement query --type ActualCost \
--scope "/subscriptions/SUBSCRIPTION_ID" \
--timeframe MonthToDate \
--dataset-aggregation '{"totalCost": {"name": "Cost", "function": "Sum"}}' \
--dataset-grouping name=ServiceName type=Dimension
# GCP: View billing export in BigQuery
# (Requires billing export to BigQuery enabled)
bq query --use_legacy_sql=false "
SELECT service.description AS service,
SUM(cost) AS total_cost,
SUM(credits.amount) AS total_credits
FROM \`MY_PROJECT.billing_export.gcp_billing_export_v1_XXXXX\`
WHERE DATE(usage_start_time) >= '2026-02-14'
GROUP BY service.description
ORDER BY total_cost DESC
LIMIT 20
"
# OCI: View cost analysis
oci usage-api usage-summary request-summarized-usages \
--tenant-id TENANCY_OCID \
--granularity MONTHLY \
--time-usage-started "2026-02-14T00:00:00Z" \
--time-usage-ended "2026-03-14T00:00:00Z" \
--group-by '["service"]'Discount Programs Comparison
| Discount Type | AWS | Azure | GCP | OCI |
|---|---|---|---|---|
| Automatic Discounts | None | None | SUDs (up to 30% on sustained use) | Always-low pricing |
| 1-Year Commitment | Reserved Instances (30-40%) | Reserved Instances (38%) | CUDs (37%) | N/A |
| 3-Year Commitment | Reserved Instances (55-72%) | Reserved Instances (55-65%) | CUDs (55-64%) | N/A |
| Spot/Preemptible | Spot (up to 90% off) | Spot (up to 90% off) | Spot (60-91% off) | Preemptible (50% off) |
| Enterprise Agreement | EDP (negotiated) | EA (negotiated) | Negotiated contracts | Universal Credits |
GCP Sustained Use Discounts
GCP is the only provider that gives automatic discounts without commitment. If you run a VM for more than 25% of a month, GCP automatically applies Sustained Use Discounts (SUDs) of up to 30%. This means even on-demand GCP pricing can be cheaper than on-demand pricing on other providers. Stack SUDs with Committed Use Discounts for maximum savings. AWS and Azure require you to actively purchase reservations to get any discount.
Key Takeaways
| Category | Cheapest Provider | Key Factor |
|---|---|---|
| General compute (on-demand) | OCI | 30-50% lower base price |
| Compute (with 3yr RI) | GCP | 64% CUD discount + SUDs |
| Object storage (per GB) | Azure | $0.018/GB Hot LRS |
| Data egress | OCI | 10 TB free, then $0.0085/GB |
| Managed Kubernetes | OCI | Free control plane + cheapest nodes |
| Managed PostgreSQL | OCI | ~45% cheaper than AWS/Azure/GCP |
| Serverless functions | OCI | Lowest per-request + per-GB-second |
| Load balancing | OCI | 10 Mbps free, no fixed cost |
Key Takeaways
- 1OCI offers the lowest on-demand compute pricing, typically 30-50% cheaper than AWS, Azure, or GCP.
- 2GCP provides the best committed-use discounts (64% for 3-year CUDs) plus automatic sustained use discounts.
- 3OCI data egress is dramatically cheaper: 10 TB/month free, then $0.0085/GB vs $0.087-0.12/GB on others.
- 4Azure Blob has the cheapest per-GB object storage; OCI has the cheapest total cost for read-heavy workloads.
- 5ARM-based instances (Graviton, Ampere) are 19-37% cheaper than x86 equivalents across all providers.
- 6OCI provides free Kubernetes control plane and free load balancer (10 Mbps), reducing baseline infrastructure costs.
Frequently Asked Questions
Which cloud is the cheapest overall?
How accurate are cloud cost comparisons?
Should I choose a cloud based on price alone?
Written by CloudToolStack Team
Cloud engineers and architects with hands-on experience across AWS, Azure, and GCP. We write guides based on real-world production patterns, not just documentation rewrites.
Disclaimer: This guide is for educational purposes. Cloud services change frequently; always refer to official documentation for the latest information. AWS, Azure, and GCP are trademarks of their respective owners.