CDN origin fill is egress you pay on cache misses: estimate origin_GB ≈ client_GB × (1 − CHR) × inflation, then apply the origin provider’s $/GB separately from edge bandwidth. Educational Mode C literacy — Unknown until verified.
Updated
Origin fill is egress you pay when the CDN misses — estimate it from hit ratio and object size, not vibes.
Estimator inputs: CDN origin fill drivers and Unknown flags (educational)
Dated starting points only — Unknown until verified means no invented $/GB. Edge and origin invoice separately; measure CHR per path before Mode C arithmetic.
Educational estimator:origin_egress_GB ≈ client_download_GB × (1 − cache_hit_ratio) × inflation. Then multiply by the origin provider'segress rate — which may differ from the CDN's bill. Two bills, one user request. Keep free-tier cliffs on origin products separate from edge bandwidth.
Path templates to model
Static site / asset CDN — high CHR potential; watch versioned URLs and short TTLs.
Authenticated API via CDN — often low CHR; origin fill ≈ client bytes.
Video / byte-range — partial objects still bill; track range miss patterns.
Multi-CDN failover — each CDN may cold-fill; thundering herds inflate GB.
Image resizing at edge vs origin — transformations can force more origin pulls.
Common traps
Origin fill is miss-driven egress toward origin — not edge bandwidth, not replication. Measure CHR per path before Mode C arithmetic. No guaranteed savings from “add a CDN” without measuring CHR. Badge unverified rates Unknown until verified; stay FinOps-lite.
Raw object size instead of transferred bytes — Compression, range requests, and protocol overhead change wire bytes. Prefer transferred bytes from CDN / origin logs over raw object size.
Revalidation storms ignored — Short TTL, purges, and deploys can understate origin fill. Label inflation explicitly (e.g. +10–20% educational) rather than hiding it.
Edge $/GB blended with origin $/GB — CDN edge bandwidth and origin egress may invoice separately. Two bills, one user request — never paste edge rates into the origin fill cell.
S3 CRR treated as CDN miss fill — S3 CRR is bucket→bucket inter-region replication, not CloudFront miss traffic. Keep CRR on its own line — see S3 CRR.
Authenticated / low-CHR API assumed “CDN cheap” — Low CHR means origin fill ≈ client bytes. Model Mode C honestly; a CDN logo does not erase origin meters.
Second educational stack (CHR sensitivity twin): same 12,000 GB client downloads at 40% CHR (no inflation) → origin fill ≈ 7,200 GB vs the 70% CHR base ≈ 3,600 GB. Re-run Mode C (?path=cdn) and compare — CHR, not blog edge $/GB, usually dominates. Sibling multi-CDN cold-fill: open multi-CDN origin fill (glossary: multi-CDN) and CloudFront vs Cloudflare CDN when two edges can each miss independently. Low-CHR API note: 2,000 GB client at 15% CHR → fill ≈ 1,700 GB. Synthetic only — Unknown rates; no savings guarantee.
Hold the 12,000 GB client baseline and walk three CHR / multi-CDN runs. Every unit rate stays Unknown until dated CloudFront / Cloudflare / origin cites — literacy arithmetic, not a quote.
Run A — CHR 0.70 base: 12,000 GB client → origin fill ≈ 3,600 GB (no inflation). Open Mode C (?path=cdn). Keep edge 12 TB on a separate bill line.
Run B — CHR 0.40 twin: same 12,000 GB at 40% CHR → fill ≈ 7,200 GB. Re-run Mode C — CHR, not blog edge $/GB, usually dominates. Optional +15% inflation → ≈ 8,280 GB educational fill.
Run C — multi-CDN cold-fill twin: two edges each miss independently on a failover window — educational fill can approach 2 × single-edge miss GB for the cold paths. Twin with multi-CDN origin fill and CloudFront vs Cloudflare. Low-CHR API note: 2,000 GB client at 15% CHR → fill ≈ 1,700 GB. Replication (CRR) stays off the fill line.
Sensitivity runs — Unknown rates (educational)
Run
What changes
Meters to keep visible
Unit rates
A
12,000 GB client · CHR 0.70
Edge 12 TB · origin fill ≈ 3,600 GB
Unknown
B
12,000 GB client · CHR 0.40 (± inflation)
Edge 12 TB · fill ≈ 7,200–8,280 GB
Unknown
C
Multi-CDN cold-fill / low-CHR API
Per-edge miss · optional 2× cold paths · CRR separate
Bytes pulled from origin storage or compute when the CDN lacks a fresh object — a major Cloud egress meter on miss-heavy paths.
How do I estimate origin egress quickly?
origin_GB ≈ client_GB × (1 − CHR) × inflation. Then apply the origin provider’s $/GB. Measure CHR per path when possible.
Why can two bills appear for one request?
CDN edge bandwidth and origin egress/storage transfer may invoice separately. Model both.
Is origin fill the same as S3 CRR?
No. Origin fill is CDN miss traffic toward origin storage/compute. S3 CRR is bucket→bucket inter-region replication. Keep them on separate lines.
How sensitive is origin fill to CHR?
Very. On 12 TB client downloads, 70% CHR ≈ 3.6 TB fill while 40% CHR ≈ 7.2 TB fill — same edge bill shape, very different origin meter. Re-run Mode C (?path=cdn); for multi-edge herds see multi-CDN and CloudFront vs Cloudflare.
Trademarks: Amazon Web Services, AWS, Microsoft Azure, Google Cloud Platform, GCP, and Cloudflare are trademarks of their respective owners. PipeToll (Ameti One LLC) is not affiliated with, endorsed by, or sponsored by those companies. Educational comparisons may be outdated — verify current rates with each provider.