We looked at S3 first — it's the obvious default and the DX is solid. But egress fees are a hidden tax that quietly compounds as your user base grows. Every file your users download costs you extra, and it adds up fast.
R2 gives you the exact same S3-compatible API, so there's no learning curve and no SDK migration. We literally just updated our config. Zero egress costs since day one, backed by Cloudflare's global network we were already using. It wasn't even a close call.
How does pricing actually scale for a mid-size SaaS doing around 50M requests a month, and are there any gotchas when integrating with custom WAF rules alongside your existing CDN setup?
How does the pricing actually scale for smaller sites compared to big enterprise customers, and are there any hidden caps on traffic or requests on the free tier that might catch you off guard?