Object storage pricing: S3 vs Blob vs Cloud Storage vs OCI
Short answer: object storage has four charges, which are stored data, requests, retrieval and data out. A low rate per gigabyte is only the first of them, and the cheapest-looking storage can carry the most expensive extras. To compare clouds, estimate all four for your pattern of use.
Key points
- Stored data is billed per gigabyte-month, by storage class.
- Requests are billed per thousand or ten thousand reads, writes and listings.
- Cold classes add retrieval fees and minimum storage periods.
- Data leaving the cloud is egress and is billed separately.
- Small files and frequent reads push request charges up.
What are the four charges?
| Charge | What drives it |
|---|---|
| Stored data | Gigabytes held per month, by storage class |
| Requests | Number of reads, writes, listings and copies |
| Retrieval | Gigabytes read back from colder classes, plus minimum storage durations |
| Data out | Gigabytes leaving the cloud, billed as egress |
Which services are equivalent?
| Cloud | Service | Vendor price page |
|---|---|---|
| AWS | Amazon S3 | S3 pricing |
| Azure | Blob Storage | Blob pricing |
| Google Cloud | Cloud Storage | Cloud Storage pricing |
| Oracle | OCI Object Storage | Storage pricing |
They are equivalent as general object stores with hot and cold classes. Class names and minimum storage periods differ, so match a cold class to a cold class by access pattern. See classes and lifecycle rules.
What does a worked example look like?
Made-up round numbers to show the method, not real prices. 1,000 GB of files, 5 million reads and 100,000 writes a month, and 200 GB read by the public.
| Line | Calculation | Warm class (made up) | Cold class (made up) |
|---|---|---|---|
| Stored | 1,000 GB x rate | 1,000 x 0.023 = 23.00 | 1,000 x 0.004 = 4.00 |
| Reads | 5,000,000 / 1,000 x rate | 5,000 x 0.0004 = 2.00 | 5,000 x 0.001 = 5.00 |
| Writes | 100,000 / 1,000 x rate | 100 x 0.005 = 0.50 | 100 x 0.01 = 1.00 |
| Retrieval | 200 GB x rate | 0 | 200 x 0.01 = 2.00 |
| Data out | 200 GB x 0.09 | 18.00 | 18.00 |
| Total | 43.50 | 30.00 |
The cold class wins here, because the data is read little. Change the reads to 100 million a month and the cold class loses, since its request and retrieval charges grow. The same files can sit in either class depending on how often they are used.
What makes the bill grow?
- Many small files. Request charges can exceed storage charges when you write millions of tiny objects.
- Cold classes read often. Cheap storage with a retrieval fee costs more than a warm class if you read it every week.
- Early deletion. Cold classes bill a minimum period even if you delete sooner.
- Reading from another region or the internet. Egress is its own line. See data transfer costs and using a CDN.
- Versioning and old copies. Every version is stored and billed.
How do I estimate it?
- Count stored gigabytes and how they split between hot and cold.
- Count requests per month, split into reads and writes.
- Estimate gigabytes read back and gigabytes sent out.
- Price each part on each cloud in the same region group.
The object storage compare page shows each cloud’s price lines and units, with links to vendor pages.
Which mistakes are common?
- Putting log files of tiny objects in a cold class.
- Forgetting versioning and keeping every old copy.
- Ignoring the minimum storage period when moving data between classes.
- Serving public files straight from storage instead of through a CDN.
Decision checklist
- How often is each dataset read? Weekly or more means a warm class.
- Are objects small? Combine them if you can.
- Is there a lifecycle rule to move old data down and delete expired data?
- Is public traffic served through a CDN?
Next steps
For long retention of machine data, see object storage for sensor archives. For queries over stored files, read data lake cost basics and partitioning and Parquet. The data platform estimator prices storage, queries and transforms together.
Frequently asked questions
Why is my object storage bill higher than the price per gigabyte?
The per-gigabyte rate covers only stored data. Requests, retrieval from cold classes, early deletion and data leaving the cloud are billed separately and often exceed the storage line.
Is cold storage always cheaper?
No. Cold classes lower the storage rate but add retrieval charges, higher request charges and minimum storage periods. A cold class that is read every week can cost more than a warm one.
Do I pay to upload data to object storage?
Inbound data transfer is generally free on the major clouds, but write requests are billed, and a large number of small uploads can cost more than the storage.
How many requests does a typical website use?
Each page view fetches several files, and each fetch is one read request. Multiply page views by files per page to estimate monthly reads.
Are S3, Blob Storage, Cloud Storage and OCI Object Storage equivalent?
Yes as general-purpose object stores with hot and cold classes. Class names, minimum storage periods and request definitions differ, so match classes by access pattern, not by name.