R2 vs S3: what changes when egress is free

r2awsstorage

This is a sample post — replace it with a real writeup — but the underlying point is real: most S3 architecture defaults exist to manage egress cost, and a lot of them stop being necessary once egress is free.

Defaults that stop paying for themselves

  • CDN-in-front-of-everything — still worth it for latency and cache-hit performance, but no longer a strict requirement just to avoid a per-GB egress bill on every read.
  • Aggressive lifecycle rules moving objects to colder, cheaper tiers — cold storage still makes sense for access-frequency reasons, but not purely to dodge egress on infrequent reads.
  • Region-pinning services next to the bucket — cross-region reads from S3 often meant an egress surprise; that specific pressure goes away.

What doesn’t change

Durability, consistency model, and request pricing are still the fundamentals you actually design around — a free-egress bucket that’s slow or has a weaker consistency story isn’t automatically the right choice. Egress-free just removes one variable that used to dominate a lot of otherwise-unnecessary architecture decisions.