Free — no signup required

Tiered Storage Economics

3 min read

The Temperature of Data

Not all data is created equal. Some data is accessed constantly; some is accessed once a year for a compliance audit. Charging the same price to store both would be like paying for a same-day courier to hold a package you won't open for five years. Cloud providers solve this with storage tiers — different price points that trade off storage cost against retrieval cost and retrieval speed.

The mental model is data temperature:

  • Hot Data: Accessed daily or more. Examples: user profile pictures, active session data, product catalog images. Needs millisecond latency and zero retrieval friction.
  • Warm Data: Accessed monthly. Examples: last month's invoices, recent application logs being analyzed. Can tolerate a small retrieval fee and a few seconds of latency.
  • Cold Data: Accessed yearly or less. Examples: compliance audit logs, archived database backups, historical transaction records. Can tolerate retrieval fees and hours of wait time.

AWS S3 Storage Classes: The Trade-off Table

AWS S3 is the canonical example of tiered storage. Each class is optimized for a different temperature:

Storage Class Monthly Cost (per TB) Retrieval Cost Retrieval Speed
S3 Standard ~$23.00 Free Milliseconds
S3 Standard-IA ~$12.50 ~$10.00/TB retrieved Milliseconds
S3 Glacier Instant Retrieval ~$4.00 ~$30.00/TB retrieved Milliseconds
S3 Glacier Flexible Retrieval ~$3.60 ~$10.00/TB retrieved 1–5 minutes (expedited) to 3–5 hours (standard)
S3 Glacier Deep Archive ~$1.00 ~$20.00/TB retrieved 12–48 hours

(Prices are approximate US-East-1 figures for illustration. Always verify current pricing in the AWS pricing calculator.)

The trade-off is explicit: lower storage cost = higher retrieval cost + slower retrieval speed. This is not a bug — it reflects the underlying infrastructure. Glacier stores data on magnetic tape systems that must be physically loaded before retrieval can begin.

The FinOps Trap: Mismatched Temperature

The classic mistake is moving data to a cheaper tier without modeling the retrieval pattern. Consider a team that moves 10 TB of application logs to Glacier Deep Archive to save $220/month on storage. Then their security team runs daily log analysis queries against those logs. Each query retrieves 500 GB. At $20/TB retrieval, that's $10 per query. Running 30 queries a month costs $300 in retrieval fees — more than the $220 they saved on storage.

The fix is always the same: model retrieval frequency before choosing a tier. The break-even calculation is straightforward:

Break-Even Retrieval Volume = (Storage Cost Difference) / (Retrieval Cost per GB)

If your expected monthly retrieval exceeds the break-even volume, the cheaper storage tier actually costs more.

S3 Intelligent-Tiering: Automating the Decision

For data with unpredictable or changing access patterns, AWS offers S3 Intelligent-Tiering. It monitors access patterns and automatically moves objects between frequent-access and infrequent-access tiers. There's a small monthly monitoring fee per object, so it's most cost-effective for objects larger than 128 KB with genuinely variable access patterns. For data with known access patterns, explicit tier assignment is cheaper and more predictable.

This is one of 18 chapters

Every chapter is free — Kubernetes, Terraform, SRE, distributed systems, and more — with fast daily review built in.

Sign up free