View all articles

CDN Spend Isn't a CDN Problem

The unit of delivery is the viewer. Measure, cache, encode and negotiate, then stop choosing a CDN and start choosing the best path for each viewer, the moment they press play.

Glowing viewers spread across a landscape of islands, linked to a distant tower and to each other by streams of light, each one served by its own path.

Last week, I spent close to an hour with someone who has run video streaming infrastructure for almost 20 years.

His platform started with its own CDN. Then it moved through most of the names you’d recognize. Today it runs four CDNs, with switching logic his team built, and gets the same price from all four in every region.

His words: cost isn’t the problem. Neither is performance.

I believed him. At that scale, “which CDN?” has been answered.

That same day, I read a post by Shawn Hakl (opens in a new tab), Head of AT&T Business Products. Fiber, 5G and satellite are coming together, and he asks a simple question: “What does this location, application or operation need, and what’s the best way to deliver it?”

For AT&T, that’s a location, an application or an operation. For video, it’s a viewer.

Picture two of them. One is on fiber in Toronto, watching something from the back catalogue. The other is on a phone in São Paulo, watching an episode that dropped 10 minutes ago, along with thousands of other people.

The best path to each one isn’t the same. Maybe it’s one CDN edge over another. Maybe the video is already in the browser. Maybe someone nearby is watching the same thing.

So the question isn’t only “which CDN?” It’s “what’s the best path for this viewer, right now?”

Here’s the order I’d work in.

1. Measure before you negotiate

At AWS, I met customers of our dynamic image transformation solution who had tried everything to save on media delivery. None of them started with the CloudFront rate. They started by following one request all the way through: the edge, the Lambda that resized the image, the S3 read behind it.

Video has a similar flavour. Before you open the contract, figure out what one viewing hour actually costs you. Packaging, storage, CDN, and every request that goes back to your origin. Then split it by region, by type of content, by path, and check it against your invoices.

A live event, a new release and a title from deep in the catalogue behave very differently. Find out where the money really goes.

2. Make each cache miss count

Start with the basics. Are your cache keys consistent? Are objects cached long enough? Are cookies, headers or query strings turning the same file into several copies?

Then look at your cache-hit ratio next to your origin requests and origin egress. A hit rate alone doesn’t tell you much. What matters is what each miss costs you.

An origin shield (opens in a new tab) puts a shared cache in front of your origin, so a crowd of edges asking for the same file turns into one request. It isn’t free, so test it on your own traffic.

Kate Dobnerova of CDN77 put it well in an interview with Jan Ozer (opens in a new tab): moving your cache-hit ratio “from, say, 92% up to 97% can save you more than anything you’d negotiate on the per-gig price.”

3. Send fewer bytes

Per-title encoding builds a bitrate ladder for each title instead of one ladder for everything. Same quality, fewer bits. Netflix’s write-up (opens in a new tab) is still the one to read.

Look at your ladder against real playback data. If nobody’s device or network uses a rendition, drop it. Aim for a quality target, not just a lower bitrate.

And if you serve both HLS and DASH, CMAF (opens in a new tab) can let them share the same segments. Less duplicate packaging, better cache reuse, as long as your players and DRM support it.

The cheapest gigabyte to deliver is the one you never have to send.

4. Pay the right rate for the traffic you have

Once you know your traffic and what it costs to serve, negotiate the whole bill. Not just the per-gig rate. Regional pricing, requests, minimums, commitments, overages, and what it would cost you to switch.

Multi-CDN gives you resilience and leverage. It also splits your volume, which weakens your discounts and adds work for your team. Every CDN should earn its place.

What the four have in common

Your delivery bill really comes down to three things: how many viewers you have, how many bytes each one pulls, and what you pay per byte.

Caching and encoding work on the bytes. Negotiating works on the rate. Measuring tells you where to start. None of them touches the first one.

Even with all four done well, your delivery cost still grows in a straight line with your audience. Every new viewer still needs infrastructure to serve them.

So here’s a different question. Does every byte need to come from your infrastructure?

For each segment: is it already in this browser? Can a nearby viewer send it in time? Does the copy pass the integrity check? If not, the CDN serves it like it always has.

That’s peer-assisted delivery. People watching the same thing share the segments they already have, and the CDN is always there as the fallback. When a nearby viewer comes through, one viewer just became capacity for the next.

How much it helps depends on overlap: how many people are watching the same title at the same time. That’s exactly why it’s the one thing that works on the number of viewers. The more people watch the same thing at once, the less each extra viewer costs to serve.

Your CDN stays. This is one more path, and you measure it like any other.

We recently published a technical case study with AB Films TV, a Canadian independent-film streamer. They added this in about an afternoon, without changing their CDN, origin or DRM.

That’s the order. Measure, cache, encode, negotiate. Then stop choosing a CDN, and start choosing a path, one viewer at a time.


The cache-hit quote is from Jan Ozer’s “Cutting CDN Costs: A Conversation with CDN77,” Streaming Learning Center, July 14, 2026.

Want to run the numbers on your own traffic?

Talk to our founders about your audience, delivery stack, and where peer-assisted delivery could help.

Start a conversation