Educational — Cloud egress & data-transfer cost guides. FinOps-lite estimators. Not a quote, broker, or savings guarantee. Launching soon where incomplete.
cdn-origin · Educational

Cloud egress: CloudFront vs Cloudflare CDN origin path

CloudFront and Cloudflare CDN logos are not interchangeable meters. Map edge transfer versus origin-fill path classes before comparing bills — Unknown until verified. Miss-driven fill belongs in Mode C (?path=cf-cloudflare); S3/R2 Internet GET and free-tier cliffs stay sibling spokes, not a single blended CDN $/GB. Enabling either CDN is not a savings guarantee.

Updated

CDN logos are not interchangeable meters — map edge transfer versus origin fill before comparing CloudFront and Cloudflare paths.

Path matrix: CloudFront vs Cloudflare CDN edge and origin meters (educational)
Meter / pathAmazon CloudFront (typical)Cloudflare CDN (typical)Watch
Edge / Internet deliveryRegional edge DT tiersPlan / product bandwidth rulesPlan cliffs ≠ list $/GB
Origin fill on missOrigin may bill S3/EC2 egress or CF origin feesOrigin pull may bill origin provider + CF rulesWho owns the origin?
Cache hit ratio (CHR)Misses drive origin bytesSame physics; product cache defaults differMeasure per path
Shield / tiered cacheRegional shield patternsTiered cache / Argo nuancesArchitecture diagrams
Workers / Functions at edgeCloudFront Functions / Lambda@EdgeWorkers / Pages FunctionsCPU + request SKUs separate

Provider source footnotes

  1. AWS CloudFront pricing — as-of Unknown until verified
  2. Cloudflare pricing / CDN docs — as-of Unknown until verified
  3. Cloudflare Cache / tiered cache docs — as-of Unknown until verified

Dated starting points only — Unknown until verified means no invented $/GB. PipeToll does not scrape private consoles or guarantee figures.

Compare origin paths, not brand slides. Both CloudFront and Cloudflare CDN can deliver bytes at the edge; FinOps risk lives in miss-driven origin fill, plan cliffs, and request/CPU add-ons. Educational only — FinOps-lite, not a broker.

Path templates to model

Common traps

Assuming “CDN = zero origin egress.” Comparing only CloudFront regional $/GB to a Cloudflare plan headline without measuring CHR. Blending Workers/Lambda@Edge CPU into egress lines. Treating shield/tiered cache as free HA without byte accounting. Pasting an S3/R2 Internet GET rate into the origin-fill cell (or vice versa) — keep S3 vs R2 and Mode C separate. Ignoring origin-side free-tier cliffs when origin is AWS. No scorecrowns from Incomplete cells — keep Unknown until verified.

FinOps checklist

  1. Export client GB and CHR (or miss ratio) by cache policy for 30–90 days.
  2. Name the origin owner (S3, R2, compute) and which bill moves on misses.
  3. Estimate fill with Mode C (?mode=origin&path=cf-cloudflare).
  4. Cross-read CDN origin fill and S3 vs CloudFront origin.
  5. Date-stamp rates via methodology; do not invent $/GB.
  6. If origin is S3 or R2, cross-read S3 vs R2 and S3 direct vs CloudFront; multi-vendor edge pairs still share miss physics with multi-CDN origin fill.
  7. Origin-side AWS Internet DT-out may still cliff — see free-tier cliff — separately from edge plan bandwidth.

Related vocabulary: origin fill, cache hit ratio (CHR), path template, free-tier cliff, egress / DT-out, Unknown until verified, FinOps-lite.

FinOps-lite Unknown until verified

Worked example (educational): 12 TB client downloads at 82% CHR

  1. Users pull 12,000 GB via CDN. At 0.82 CHR, origin fill ≈ 2,160 GB.
  2. Price edge delivery and origin fill as separate lines — Mode C for fill via ?mode=origin&path=cf-cloudflare, Mode A for edge if you have a verified edge $/GB.
  3. Placeholder rates stay Unknown. Name the origin owner (S3, R2, compute) before arithmetic.
  4. Enabling either CDN is not a guaranteed savings claim versus the other or versus direct origin GET.

Second educational stack (failover / CHR drop): same 12 TB client month, CHR falls from 0.82 → 0.60 after a bad cache policy → fill ≈ 4,800 GB. Re-run Mode C; do not keep the old fill line. Twin path: Cloudflare edge ← S3 origin (cross-vendor) still bills AWS origin fill on misses — pair with S3 vs R2 and the free-tier cliff spoke when origin is AWS Internet DT-out.

Open calculator Mode C (cf-cloudflare) Mode A · origin-side 2.16 TB Multi-CDN origin fill CDN origin fill estimator

Worked-estimate sensitivity (educational)

Hold the 12 TB (12,000 GB) client baseline and walk three CHR / origin runs. Every unit rate stays Unknown until dated CloudFront / Cloudflare / origin cites — literacy arithmetic, not a quote.

  1. Run A — CHR 0.82: origin fill ≈ 2,160 GB. Price edge delivery and origin fill as separate lines — Mode C (?path=cf-cloudflare) for fill; Mode A only if you have a verified edge $/GB.
  2. Run B — CHR drop 0.82 → 0.60: fill ≈ 4,800 GB after a bad cache policy. Re-run Mode C; do not keep the old fill line. Twin: failover / purge storms behave the same way.
  3. Run C — cross-vendor origin (Cloudflare edge ← S3): same 12 TB client; misses still bill AWS origin fill. Pair with S3 vs R2 and the free-tier cliff when origin is AWS Internet DT-out; multi-edge physics on multi-CDN origin fill.
Sensitivity runs — Unknown rates (educational)
RunWhat changesMeters to keep visibleUnit rates
A12 TB client · CHR 0.82Edge delivery · origin fill ≈ 2,160 GBUnknown
BSame client · CHR 0.60Edge delivery · origin fill ≈ 4,800 GBUnknown
CCloudflare edge ← S3 originEdge plan · AWS origin fill (+ cliff if applicable)Unknown

Cross-read CDN origin fill, S3 direct vs CloudFront, and multi-CDN origin fill. Badge every unverified rate Unknown until verified. No savings guarantee. Enabling either CDN is not a guaranteed savings claim versus the other or versus direct origin GET.

FAQ on this path

Does Cloudflare always mean $0 origin egress?

No. Origin fill still moves bytes from whatever hosts the origin (S3, R2, VPS, etc.). Marketing for edge bandwidth is not the same as zero origin bill.

When is CloudFront simpler to model on AWS?

When origin is already S3/EC2 in-account and you want AWS-native OAC/OAI patterns — simplicity ≠ guaranteed lower spend.

What metric first?

Client download GB, CHR by path, and which invoice line (CDN vs origin storage/compute) moves when misses rise.

How should Mode C be used on this spoke?

Mode C estimates origin fill ≈ client_GB × (1−CHR) × origin $/GB. Deep-link ?mode=origin&path=cf-cloudflare. Keep edge delivery $/GB (if any) on a separate Mode A line. Synthetic educational only.

Does a CHR drop change which spoke I read?

Re-run Mode C on this page and CDN origin fill. If origin is S3/R2, also re-check S3 vs R2 and any AWS free-tier cliff on origin Internet DT-out. Multi-vendor edges: see multi-CDN origin fill.

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.