Overview

Multi-CDN is a common approach for video delivery at high scales, driven by the requirements of more aggregated capacity, wider geographical coverage, increased resiliency or better performance. To learn about the pros and cons of Multi-CDN approaches to your business, read this section of the CloudFront For media whitepaper.

Multi-CDN strategy

Implementing a multi-CDN strategy requires you to make technical decisions with regards to two major components of your system:

Benchmarking tooling to compare the performance of CDNs within a specific region, network or device type. For this purpose, it's recommended to use your client-side video QoE metrics such as playback errors and buffering ratio. Companies like Mux, NPAW and Conviva provides you with client side video analytics products.
CDN switching tooling. First, you need to decide if it's DNS based or HTTP based, and if you want to implement midstream switching. Then, you need to decide about the switching logic to shift traffic from a CDN to another: What metrics should be used for switching? At which thresholds.
Read the following two blog series (1 & 2) for in depth guidance about this subject.

You can find 3rd party solutions for multi-CDN switching such as MUX+NS1, if you prefer managed solutions.

AWS re:Invent 2022 - HBO Max achieves scale and performance with Amazon CloudFront
AWS re:Invent 2018: Amazon Prime Video: Delivering the Amazing Video Experience

CDN Stacking

A common multi-CDN architecture consists in completely isolating CDNs by having each CDN fill content directly from the origin, in an independent fashion. However, with this approach origin costs are multiplied by the number of CDNs, and origin facing custom-logic (e.g. access control or failover) needs to be implemented independently in each CDN. In addition, any sudden drop of cache hit ratio in one the CDNs might overwhelm the origin and compromise its availability.

Another multi-CDN approach to address the aforementioned challenges is using CloudFront as an origin to your other CDNs. However, this approach requires additional scrutiny over the redundancy of the architecture. For example, it is recommended to disable third-party CDN’s origin shield or centralized cache when using CloudFront as their origin, to reduce the blast radius of a localized CloudFront PoP impairment. It's also recommended to enable Origin Shield on CloudFront to increase availability and cache hit ratio. If you have a CloudFront private pricing agreement, and you'd like to implement this architecture, please get in touch with your AWS Account team to discuss it.

Was this page helpful?