Multi-CDN video delivery
Overview
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.
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.
![](https://d1.awsstatic.com/achrsouk/multi-cdn-considerations-os.eefd326369b8f4702fa2537f00efd543cfa6f3cb.png)
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.