Cloud Pricing Comparison — AWS vs Azure vs GCP
Indicative, not a quote. Prices are normalized to a common unit per capability and carry a confidence tag (live = pulled from the provider’s pricing API; list = published list price). Each row shows its
as_ofdate. Excludes committed-use discounts, support, and tax. Cloudflare is covered on its own page (partial, edge-native stack) — its standout is $0 egress.
Object Storage
Section titled “Object Storage”Unit: USD per GB-month
| Provider | Service | Unit price | Source | As of |
|---|---|---|---|---|
| AWS | S3 Standard | $0.023 | live | 2026-06-30 |
| Azure | Blob Storage (Hot, LRS) | $0.0208 | live | 2026-06-30 |
| GCP | Cloud Storage Standard | $0.02 | live | 2026-06-30 |
Cheapest of the three: GCP at $0.02/GB-month.
{"data": [{"type": "bar", "x": ["AWS", "Azure", "GCP"], "y": [0.023, 0.0208, 0.02], "marker": {"color": ["#ff9900", "#0078d4", "#4285f4"]}}], "layout": {"title": "Object Storage \u2014 USD per GB-month", "yaxis": {"title": "USD per GB-month"}, "height": 320}}Assumptions: Standard/hot tier, single-region, locally-redundant (LRS-equivalent); Capacity (data-at-rest), first pricing tier. Excludes: Request/operation charges, Data egress, Replication/GRS, Lifecycle transitions.
Block Storage (SSD volume)
Section titled “Block Storage (SSD volume)”Unit: USD per GB-month
| Provider | Service | Unit price | Source | As of |
|---|---|---|---|---|
| AWS | EBS gp3 | $0.08 | live | 2026-06-30 |
| Azure | Premium SSD Managed Disk | $0.12 | list | 2026-06-30 |
| GCP | Persistent Disk (Balanced) | $0.1 | live | 2026-06-30 |
Cheapest of the three: AWS at $0.08/GB-month.
{"data": [{"type": "bar", "x": ["AWS", "Azure", "GCP"], "y": [0.08, 0.12, 0.1], "marker": {"color": ["#ff9900", "#0078d4", "#4285f4"]}}], "layout": {"title": "Block Storage (SSD volume) \u2014 USD per GB-month", "yaxis": {"title": "USD per GB-month"}, "height": 320}}Assumptions: General-purpose SSD volume, provisioned capacity; Excludes provisioned IOPS/throughput add-ons. Excludes: Provisioned IOPS/throughput, Snapshots, Egress.
VM Compute (general purpose, ~2 vCPU / 8 GB)
Section titled “VM Compute (general purpose, ~2 vCPU / 8 GB)”Unit: USD per vCPU-hour
| Provider | Service | Unit price | Source | As of |
|---|---|---|---|---|
| AWS | EC2 m5.large (2 vCPU) | $0.048 | live | 2026-06-30 |
| Azure | D2s v5 (2 vCPU) | $0.048 | live | 2026-06-30 |
| GCP | e2-standard-2 (2 vCPU) | $0.0335 | live | 2026-06-30 |
Cheapest of the three: GCP at $0.0335/vCPU-hour.
{"data": [{"type": "bar", "x": ["AWS", "Azure", "GCP"], "y": [0.048, 0.048, 0.03350571], "marker": {"color": ["#ff9900", "#0078d4", "#4285f4"]}}], "layout": {"title": "VM Compute (general purpose, ~2 vCPU / 8 GB) \u2014 USD per vCPU-hour", "yaxis": {"title": "USD per vCPU-hour"}, "height": 320}}Assumptions: On-demand Linux, general-purpose 2 vCPU/8 GB reference SKU, normalized per-vCPU; No reserved/committed-use discount. Excludes: Reserved/savings-plan discounts, Attached storage, Egress, Windows licensing.
Serverless Functions / Edge Compute
Section titled “Serverless Functions / Edge Compute”Unit: USD per 1M requests
| Provider | Service | Unit price | Source | As of |
|---|---|---|---|---|
| AWS | Lambda | $0.2 | list | 2026-06-30 |
| Azure | Functions (Consumption) | $0.2 | list | 2026-06-30 |
| GCP | Cloud Run / Functions | $0.4 | list | 2026-06-30 |
Cheapest of the three: AWS at $0.2/1M requests.
{"data": [{"type": "bar", "x": ["AWS", "Azure", "GCP"], "y": [0.2, 0.2, 0.4], "marker": {"color": ["#ff9900", "#0078d4", "#4285f4"]}}], "layout": {"title": "Serverless Functions / Edge Compute \u2014 USD per 1M requests", "yaxis": {"title": "USD per 1M requests"}, "height": 320}}Assumptions: Request/invocation price only; After any free monthly allowance. Excludes: GB-second compute duration, Egress, Provisioned concurrency.
Managed Relational DB (PostgreSQL, ~2 vCPU / 8 GB)
Section titled “Managed Relational DB (PostgreSQL, ~2 vCPU / 8 GB)”Unit: USD per instance-hour
| Provider | Service | Unit price | Source | As of |
|---|---|---|---|---|
| AWS | RDS PostgreSQL db.m5.large | $0.178 | list | 2026-06-30 |
| Azure | Azure DB for PostgreSQL (Flexible, D2s_v3) | $0.14 | list | 2026-06-30 |
| GCP | Cloud SQL PostgreSQL (2 vCPU) | $0.1 | list | 2026-06-30 |
Cheapest of the three: GCP at $0.1/instance-hour.
{"data": [{"type": "bar", "x": ["AWS", "Azure", "GCP"], "y": [0.178, 0.14, 0.1], "marker": {"color": ["#ff9900", "#0078d4", "#4285f4"]}}], "layout": {"title": "Managed Relational DB (PostgreSQL, ~2 vCPU / 8 GB) \u2014 USD per instance-hour", "yaxis": {"title": "USD per instance-hour"}, "height": 320}}Assumptions: Single-AZ managed PostgreSQL, ~2 vCPU/8 GB reference instance, on-demand. Excludes: Storage + IOPS, Multi-AZ/HA, Backups beyond free, Egress.
Internet Data Egress
Section titled “Internet Data Egress”Unit: USD per GB
| Provider | Service | Unit price | Source | As of |
|---|---|---|---|---|
| AWS | EC2/S3 egress | $0.09 | list | 2026-06-30 |
| Azure | Bandwidth egress | $0.087 | list | 2026-06-30 |
| GCP | Network egress | $0.12 | list | 2026-06-30 |
Cheapest of the three: Azure at $0.087/GB.
{"data": [{"type": "bar", "x": ["AWS", "Azure", "GCP"], "y": [0.09, 0.087, 0.12], "marker": {"color": ["#ff9900", "#0078d4", "#4285f4"]}}], "layout": {"title": "Internet Data Egress \u2014 USD per GB", "yaxis": {"title": "USD per GB"}, "height": 320}}Assumptions: Data transfer OUT to internet, first paid tier (after free allowance). Excludes: Inter-region/inter-AZ transfer, CDN-discounted egress, Private link.
CDN (content delivery egress)
Section titled “CDN (content delivery egress)”Unit: USD per GB
| Provider | Service | Unit price | Source | As of |
|---|---|---|---|---|
| AWS | CloudFront | $0.085 | list | 2026-06-30 |
| Azure | Front Door / CDN | $0.081 | list | 2026-06-30 |
| GCP | Cloud CDN | $0.08 | list | 2026-06-30 |
Cheapest of the three: GCP at $0.08/GB.
{"data": [{"type": "bar", "x": ["AWS", "Azure", "GCP"], "y": [0.085, 0.081, 0.08], "marker": {"color": ["#ff9900", "#0078d4", "#4285f4"]}}], "layout": {"title": "CDN (content delivery egress) \u2014 USD per GB", "yaxis": {"title": "USD per GB"}, "height": 320}}Assumptions: Cache egress to internet, North America/Europe first tier. Excludes: Requests, Real-time logs, WAF/security add-ons.
Managed Kubernetes (control plane)
Section titled “Managed Kubernetes (control plane)”Unit: USD per cluster-hour
| Provider | Service | Unit price | Source | As of |
|---|---|---|---|---|
| AWS | EKS | $0.1 | list | 2026-06-30 |
| Azure | AKS | $0 | list | 2026-06-30 |
| GCP | GKE | $0.1 | list | 2026-06-30 |
Cheapest of the three: Azure at $0/cluster-hour.
{"data": [{"type": "bar", "x": ["AWS", "Azure", "GCP"], "y": [0.1, 0, 0.1], "marker": {"color": ["#ff9900", "#0078d4", "#4285f4"]}}], "layout": {"title": "Managed Kubernetes (control plane) \u2014 USD per cluster-hour", "yaxis": {"title": "USD per cluster-hour"}, "height": 320}}Assumptions: Control-plane/management fee only. Excludes: Worker node compute, Load balancers, Storage, Egress.
Generated from the live cost catalog via scripts/gen_cloud_docs.py. Re-run to refresh pricing.