CDN Cost Comparison Guide: Compare Pricing, Per-GB Rates, and Provider Trade-Offs
Start with a calculator if you need a first-pass estimate, then use this guide to validate the assumptions and catch the billing traps.
This page is the CDN provider comparison page, not the CDN bill-boundary page: the goal is to compare two or more providers with one normalized traffic profile after the cost surfaces are already defined.
If you searched for CDN cost comparison, CDN pricing comparison, or a provider question such as CloudFront vs Cloudflare cost, start with one normalized traffic profile. A reliable CDN comparison is not about a single $/GB number. You need bandwidth, requests, regions, and cache fill in the same worksheet.
If you still need to define the delivery bill or work out blended bandwidth and request math before comparing providers, go back to the relevant pricing pages first.
Use this page when your question is really "which CDN is cheaper?"
- Use this guide when you are comparing two or more providers with the same traffic shape.
- Use the total-cost calculator when you already know your traffic assumptions and want a monthly estimate.
- Use the per-GB guide when bandwidth pricing is your first filter, but not yet your final answer.
Step 1: Normalize your inputs (the comparison worksheet)
- Bandwidth (GB/month): edge delivery to end users.
- Requests (per month): total billable requests (per 10k or per 1M units).
- Region mix: percent of traffic by region or price tier.
- Origin egress (cache fill): GB pulled from your origin provider.
- Peak month: an incident or launch month for stress-testing.
Step 2: Compare the three cost buckets
- Edge bandwidth: apply $/GB for each region mix and sum.
- Request fees: convert request units (per 10k vs per 1M) to a common unit.
- Origin egress: model separately because it is billed by your origin provider, not the CDN.
Comparison shortcut: when per-GB is useful and when it is not
- Useful first pass: media-heavy traffic with large objects and low request sensitivity.
- Weak first pass: small-object or API-heavy traffic where request pricing matters more.
- Dangerous shortcut: any workload with uneven region mix or low cache hit rate.
If your search was closer to CDN costs per GB or CDN cost per gigabyte, use CDN cost per GB first, then return here for the full provider comparison.
Keep this page on the provider-choice layer. Full bill structure belongs on the CDN cost guide, and detailed request-pricing math belongs on the request-fee page.
Step 3: Adjust for tiering and discounts
- Tiered pricing: use a blended rate or compute each tier explicitly.
- Commit discounts: apply committed-use discounts to both bandwidth and requests if applicable.
- Free tiers: subtract allowances before applying rates.
Step 4: Validate with two scenarios
- Baseline: typical month with your normal cache hit rate.
- Peak: launches, spikes, or incidents (higher requests and cache miss rate).
A provider that looks cheaper at baseline can become more expensive at peak if request pricing or regional mix is unfavorable.
Step 5: Compare add-ons and hidden line items
- WAF or bot protection: request-based charges can dominate during attacks.
- Logs and analytics: log ingestion and query scans can be a second bill.
- Edge compute: functions at the edge add per-request compute costs.
Step 6: Verify billing units and measurement windows
- Confirm GB vs GiB and per-10k vs per-1M request units.
- Check whether pricing uses regional tiers or global blended rates.
- Note whether free allowances apply per month or per account.
Comparison template (fill with your numbers)
| Provider | Bandwidth ($) | Requests ($) | Origin egress ($) | Total (baseline) |
|---|---|---|---|---|
| Provider A | Edge GB x rate | Req/month x rate | Origin GB x rate | Sum |
| Provider B | Edge GB x rate | Req/month x rate | Origin GB x rate | Sum |
Validation checklist
- Cross-check edge GB and request counts from analytics, not just invoices.
- Validate cache hit rate by path; dynamic endpoints skew comparisons.
- Run a peak scenario and confirm the ordering still holds.
Contract and migration considerations
- Minimum commits: some providers require bandwidth commitments that change effective pricing.
- Overage rates: confirm how overages are priced above your commit.
- Migration cost: DNS cutover, cache warm-up, and validation can create a short-term spike.
Feature parity (cost is not the only variable)
- Compare caching controls, purge behavior, and header normalization.
- Check logging options and retention limits.
- Confirm WAF/bot features and how they are billed.
Performance and reliability checks
- Validate latency and cache hit rate in your top geographies.
- Review POP coverage and regional capacity for peak events.
- Confirm SLA credits and support response times for outages.
Data for a fair comparison
- Use 30 to 90 days of traffic to smooth out weekly cycles.
- Break out bot traffic and synthetic monitoring if possible.
- Include large downloads and API endpoints separately.
Common comparison mistakes
- Comparing only $/GB and ignoring request fees.
- Using a single region rate for a global traffic mix.
- Ignoring origin egress and cache fill.
- Using peak rates for a baseline comparison (or vice versa).