Loading...


Updated 11 Aug 2025 • 3 mins read

Cloud storage pricing looks simple, but the per-GB rate is only part of it. This guide compares AWS S3, Azure Blob, and Google Cloud Storage in 2026 across storage tiers, requests, retrieval, and egress, and shows why egress and access patterns, not the headline rate, usually decide the bill.
Ask which cloud has the cheapest object storage and you will get a confident answer that is almost always wrong. People anchor on the per-gigabyte rate, where the three big providers sit within a fraction of a cent of each other, and ignore the four other meters that actually decide the bill: requests, retrieval, replication, and above all egress. Storing data is cheap everywhere. Reading it, and especially moving it out, is where S3, Azure Blob, and Google Cloud Storage pull apart, a dynamic we trace across providers in our AWS vs Azure vs GCP comparison.
This guide compares cloud storage pricing across the three in 2026, the storage classes, the request and retrieval fees, and the egress rates that routinely push real-world spend two to five times above the headline number, so you can pick on total cost rather than the sticker. It is the same lesson that runs through cloud pricing models explained: the headline rate is rarely the real one.
The short version For hot storage, the three are close: Azure Blob Hot is about $0.018/GB-month, Google Cloud Standard about $0.020, and AWS S3 Standard about $0.023. Archive tiers nearly tie (S3 Glacier Deep Archive and Azure Archive at about $0.00099/GB, GCS Archive about $0.0012). The bill is decided elsewhere: egress ($0.087/GB Azure, $0.09 AWS, $0.12 GCP), request fees, and cold-tier retrieval and minimum-duration charges. Pick on access pattern, not the per-GB rate.
Every provider charges across at least five dimensions, and anchoring on only the first is the classic mistake:
The headline hot-storage rates are close, and each provider offers cooler tiers that trade retrieval cost and minimum durations for a lower per-GB price.
| Tier | AWS S3 | Azure Blob | Google Cloud Storage |
|---|---|---|---|
| Hot / Standard | $0.023/GB | $0.018/GB (Hot) | $0.020/GB (Standard) |
| Cool / Infrequent | ~$0.0125/GB (Standard-IA) | $0.010/GB (Cool) | $0.010/GB (Nearline) |
| Cold | ~$0.004/GB (Glacier Instant Retrieval) | $0.0036–$0.0045/GB (Cold) | $0.004/GB (Coldline) |
| Archive | $0.00099/GB (Glacier Deep Archive) | $0.00099–$0.002/GB (Archive) | $0.0012/GB (Archive) |
This is the part the per-GB rate hides. On requests, S3 charges about $0.005 per 1,000 PUTs and $0.0004 per 1,000 GETs; GCP charges about $0.05 per 10,000 Class A and $0.004 per 10,000 Class B operations; Azure is broadly comparable. A microservices app doing millions of small reads a day accumulates real request cost a per-GB estimate misses entirely.
Egress is the big one. Standard internet egress is about $0.087/GB on Azure, $0.09/GB on AWS, and $0.12/GB on GCP, and for read-heavy or multi-cloud workloads it frequently exceeds the storage charge itself. Copying 10 TB out can cost roughly $900 in egress alone, which is why moving data between clouds is so expensive, and why multi-cloud strategies are built to minimize cross-cloud movement. Cold and archive tiers add retrieval fees on top when you read data back, so a cheap archive tier can become expensive the moment you actually need the data. For how these transfer costs shape the bigger picture, see our AWS vs Azure pricing comparison and our guide to cloud total cost of ownership.
It depends on the workload, not the logo. Azure Blob Hot edges out on the headline hot rate; Google Cloud Standard sits in the middle; S3 has the broadest set of tiers and the deepest archive. But the deciding factors are how often you read the data, how much you move out, where it lives, and how long it stays. A write-heavy data lake that rarely reads out favors the cheapest archive tier and minimum durations. A read-heavy, egress-heavy app favors whoever charges least to move data, and often favors staying inside the cloud you already compute in, since same-region traffic to your own services is usually free. The honest answer is that the cheapest provider is the one whose pricing matches your access pattern.
Cloud storage pricing punishes the buyer who reads one number. The per-gigabyte rate, the one everyone compares, is the part that barely moves between S3, Blob, and GCS and the part that matters least. What decides your bill is behavior: how many requests you make, how often you pull cold data back, and how much you send out of the provider's network. Model those against your real access pattern before you migrate anything, match the storage class to how the data is actually used, and apply the lifecycle and egress discipline in our cloud cost optimization strategies guide. Do that and storage stays the cheap foundation it should be. Skip it, and the cheapest per-GB tier can hand you the most expensive bill.₹
For hot object storage, Azure Blob Hot is cheapest at about $0.018/GB-month, then Google Cloud Standard at about $0.020, then AWS S3 Standard at about $0.023. For deep archive, S3 Glacier Deep Archive and Azure Archive tie near $0.00099/GB. Total cost depends on requests, retrieval, and egress, not just per-GB.
Because storage is billed across at least five dimensions: capacity, API requests, retrieval, egress, and redundancy or minimum-duration charges. Egress and requests often dwarf the raw storage charge, especially for read-heavy or multi-cloud workloads.
Egress is the fee for moving data out of a provider's network to the internet, another region, or another cloud. Rates run about $0.087/GB on Azure, $0.09 on AWS, and $0.12 on GCP, and for read-heavy workloads egress is frequently the single largest line on the bill.
All three offer hot, cool, cold, and archive tiers at similar per-GB rates. The differences are in class names, retrieval fees, redundancy options, and minimum durations, S3 and Azure archive bill a 180-day minimum while GCS Archive bills 365 days.
Yes. Because egress is charged when data leaves a provider's network, copying large volumes between clouds is costly, roughly $900 to move 10 TB out at typical rates. Multi-cloud storage strategies should minimize cross-cloud data movement.