Storage pricing across AWS, Azure, GCP, and OCI is close on the headline per gigabyte rate for hot data and diverges sharply once you account for access pattern. Three charges decide the real cost: retrieval fees on cold and archive tiers, per request charges on object operations, and egress when data leaves the cloud, which often dominates everything else. A low storage rate paired with expensive retrieval can cost more than a higher rate with free reads, depending on how often the data is touched. The right comparison is therefore not provider against provider on the storage rate, but tier against access pattern on total cost. OCI egress is materially cheaper than the hyperscalers, which matters for data that leaves the cloud, while block storage savings come mostly from moving to current generation volumes such as gp3 on AWS.
Here is how the tiers compare, what the hidden charges do, and how to cut storage cost in practice.
How do the storage tiers compare?
Each provider offers a ladder from hot to archive, and the names differ more than the structure does.
| Tier | AWS | Azure | GCP | OCI |
|---|---|---|---|---|
| Hot, frequent access | S3 Standard | Blob Hot | Cloud Storage Standard | Object Storage Standard |
| Infrequent access | S3 Standard Infrequent Access | Blob Cool | Cloud Storage Nearline | Object Storage Infrequent Access |
| Cold | S3 Glacier Flexible | Blob Cold | Cloud Storage Coldline | Object Storage (with lifecycle) |
| Archive | S3 Glacier Deep Archive | Blob Archive | Cloud Storage Archive | Archive Storage |
The storage rate falls steeply as you go down the ladder, but the retrieval cost and minimum duration penalty rise just as steeply. The structure is consistent across all four, so the comparison that matters is which tier suits your access pattern, then which provider prices that tier and its retrieval best for your read frequency. Specific rates move, so treat any figure as indicative and verify against each provider's current pricing page.
What hidden charges decide the real cost?
The headline rate is the part everyone sees and the smallest part of the decision for cold data.
- Retrieval fees. Cold and archive tiers charge to read data back, sometimes per gigabyte retrieved and sometimes with expedited versus standard tiers. Data you read often does not belong in a cheap tier with expensive retrieval.
- Per request charges. Object operations, listing, getting, and putting, are metered per thousand requests. A workload with many small objects can spend more on requests than on storage.
- Minimum storage duration. Cold and archive tiers bill a minimum retention, so deleting early still incurs the full minimum. Lifecycle policies that move data too aggressively can trigger these penalties.
- Egress. Data leaving the cloud pays egress, which for read heavy or cross cloud workloads frequently exceeds the storage cost itself. OCI prices egress materially lower than the hyperscalers, which is a genuine placement consideration for egress heavy data.
How do you actually cut storage cost?
The levers are mostly policy, not migration, which makes them low risk. Tier data to its real access pattern and set lifecycle rules to move and expire it automatically, so nothing sits on hot storage at the hot price by inertia. For block storage, migrate to current generation volumes, gp3 over gp2 on AWS is a standing win that improves price and performance together, and right size provisioned capacity to actual use. Clean up the quiet waste: orphaned volumes after instances are terminated, old snapshots nobody prunes, and incomplete multipart uploads. And keep data close to where it is processed, because a tiering saving evaporates if the architecture then pays egress to read the data from somewhere else.
A worked example
A European SaaS company stored years of event data on hot object storage because no lifecycle policy had ever been set. The data was written once and read rarely, the textbook case for tiering. Moving data older than a set age to infrequent access and then to archive, with retention tuned to avoid early deletion penalties, cut the storage line substantially with no change to the application. A parallel gp3 migration on the block storage side and cleanup of orphaned volumes added more. Because the analytics that occasionally read the cold data ran in the same region, no egress charge undid the saving. Storage and tiering together are a reliable contributor to the 20 to 40 percent a full program recovers. Figures are indicative and verified against billing data, and the example is anonymised.
Frequently asked questions
Which cloud has the cheapest storage?
What hidden charges affect storage cost?
How do you actually cut storage cost?
Compare storage on your real access pattern
We help enterprises compare and cut storage cost across AWS, Azure, GCP, and OCI on the access patterns that actually drive the bill, as an independent advisory that takes zero provider commissions and answers only to you. Our guarantee: we reduce your cloud spend or we reimburse our service fee, on a Fixed Fee or a no risk Gainshare basis. Download the playbook, read the cross cloud cost optimization guide, and follow more in The Cloud Spend Navigator.
Put a defensible number on your cloud spend.
No provider in the room, no published price list. Tell us your footprint and we will scope the savings against your billing data — we reduce your cloud spend or we reimburse our service fee.
The Cloud Spend Navigator: what changed in cloud pricing, commitments, and FinOps — no vendor spin.