R2 Direct Access vs CDN – Costs & Limits

Hello,

I’m building an app that contains many videos. Users can open the app, click on a video, and watch it. I expect this to scale from a small number of users to potentially very large numbers.

Here’s my expected usage:

Average video size: ~100 MB

Daily video views per user: ~10

Scale scenarios:

1,000 users × 10 videos/day

10,000 users × 10 videos/day

100,000 users × 10 videos/day

1,000,000 users × 10 videos/day

Up to ~50% of users could be active at the same time

My questions are:

Can I let users access videos directly from R2 (without any CDN in between)?

If yes, what happens at very high traffic? Could it lag, throttle, or even get my account limited/terminated?

How is billing calculated in each scale scenario?

If I only use R2 directly

If I put Cloudflare CDN in front of R2 (how does caching vs. R2 egress billing work?)

Are there any bandwidth or concurrency limitations at large scale (hundreds of thousands of users at once)?

If traffic spikes suddenly, could R2 or CDN traffic be throttled or blocked?

I’d like to understand the cost and reliability trade-offs of using R2 directly vs using CDN + R2 for this type of app.

Thanks!
Was this page helpful?