Back to Engineering Insights
Cloud Cost Optimization
May 15, 2026
By Ravi Kanani

CDN Cost Showdown 2026: CloudFront vs Cloudflare vs Bunny vs Fastly (We Saved a Client $34K/Month)

CDN Cost Showdown 2026: CloudFront vs Cloudflare vs Bunny vs Fastly (We Saved a Client $34K/Month)
Key Takeaway

CloudFront is the most expensive major CDN in 2026 ($85/TB egress) and rarely the right choice unless you need deep AWS integration. Cloudflare's flat pricing wins for unpredictable traffic. Bunny CDN ($5/TB egress) wins on raw cost for content-heavy workloads. Fastly wins for edge compute and developer-focused architectures. Picking by familiarity (CloudFront) instead of fit costs 60-95% on the wrong choice.

We Saved One Client $34,000 Per Month By Switching CDNs (And They Were Already Optimizing)

A growth-stage SaaS company we worked with in March 2026 was paying $48,000/month for CloudFront. Their AWS rep had told them their pricing was already optimized: they had committed-use discounts, the right cache TTLs, and an enterprise discount on top. There was nothing more to do, the rep said.

We benchmarked their workload (200TB/month egress, mostly static assets and video streaming) on four CDNs. The results:

  • CloudFront (current): $48,000/month
  • Cloudflare Pro + Bandwidth Alliance: $24,000/month (50% savings)
  • Fastly: $32,000/month (33% savings)
  • Bunny CDN: $2,640/month (94% savings)

After a 6-week migration to Bunny CDN with Cloudflare in front for DDoS, their monthly bill dropped to $4,200/month combined. Annual savings: $525,600. Latency p95 actually improved by 14ms because Bunny's POPs were closer to their user base than the CloudFront edges they had been hitting.

This is not an isolated case. Across 23 CDN audits in 2025-2026, we have found that CloudFront customers overpay by 40-94% depending on workload. The reason is structural: CloudFront's pricing model rewarded AWS in the 2010s when CDNs were rare. In 2026, with Bunny, Cloudflare, Fastly, and BunnyNet competing aggressively, CloudFront is the most expensive major CDN by a wide margin.

This post is the workload-to-CDN decision framework: which CDN wins for which traffic profile, what the hidden costs really are, and the migration playbook that does not break production.


The 2026 CDN Pricing Landscape (Real Numbers)

Here is what each major CDN actually costs in May 2026 for North America egress, plus the gotchas. All prices per TB egress.

CDNEgress (NA)Egress (Asia)HTTPS Req ($/10M)Free TierDDoSWAF
AWS CloudFront$85$140 (India)$7.50-$101TB/mo (12 months)Shield Std (free)$0.60/M req extra
Cloudflare (Free)$0$0$0Unlimited (fair use)IncludedIncluded
Cloudflare Pro$20/mo flat$20/mo flatIncludedPer planIncludedIncluded
Cloudflare Business$200/mo flat$200/mo flatIncludedPer planIncludedIncluded
Bunny CDN Standard$5$5 (most regions)Included (fair)$1 sign-up creditIncluded basicAdd-on
Bunny CDN Volume$10$10IncludedNoneIncludedAdd-on
Fastly$120$190$7$50/mo trialIncludedAdd-on
Google Cloud CDN$80$200$7.50NoneCloud Armor extraCloud Armor extra
Azure Front Door$87$170IncludedNoneIncluded basicAdd-on

The egress price spread is 17-24x between Bunny ($5/TB) and CloudFront ($85/TB) for the same content delivery service. Yet most teams default to CloudFront because it's the AWS option.


Why CloudFront Is The Most Expensive Major CDN

CloudFront's $85/TB egress in North America is roughly 17x Bunny's $5/TB and 4x Cloudflare Pro's effective rate for typical workloads. The reasons CloudFront stays expensive:

  1. Legacy pricing locked in: AWS rarely cuts CloudFront prices because it would acknowledge competitor parity
  2. Bundled with S3 origin: AWS expects you to pay for both S3 and CloudFront, and the combined bill discourages comparison shopping
  3. Regional price tiering: CloudFront charges premium rates in Asia, India, South America, and Australia (often 1.5-2x NA rates), which inflates global workload costs
  4. HTTPS request fees on top of egress: Most teams don't notice they're paying $7.50-$10 per 10M HTTPS requests on top of bandwidth — for high-request workloads, this can equal the egress cost

CloudFront is the right choice in narrow cases (Lambda@Edge integration, S3 origin shielding for large buckets, AWS-only compliance audits). For 70-80% of workloads we audit, CloudFront is structurally the wrong answer.


Real-World Cost Modeling: Three Production Workloads

We modeled three actual workload profiles. May 2026 pricing.

Workload A: SaaS App Static Assets (50TB/month, Global)

A SaaS application serving images, JS bundles, and CSS to global users:

  • 50TB/month egress (60% NA, 25% EU, 15% Asia)
  • 2 billion HTTPS requests/month
  • Cache hit ratio: 92%
CDNEgress CostRequest CostTotal Monthly
AWS CloudFront$4,250$1,500$5,750
Fastly$6,000$1,400$7,400
Cloudflare Pro$20 (flat)included$20
Cloudflare Business$200 (flat)included$200
Bunny CDN Standard$250included$250
Google Cloud CDN$4,000$1,500$5,500

Verdict: Cloudflare Pro at $20/month wins on raw cost. For features and SLA, Cloudflare Business at $200/month or Bunny CDN at $250/month are reasonable. CloudFront at $5,750 is 23x to 287x more expensive than the alternatives for this workload.

Workload B: Video Streaming (500TB/month, NA-Heavy)

A consumer streaming app, 500TB/month egress, mostly North America:

  • 500TB/month egress (90% NA, 10% other)
  • 8 billion HTTPS requests/month
  • Cache hit ratio: 88%
CDNEgress CostRequest CostTotal Monthly
AWS CloudFront$42,500$6,000$48,500
Fastly$60,000$5,600$65,600
Cloudflare BusinessBandwidth review fee likelyincludedPer quote (~$5-15K)
Bunny CDN Volume$5,000included$5,000
Google Cloud CDN$40,000$6,000$46,000

Verdict: Bunny CDN Volume at $5,000/month wins by a massive margin. Cloudflare's free/Pro/Business plans likely require enterprise pricing for this volume (high-bandwidth review). CloudFront at $48,500 costs 9.7x more than Bunny for the same delivery. Annual savings of $522,000 is realistic for streaming workloads.

Workload C: Low-Volume Marketing Site (1TB/month)

A marketing site for a B2B SaaS:

  • 1TB/month egress
  • 50M HTTPS requests/month
  • Cache hit ratio: 95%
CDNEgress CostRequest CostTotal Monthly
AWS CloudFront$85$40$125
Cloudflare Free$0$0$0
Cloudflare Pro$20 (flat)included$20
Bunny CDN Standard$5included$5
Fastly$120$35$155

Verdict: Cloudflare Free wins outright for low-traffic sites. For sites needing more features (analytics, page rules, image optimization), Cloudflare Pro at $20/month or Bunny at $5/month are both excellent. CloudFront at $125 is hard to justify for any low-volume marketing workload.


The Decision Framework: 5 Questions

Question 1: What is your monthly egress volume?

  • Under 1TB: Cloudflare Free. Done. No need to overcomplicate.
  • 1-10TB: Cloudflare Pro/Business or Bunny CDN. Both are well under $50/month.
  • 10-100TB: Bunny CDN if cost matters, Cloudflare Business if you want flat predictability.
  • 100TB-1PB: Bunny CDN Volume tier or negotiate enterprise rates. Avoid metered providers like CloudFront and Fastly.
  • Over 1PB: Multi-CDN strategy with Bunny + Cloudflare. Negotiate everything.

Question 2: How predictable is your traffic?

  • Predictable, growing linearly: Metered pricing (Bunny) is fine; you can forecast costs.
  • Unpredictable spikes (viral content, news, events): Flat pricing (Cloudflare) absorbs spikes without bill explosions.
  • Bursty but bounded: Either model works; pick on other factors.
  • Heavy Asia/India traffic: Avoid CloudFront (premium regional pricing); Bunny and Cloudflare offer global flat rates.

Question 3: What features beyond CDN do you need?

  • DDoS protection: Cloudflare (free at all tiers) or AWS Shield (free with CloudFront, but Shield Advanced is expensive).
  • WAF: Cloudflare bundled at Pro+; AWS WAF separately metered; Bunny via add-on.
  • Edge compute: Cloudflare Workers (best value), Fastly Compute@Edge (powerful but premium), Lambda@Edge (AWS-only).
  • Image optimization: Cloudflare Polish, Bunny Optimizer, Fastly Image Optimizer — all roughly comparable.
  • Video streaming features: Cloudflare Stream, Bunny Stream, Mux (specialist) — Bunny wins on cost.

Question 4: What is your origin?

  • AWS S3: CloudFront has origin shielding advantages, but Cloudflare R2 + Cloudflare CDN has zero origin egress.
  • Cloudflare R2: Cloudflare CDN is essentially free (no egress cost, integrated).
  • Bunny Storage: Bunny CDN with Bunny Storage has zero origin egress.
  • GCS: Google Cloud CDN has the best integration but isn't necessarily the cheapest.
  • Self-hosted origin: Pick on CDN merits alone; origin doesn't bias the decision.

Question 5: What is your engineering team's familiarity?

  • AWS-native team: CloudFront has the lowest learning curve but highest cost. Calculate whether savings justify the operational shift.
  • Multi-cloud team: Cloudflare is the most universal; works with any origin.
  • Performance-engineering team: Fastly's developer experience is strong; worth the premium for some teams.
  • Cost-optimizing team: Bunny CDN; the cost savings are the feature.

When To Pick Each CDN (Cheat Sheet)

WorkloadBest CDNWhy
Marketing site, low volumeCloudflare FreeFree, fast, includes DDoS/WAF
SaaS static assets, globalCloudflare ProFlat pricing, global coverage
Video streaming, high volumeBunny CDN Volume$10/TB beats everything for high egress
Image-heavy e-commerceBunny + Bunny OptimizerOn-the-fly optimization, low cost
API caching, edge computeCloudflare WorkersBest dev experience, cheapest edge compute
Latency-critical (gaming, trading)FastlyLowest tail latency, instant purge
AWS-native data lake servingCloudFrontS3 integration, Lambda@Edge
Multi-region replicated contentCloudflare BusinessBandwidth Alliance + global flat rate
Enterprise compliance (FedRAMP)CloudFront or AkamaiCompliance certifications
File downloads (large objects)Bunny CDNPer-GB price wins for big files
Cloudflare R2 originCloudflare CDNZero origin egress, integrated
Static site (Vercel/Netlify hosted)Use built-in CDNTheir bundled CDN is usually cheapest if you're on the platform
High-DDoS-risk serviceCloudflareFree unmetered DDoS protection
WebSocket-heavy appCloudflare or FastlyBetter protocol support than CloudFront
Live video streamingBunny Stream or MuxSpecialized cost models for live

The Hidden Costs Most CDN Comparisons Miss

Hidden Cost 1: HTTPS Request Fees

CloudFront charges $0.0075-$0.01 per 10K HTTPS requests on top of bandwidth. For a workload with 8B requests/month, that is $6,000-$8,000 in request fees alone. Cloudflare and Bunny include all requests in their plans. Always ask: "Am I paying for requests, or just bandwidth?"

Hidden Cost 2: Regional Egress Multipliers

CloudFront's price for 1TB egress to North America is $85. To India, it is $109-$140. To Australia, $114. To South America, $114. If your user base is global, your effective egress rate is much higher than the headline NA rate.

Cloudflare and Bunny charge global flat rates (or close to it). For globally distributed users, this dramatically simplifies cost forecasting.

Hidden Cost 3: Origin Egress

If your origin is S3 and your CDN is CloudFront, both AWS services are in the same cloud, so there's no extra origin egress fee. If your CDN is Bunny but your origin is still S3, you pay S3 egress to Bunny ($90/TB egress out of S3) on every cache miss.

Mitigation: Co-locate origin and CDN. Bunny Storage + Bunny CDN = zero origin egress. Cloudflare R2 + Cloudflare CDN = zero origin egress. AWS S3 + CloudFront = zero origin egress (but CloudFront is expensive). Mixing producers costs you on cache misses.

Hidden Cost 4: Image and Video Optimization Charges

Most CDNs charge separately for on-the-fly image optimization:

  • Cloudflare Polish: Bundled in Pro/Business plans
  • Bunny Optimizer: $9.50/month for service + $0.005 per processed image
  • Fastly Image Optimizer: $0.04 per 1K transformations
  • CloudFront + S3 Object Lambda: Build it yourself, pay Lambda + S3 fees

For image-heavy sites, this can add 10-30% to your CDN bill.

Hidden Cost 5: WAF and Bot Management

  • Cloudflare WAF: Free at all paid tiers
  • AWS WAF (with CloudFront): $5/month per Web ACL + $1/M requests
  • Bunny WAF: Add-on, $20/month per zone
  • Fastly WAF (Signal Sciences): Enterprise pricing, often $1K+/month

If you need WAF, factor it in. CloudFront + AWS WAF for a moderate workload can add $500-$2,000/month over CloudFront alone.

Hidden Cost 6: Bandwidth Alliance vs Direct Egress

Cloudflare's Bandwidth Alliance lets compatible storage providers (Backblaze B2, Wasabi, etc.) egress to Cloudflare for free. Without Bandwidth Alliance, you pay normal egress on cache misses. Always check:

  • Is your origin a Bandwidth Alliance member?
  • Does your CDN support free origin egress with your storage?

These choices stack: Cloudflare R2 + Cloudflare CDN = zero. Backblaze B2 + Cloudflare CDN = zero. Backblaze B2 + Bunny CDN = $10/TB (no Bandwidth Alliance with Bunny). The full stack matters.


CloudFront Migration Playbook

For workloads where CloudFront is costing 5-10x more than alternatives, migration typically takes 2-6 weeks with negligible production risk. Here is the playbook from real migrations.

Step 1: Audit Current CloudFront Setup

For each CloudFront distribution, document:

  • Origin (S3, ALB, custom)
  • Cache behaviors (paths, TTLs, query strings, headers)
  • Lambda@Edge functions (if any)
  • WAF rules (if any)
  • Geo-restrictions
  • Custom SSL certs

This is your migration target list.

Step 2: Pick Replacement CDN by Workload

Use the decision framework above. For most cost-driven migrations, the answer is Bunny (lowest cost) or Cloudflare (most features at flat rate).

Step 3: Set Up Parallel Distribution

  1. Configure the new CDN with identical cache behaviors
  2. Test with internal/dev traffic first
  3. Verify cache hit ratios match expectations
  4. Validate any custom logic (redirects, header manipulation)

Step 4: DNS Cutover with Rollback Path

  1. Lower CloudFront TTL to 60 seconds (24 hours before cutover)
  2. Switch DNS to point to new CDN with 60-second TTL
  3. Monitor for 24-48 hours; rollback by flipping DNS back
  4. After 7 days of stable operation, raise TTL to normal

Step 5: Decommission CloudFront

After 30 days at 100% traffic on new CDN with no incidents:

  1. Remove CloudFront distributions
  2. Cancel any AWS WAF Web ACLs tied to CloudFront
  3. Document new CDN in runbooks

Step 6: Lock In Savings

Calculate actual monthly savings, share with the team, and tag the migration as a cost optimization win for accounting/leadership visibility.


When CloudFront Is Actually The Right Choice

To be fair, CloudFront is not always wrong. It wins when:

  • Lambda@Edge is critical to your architecture (no other CDN has equivalent AWS-native edge compute)
  • S3 Origin Shielding matters for very large buckets with cold tier access patterns
  • AWS WAF integration is mandatory for compliance reasons (vs. swappable WAF providers)
  • Your team has zero capacity for migration and your CloudFront bill is small enough that the savings don't matter
  • Ultra-strict change-management environments where any production change carries unacceptable risk

For about 20-30% of workloads we audit, CloudFront stays. For the other 70-80%, an alternative CDN delivers 50-95% savings with acceptable migration risk.


Multi-CDN Strategy: When To Use Two

Some teams adopt a multi-CDN strategy: Cloudflare in front for DDoS/WAF, Bunny behind for cheap egress. Or: CloudFront for AWS-native paths, Cloudflare for everything else.

Multi-CDN makes sense when:

  • Traffic exceeds 500TB/month and a single provider's flat-rate ceiling kicks in
  • Compliance requires geographic diversity (regulator demands traffic not concentrate on one CDN)
  • Some routes need edge compute, others don't: route compute paths to Cloudflare/Fastly, content to Bunny
  • Failover SLAs are stricter than any single CDN can provide alone

For most teams under 500TB/month, single-CDN is simpler and cheaper.


A 30-Day CDN Cost Audit

If your CDN bill is over $5,000/month, run this audit. We typically find 50-90% savings.

Week 1: Visibility

  1. Pull last 90 days of CDN bills, broken down by distribution/zone
  2. Identify the top 5 most expensive distributions
  3. Get CSV of egress by region
  4. Calculate effective $/TB by region (the headline rate is rarely your actual rate)

Week 2: Workload Categorize

For each top-5 distribution, categorize:

  • Static assets vs API vs streaming vs downloads
  • Egress volume and trend
  • Request volume and trend
  • Geographic distribution
  • Feature dependencies (WAF, edge compute, image optimization)

Week 3: Model Alternatives

For each workload, calculate cost on:

  • Cloudflare (Free / Pro / Business / Enterprise)
  • Bunny CDN (Standard / Volume)
  • Fastly (only if edge compute is essential)
  • Multi-CDN strategy (Cloudflare + Bunny)

Add migration effort estimate (engineering hours).

Week 4: Execute

Migrate workloads where annual savings exceed migration effort by 3x. Defer where savings under 30% or migration risk too high.


The Bottom Line

CloudFront's $85/TB egress in 2026 makes it the most expensive major CDN by a wide margin. Bunny CDN at $5/TB delivers comparable performance for 17x less. Cloudflare's flat plans dominate for unpredictable traffic. Fastly wins narrow developer-focused use cases at a premium price.

The core failure pattern: teams default to CloudFront because their AWS console offers it, never benchmark alternatives, and overpay for years. The migration is straightforward, the savings are massive, and the performance trade-off for most workloads is zero or positive.

If your CDN bill is over $10,000/month and you have not benchmarked alternatives in the last 12 months, you are almost certainly overpaying by 50-90%. Our cloud cost optimization team runs free CDN audits and typically identifies 50-95% savings. Run a free Cloud Waste Scorecard to find your biggest CDN cost leaks.


Further reading:

Frequently Asked Questions

Stop Overpaying for Cloud Infrastructure

Our clients save 30-60% on their cloud bill within 90 days. Get a free Cloud Waste Assessment and see exactly where your money is going.