Scenario · Last verified 2026-08-25
Image-heavy content site
A site whose payload is mostly images: origin storage, request mix, and download path.
| Metric | Value | Unit | Source type | Derivation | Link |
|---|---|---|---|---|---|
| Stored originals | 25 | GB | Author assumption assumption | 50,000 unique originals at 500 KB average (camera JPEG before CDN variants). Variants are assumed generated at the edge or ignored. | — |
| Internet transfer from origin | 670 | GB | Author assumption assumption | 200,000 visits times 12 images times 280 KB delivered. 200000*12*0.28 MB = 672 GB, rounded to 670. This is origin volume before a CDN hit ratio. | — |
| Uploads and publishes | 8000 | request | Author assumption assumption | About 250 new or replaced originals per day. | — |
| Origin GETs | 2400000 | request | Author assumption assumption | 200,000 visits times 12 images, assuming no cache. A 70 percent CDN hit ratio would cut origin GETs and origin GB together. | — |
Adjust the assumptions
| Vendor | Monthly total at the hub usage |
|---|---|
| Cloudflare | $0.22 |
| Azure | $0.37 |
| Google Cloud | $0.40 |
| AWS | $52.74 |
Breakeven: cdn-vs-direct-egress
Assumptions and limits
On an image site the origin GET count and the origin gigabytes are the same story. Six hundred and seventy gigabytes already exceeds the AWS and Azure internet grants, so the first paid tier on those ladders dominates Standard storage of twenty-five gigabytes. R2's documented zero internet egress is the ranking lever unless you PUT millions of tiny derivatives as Class A. A CDN hit ratio is not a CloudFront SKU in this snapshot; model it by shrinking origin GB on the egress calculator, then add the CDN's own request meters from its pricing page. Thumbnails generated into the same bucket silently double stored bytes. Sources for the meters: https://aws.amazon.com/s3/pricing/ https://developers.cloudflare.com/r2/pricing/