Storage classes
Every cold and archive class, judged by what a restore costs
A 24-class cross-vendor comparison of minimum duration, retrieval price, retrieval latency, per-object overhead, within-vendor break-even, and the access pattern that makes each tier the wrong choice.
Put your own numbers through the calculator to see what this meter does to a normal month and to the day you restore.
A cold-tier winner needs a priced restore and a retention gate
The comparison includes each unique class record sold as infrequent access, cool, nearline, cold, glacier, archive, or an archive access tier. Duplicate AWS and Azure Region records are represented by US East and East US rows so one class is not counted twice. Region, unit, and currency remain visible. [1] [2]
Break-even is computed only against a warmer class from the same vendor and compatible Region when the required storage and retrieval meters are published. The byte formula is (warmer storage rate - cold storage rate) / cold retrieval rate. Requests, temporary-copy storage, and egress are then added separately. A missing meter produces not published or not comparable, never zero. [1] [4]
| Rule | What the table does | What it refuses to do |
|---|---|---|
| Minimum duration | Names the 30, 31, 90, 180, or 365-day gate where published [1] [3] [4] [5] | Does not treat not published as no minimum |
| Retrieval | Keeps byte price, mode, request price, allowance, and latency distinct [1] [2] | Does not collapse a free allowance with an unpriced overage into $0 |
| Small objects | Shows minimum billed size, metadata, monitoring, and per-request charges [1] | Does not infer no overhead when the minimum object rule is not published |
| Break-even | Uses a same-vendor warmer baseline and states the arithmetic | Does not rank bundled, non-substitute, or incomplete records |
| Egress | Adds destination-aware transfer after the class comparison | Does not mistake a matching class egress line for a complete restore receipt |
Twenty-four cold and archive classes, with the reason each can lose
Percentages are the share of stored bytes read per month where cold and warmer byte costs are equal. Values above 100% are possible because one full read can still cost less than the monthly storage saved. The tier can nevertheless be wrong because of latency, requests, object overhead, availability, or minimum-duration churn. [6] [2] [4]
Latency is printed only when the captured record contains a sourced value. A class name containing Instant is not used to invent milliseconds, and an omitted minimum or retrieval price remains not published. [1] [20]
Twenty-four cold and archive classes, with the reason each can lose24 rows
| Provider, tier, representative region | Storage meter | Minimum duration | Retrieval meter and latency | Per-object overhead | Break-even against warmer class | Wrong access pattern | Source ref |
|---|---|---|---|---|---|---|---|
| Amazon S3 Standard-IA, us-east-1 | $0.0125/GB-month | 30 days | $0.01/GB; latency not published | 128 KB minimum billed object; GET $0.001 per 1,000 | ($0.023 - $0.0125) / $0.01 = 105% per month versus Standard | More than 105% read per month, sub-30-day churn, or many sub-128 KB objects | [6] [1] |
| Amazon S3 One Zone-IA, us-east-1 | $0.01/GB-month | 30 days | $0.01/GB; latency not published | 128 KB minimum billed object; GET $0.001 per 1,000 | ($0.023 - $0.01) / $0.01 = 130% per month versus Standard | A restore that must survive loss of the one Availability Zone, plus sub-30-day churn or small-object billing | [6] [1] [7] |
| Amazon S3 Glacier Instant Retrieval, us-east-1 | $0.004/GB-month | 90 days | $0.03/GB; latency not published | 128 KB minimum billed object; GET $0.01 per 1,000 | ($0.023 - $0.004) / $0.03 = 63.33% per month versus Standard | More than 63.33% read per month, sub-90-day churn, or request-heavy access to small objects | [6] [1] |
| Amazon S3 Glacier Flexible Retrieval, us-east-1 | $0.0036/GB-month | 90 days | Expedited $0.03/GB at 1-5 minutes; Standard $0.01 at 3-5 hours; Bulk not charged at 5-12 hours | 40 KB metadata per object; restore requests $10, $0.05, or not charged per 1,000 by mode | Standard 194%; Expedited 64.67%; Bulk has no retrieval-byte crossover versus Standard | Interactive reads that cannot wait for the chosen mode, many-small-file expedited restores, or sub-90-day churn | [6] [1] |
| Amazon S3 Glacier Deep Archive, us-east-1 | $0.00099/GB-month | 180 days | Standard $0.02/GB within 12 hours; Bulk $0.0025 within 48 hours | 40 KB metadata per object; restore requests $0.10 or $0.025 per 1,000 | Standard 110.05%; Bulk 880.40% versus Standard | Reads that cannot wait 12-48 hours, sub-180-day churn, or restores dominated by many tiny objects | [6] [1] |
| Amazon S3 Intelligent-Tiering, us-east-1 | Archive Instant $0.004, Archive $0.0036, Deep Archive $0.00099/GB-month inside the class | Aggregate minimum does not apply; optional archive behavior is conditional | Standard and Bulk not charged; expedited Archive Access $0.03/GB at 1-5 minutes | $0.0025 per 1,000 objects-month monitoring; objects under 128 KB do not auto-tier | conditional; Infrequent Access monitoring pays at 238.1 KB average object size: $0.0000025 / ($0.023 - $0.0125) | Small or frequently accessed objects that stay in Frequent Access and add monitoring without tier savings | [6] [1] |
| Azure Blob Cool LRS, eastus | $0.0152/GB-month | 30 days | $0.01/GB; latency not published | Minimum object size not published; reads $0.001 per 1,000 | ($0.0208 - $0.0152) / $0.01 = 56% per month versus Hot | More than 56% read per month, sub-30-day churn, or many small reads | [2] [3] |
| Azure Blob Cold LRS, eastus | $0.0036/GB-month | 90 days | $0.03/GB; latency not published | Minimum object size not published; reads $0.01 per 1,000 | ($0.0208 - $0.0036) / $0.03 = 57.33% per month versus Hot | More than 57.33% read per month, sub-90-day churn, or request-heavy access | [2] [3] |
| Azure Blob Archive LRS, eastus | $0.00099/GB-month | 180 days | Standard $0.02/GB up to 15 hours under 10 GB; High Priority $0.10 and may be under 1 hour under 10 GB | Minimum object size not published; Standard or High Priority restore request $0.50 or $5 per 1,000 | Standard 99.05%; High Priority 19.81% versus Hot | Unplanned High Priority reads above 19.81% per month, sub-180-day churn, or many-small-object restores | [2] [3] [8] |
| Google Cloud Nearline, us-east1 | $0.01/GiB-month | 30 days | $0.01/GiB; latency not published | Minimum object size not published; Class B $0.001 per 1,000 after 50,000 free | ($0.02 - $0.01) / $0.01 = 100% per month versus Standard | More than one full read per month, sub-30-day churn, or operation-heavy small reads | [4] |
| Google Cloud Coldline, us-east1 | $0.004/GiB-month | 90 days | $0.02/GiB; latency not published | Minimum object size not published; Class B $0.01 per 1,000 after 50,000 free | ($0.02 - $0.004) / $0.02 = 80% per month versus Standard | More than 80% read per month, sub-90-day churn, or request-heavy small reads | [4] |
| Google Cloud Archive, us-east1 | $0.0012/GiB-month | 365 days | $0.05/GiB; latency not published | Minimum object size not published; Class B $0.05 per 1,000 after 50,000 free | ($0.02 - $0.0012) / $0.05 = 37.60% per month versus Standard | More than 37.60% read per month, sub-365-day churn, or a high count of small reads | [4] |
| Cloudflare R2 Infrequent Access, global | $0.01/GB-month | 30 days | $0.01/GB; latency not published; internet egress not charged | Minimum object size not published; Class A $0.009 and Class B $0.0009 per 1,000 | ($0.015 - $0.01) / $0.01 = 50% per month versus R2 Standard | More than 50% read per month, sub-30-day churn, or request volume that erases the storage saving | [9] |
| DigitalOcean Spaces Cold Storage, nyc3 | $0.007/GiB-month | 30 days; prorated remainder after the first 250 GiB of monthly early deletions or updates | $0.01/GiB after the 1x average-daily-storage monthly allowance; latency not published | 128 KiB minimum billed object and read; Class A and Class B prices not published | not comparable as a complete restore; request and restored-copy prices remain not published | Request-heavy restores, sub-30-day mutations, or any plan that requires a published recovery latency | [10] [11] |
| Scaleway Glacier, fr-par | €0.00254/GB-month; USD not published | not published | €0.009/GB; USD not published; latency not published | Minimum object size not published; vendor recommends objects over 1 MB; Class A and B not charged | (€0.01606 - €0.00254) / €0.009 = 150.22% per month versus Standard Multi-AZ byte meters | Small-object archives, or any retention and restore plan that requires a published minimum duration or latency | [12] [13] |
| OVHcloud Infrequent Access, GRA | $0.0043581/GiB-month | 30 days | $0.0044/GiB; latency not published | Minimum object size not published; Class A and B not charged | ($0.0202794 - $0.0043581) / $0.0044 = 361.85% per month versus High Performance in the same captured Region | Sub-30-day churn or access that requires a published latency; capability differences still need a separate eligibility check | [14] [15] |
| OVHcloud Active Archive, EU-WEST-PAR | $0.0053217/GiB-month | not published | $0.0212/GiB; latency not published | Minimum object size not published; Class A and B not charged | ($0.0157096 - $0.0053217) / $0.0212 = 49.00% per month versus the first-band Standard 3-AZ rate | More than 49% read per month, or any workflow that needs a published minimum duration and retrieval time | [14] [15] |
| OVHcloud Cold Archive, EU-WEST-PAR | Starting at $0.002/GiB-month | 180 days | not published; vendor states retrieval fees apply; latency not published | Minimum object size not published; Class A and B not charged | not published because the retrieval rate is not published | Any restore plan that needs a priced or timed retrieval, plus sub-180-day churn | [14] [15] [16] |
| Vultr Archive, ewr | $6/month includes 1,000 GB; then $0.006/GB-month | not published | not published; restored copies use Standard storage; latency not published | Minimum object size and operation prices not published | not published because retrieval, minimum duration, and operation prices are incomplete | Any restore-planning workload that needs a complete cost or time estimate | [17] [18] |
| Oracle OCI Infrequent Access, us-ashburn-1 | First 10 GB not charged, then $0.01/GB-month | 31 days | $0.01/GB; latency not published | Minimum object size not published; requests $0.00034 per 1,000 after 50,000 free | ($0.0255 - $0.01) / $0.01 = 155% per month above the shared first 10 GB versus Standard | Sub-31-day churn or access that requires a published retrieval time | [19] [5] |
| Oracle OCI Archive, us-ashburn-1 | First 10 GB not charged, then $0.0026/GB-month | 90 days | not charged; latency not published | Minimum object size not published; requests $0.00034 per 1,000 after 50,000 free | No retrieval-byte crossover versus Standard because Archive storage is lower and retrieval is not charged | Sub-90-day churn or any restore pattern that requires a published retrieval time | [19] [5] |
| Tigris Infrequent Access, global | $0.01/GiB-month | 30 days | $0.01/GiB; latency not published; internet egress not charged | Minimum object size not published; Class B $0.0005 per 1,000 after 100,000 free | ($0.02 - $0.01) / $0.01 = 100% per month versus Standard | More than one full read per month or sub-30-day churn | [20] |
| Tigris Archive, global | $0.004/GiB-month | 90 days | Retrieval not charged; temporary Standard copy billed; latency not published | Minimum object size not published; Class B $0.0005 per 1,000 after 100,000 free | No retrieval-byte crossover versus Standard; temporary-copy storage remains separate | Repeated restores that retain Standard copies, sub-90-day churn, or any workflow needing a published restore time | [20] |
| Tigris Archive Instant Retrieval, global | $0.004/GiB-month | 90 days | $0.03/GiB; latency not published; internet egress not charged | Minimum object size not published; Class B $0.0005 per 1,000 after 100,000 free | ($0.02 - $0.004) / $0.03 = 53.33% per month versus Standard | More than 53.33% read per month or sub-90-day churn | [20] |
Object count can dominate an archive restore
AWS is the only captured archive family with a numeric metadata overhead: Glacier Flexible Retrieval and Deep Archive add 40 KB per object. Standard-IA, One Zone-IA, and Glacier Instant Retrieval use a different rule, a 128 KB minimum billed object. [1]
Most other cold records leave minimum billable object size not published. Their request meters still expose a measurable small-object penalty, but the missing minimum-size rule must remain visible. [2] [4]
| Example | Arithmetic | Result | Source ref |
|---|---|---|---|
| One million 10 KB files in AWS 128 KB-minimum classes | 10 GB logical; 1,000,000 x 128 KB = 128 GB billable | 12.8 times the logical payload is billed for storage | [1] |
| One million 10 KB files in AWS Flexible or Deep Archive | 10 GB payload + 1,000,000 x 40 KB = 40 GB metadata, for 50 GB combined capacity | Metadata is 80% of combined capacity and four times the payload | [1] |
| One million Deep Archive Standard restore requests | 1,000,000 / 1,000 x $0.10 | $100.00 before retrieved bytes, temporary-copy storage, or egress | [6] |
| One million Azure Archive High Priority restore requests | 1,000,000 / 1,000 x $5.00 | $5,000.00 before retrieved bytes, rehydrated-copy storage, or egress | [2] |
| One million Google Archive Class B reads after 50,000 free | (1,000,000 - 50,000) / 1,000 x $0.05 | $47.50 before the $0.05/GiB retrieval meter and egress | [4] |
| Scaleway Glacier object size | Minimum billed size not published; recommendation is over 1 MB | A recommendation cannot be converted into a billing minimum | [13] |
| DigitalOcean Spaces Cold minimum object and read | 128 KiB for each stored object and each read | Apply the floor to storage and retrieved bytes; request pricing remains a separate not published meter | [11] |
| OVHcloud, Vultr, Oracle, Tigris, and R2 minimum object size | not published in the captured cold records | Unknown is not zero; use request meters where published and keep the size rule unresolved | [15] [17] [5] [20] [9] |
Egress policy can decide the restore after the class wins
Storage-class break-even is an internal tier decision. Cross-vendor restore cost still needs the egress rule. Backblaze B2 includes up to three times average monthly storage and then charges $0.01 per GB. Cloudflare R2 charges no internet egress but keeps Class A and B operations, and Infrequent Access adds retrieval. Wasabi ties free egress to active storage and publishes no overage rate. [21] [9] [22]
A calculator must stop at not published when Wasabi's restore crosses the policy boundary. Treating an unpriced excess as $0 would convert a service-limitation risk into a fabricated bill. [22]
| Provider | Published egress shape | Restore boundary | Wrong buying assumption | Source ref |
|---|---|---|---|---|
| Backblaze B2 | Free up to 3 x average monthly storage; then $0.01/GB | For S GB average storage and R GB restored, billable = max(0, R - 3S) | Assuming all egress is free after a restore exceeds three times average storage | [21] |
| Cloudflare R2 | Internet egress not charged | Class A and B operations remain; Infrequent Access retrieval is $0.01/GB | Assuming no egress means no restore bill | [9] |
| Wasabi | Free-egress policy up to 1 x active storage | Above the guideline, per-GB overage is not published and repeated excess can lead to limitation or suspension | Turning the unpriced excess into $0 | [22] |
A restore is a read, not an early deletion
Read-only restoration preserves the archived source. It can incur retrieval bytes, restore or read requests, a temporary readable copy, and egress without creating an early-deletion charge. The minimum-duration remainder becomes relevant only if a separate delete, overwrite, move, or transition occurs before the class minimum. [23] [8]
Temporary-copy treatment is provider-specific. AWS archive restores bill the readable copy at S3 Standard, Azure can copy an Archive blob into a new online blob, Tigris Archive bills its temporary Standard copy, and Vultr states restored copies use Standard storage while the per-GB retrieval rate remains not published. [23] [8] [20] [17]
| Restore action | Meter | Early-deletion result |
|---|---|---|
| Read or restore bytes | Published retrieval rate, allowance, or explicit unknown state | does not apply |
| Issue restore and read requests | Per-request meter where published | does not apply |
| Keep a temporary readable copy | Temporary-copy storage where the provider workflow creates one | does not apply |
| Send bytes to the restore destination | Destination-aware egress or policy line | does not apply |
| Delete, overwrite, move, or transition the source early | Prorated remainder where published | conditional |
Sources
Every figure above comes from one of these pages, on the date shown. Each numbered reference in the text links to its entry here. Vendors change prices; if a date looks old, check the source. Three vendors publish a machine-readable feed and the rest are re-checked by hand, which is why the dates are not uniform.
The source ledger23 sources
- 1Amazon Web Services: S3 pricingaws.amazon.com · checked 2026-07-25 15:34:44+00:00
- 2Azure Retail Prices API: Retail pricesprices.azure.com · checked 2026-07-25 15:34:44+00:00
- 3Microsoft Learn: Access tiers overviewlearn.microsoft.com · checked 2026-07-25 15:34:44+00:00
- 4Google Cloud: Storage pricingcloud.google.com · checked 2026-07-25 15:34:44+00:00
- 5Oracle documentation: Understandingstoragetiersdocs.oracle.com · checked 2026-07-25 15:34:44+00:00
- 6AWS Price List API: Us east 1pricing.us-east-1.amazonaws.com · checked 2026-07-25 15:34:44+00:00
- 7AWS documentation: Storage class introdocs.aws.amazon.com · checked 2026-07-25 15:34:44+00:00
- 8Microsoft Learn: Archive rehydrate overviewlearn.microsoft.com · checked 2026-07-25 15:34:44+00:00
- 9Cloudflare developer docs: R2 pricingdevelopers.cloudflare.com · checked 2026-07-25 15:34:44+00:00
- 10DigitalOcean: Spaces object storagewww.digitalocean.com · checked 2026-07-25 15:34:44+00:00
- 11DigitalOcean documentation: Pricingdocs.digitalocean.com · checked 2026-07-25 15:34:44+00:00
- 12Scaleway: Storagewww.scaleway.com · checked 2026-07-25 15:34:44+00:00
- 13Scaleway: Object storage faqwww.scaleway.com · checked 2026-07-25 15:34:44+00:00
- 14OVHcloud: Public cloud priceswww.ovhcloud.com · checked 2026-07-25 15:34:44+00:00
- 15OVHcloud documentationdocs.ovhcloud.com · checked 2026-07-25 15:34:44+00:00
- 16OVHcloud: Cold archivewww.ovhcloud.com · checked 2026-07-25 15:34:44+00:00
- 17Vultr documentation: Limitsdocs.vultr.com · checked 2026-07-25 15:34:44+00:00
- 18Vultr documentation: How is object storage billeddocs.vultr.com · checked 2026-07-25 15:34:44+00:00
- 19Oraclewww.oracle.com · checked 2026-07-25 15:34:44+00:00
- 20Tigris: Pricingwww.tigrisdata.com · checked 2026-07-25 15:34:44+00:00
- 21Backblaze: Transaction pricingwww.backblaze.com · checked 2026-07-25 15:34:44+00:00
- 22Wasabi: Faqwasabi.com · checked 2026-07-25 15:34:44+00:00
- 23AWS documentation: Restoring objectsdocs.aws.amazon.com · checked 2026-07-25 15:34:44+00:00