A Deep Dive Into Multi CDN
Last updated: 11 July 2023
There’s multi CDN… and there’s multi CDN…
Chances are that if you are into professional streaming, you have already heard about Multi CDN. But what is it, where did it originate, and which implementation is right for you?
Written by the people at Jet-Stream who built their first CDN in 1997, built a federated CDN in 2000, and introduced active multi CDN in 2014.
Jet-Stream is here to help
Please share your use case and Jet-Stream can instantly advise you which mix of CDNs is the perfect fit. We also help you to negotiate deals with CDNs. Please contact us for free advice.
A little background: what is a CDN?
CDN stands for Content Delivery Network. It is a distributed network of servers located in multiple data centers around the world. The primary purpose of a CDN is to deliver content, such as web pages, images, videos, and other files, to users in a fast and efficient manner.
How does a CDN work?
When a user requests a piece of content from a website or application, the CDN selects the server closest to the user’s location and delivers the content from that server. This proximity reduces the latency or delay in accessing the content, as the data doesn’t have to travel long distances across the internet.
Core benefits of a CDN
CDNs help improve the performance and availability of websites and applications by caching content in edge servers located near the end users. Caching involves storing copies of content in multiple locations so that subsequent requests for the same content can be served quickly from nearby servers instead of going all the way back to the origin server.
Downsides of a CDN
CDNs are an extra layer in your tech stack, so things can get complicated, especially if you need deeper integrations such as access control, analytics. CDNs are generic platforms, so they may not be tuned for your specific use case such as ultra-low latency or ultra-high-quality streaming. Or don’t offer support for specific services such as icecast radio streaming.
The five downsides of using a single CDN
- No true global presence: although CDNs claim to offer global coverage, their geographic points of presence do not cover the entire world. Most CDNs cover North America, Europe, and some parts of South America and Asia. The world is much larger. To cover China, India, Middle East, Africa, Pacific and other parts of Asia and South America, you need multiple CDNs.
- Outages: Even though CDNs have redundant infrastructures, outages do occur, regionally and globally. If your mission critical live stream is down due to a CDN outage, you are down for 100%.
- Scale and performance issues: CDNs are not unlimited resources, they too have restrictions in server and networking capacity per location. They depend on external factors such as routing issues and crowded backbones.
- Lock-in: some CDNs offer a larger tech stack, for instance for media ingest, media processing, origins, analytics and security. If you integrate with a single CDN, it can be quite hard, even impossible, to migrate to another CDN.
- Costs: although CDN pricing has dropped over the years and CDNs are very competitive and aggressive, you won’t get the best deal out of a single CDN just by yourself.
The top 5 promises of Multi CDN
- Global coverage: By combining multiple CDNs, each with their own strength in specific regions, multi CDN enables access to more geographies than a single CDN. Jet-Stream has integrations with 8 CDNs to reach hundreds of millions of viewers, even in areas such as Africa, Middle East, and mainland China.
- Uptime: depending on the multi CDN tech stack, you can reach extreme uptimes. Jet-Stream uses active multi CDN load balancing, which outperforms passive DNS. Jet-Stream uptime exceeds 99.999%. Since you can override the automatic algorithm, you have full control over which title, which stream is distributed through which CDN, per region.
- By stacking multiple CDNs on top of each other, multi CDN offers extreme capacity. By balancing traffic over multiple CDNs, multi CDN prevents a single CDN from reaching its server and networking capacity.
- Depending on the tech stack, multi CDN can enable a split between the control plane (media orchestration) and the delivery plane (commoditized CDNs), preventing a hard lock-in and enabling instant switching without any dependencies.
- Cost management: by bundling multiple contracts and having multiple CDNs in a commoditized delivery plane strategy you have full leverage to negotiate competitive volume deals.
Two design philosophies for CDN
Before we dive into the differences of various multi CDN solutions, let’s go back to where it all started. It helps you gain insights in how the DNA of various CDN and multi CDN solutions have been developed over the years, and what their advantages and disadvantages are:
1997, first CDN: After Jet-Stream overloaded the Dutch Internet’s backbone in 1996 with a live music festival stream (sorry again 😉 ) we contacted several ISPs and asked them to temporarily deploy edge servers in their networks so we could stream a new festival at better scale. We sent the origin stream to these servers. We wrote a piece of code that recognized each users’ IP address, matched this to their ISP, and actively rerouted the user to the local server in the ISP’s network. As a result, the backbone was offloaded, and the concept of a distributed media delivery network was born: a CDN.
1998: Akamai launched its CDN service, using a combination of passive DNS and caching technologies. However, it was then not useful for streaming due to its non-cacheable nature in those years. DNS is like the internet’s address book: it translates domain names into IP-addresses. Instead of using one global IP-address for a domain name, Akamai’s DNS instructed ISPs to send users to localized IP-addresses of decentralized servers which cached web pages and their content from an origin server.
As you can see, the two CDN solutions were designed to solve two different use cases: Jet-Stream for streaming, and Akamai for web sites. The solution approach was fundamentally different: request-based caching and passive DNS for web pages, and active push of streams to servers and active load balancing for streaming.
Today, most streaming technologies (but not all) are cacheable like web pages. But the two philosophies (DNS vs active) in load balancing are still very interesting for multi CDN.
DNS based multi CDN
Simpler multi CDN tech stacks build on the DNS path: cnaming (which is like an alias for a CDN’s name) is used to passively steer a group of users to a CDN, or to an alternative CDN.
All you need is some business logic to make a wise choice, which CDN is the best choice for this (geographical) group of users, with parameters such as proximity, uptime, performance, and price.
Benefits of DNS based multi CDN
- Easy to build and operate. Build the business logic, build a DNS server, and you have a multi CDN stack.
- Cheap. The actual load balancing is done by third party DNS servers in the world, so you’re only facing the costs of running the top DNS servers.
Downsides of DNS based multi CDN
- It’s passive. You must rely on all those ten thousands third party DNS servers in the world to update your routing change. There’s no way to enforce your 1-minute TTL. It can take hours, even a day for a change to be effective due to caching in DNS servers and clients. When a CDN has an issue during a mission critical live stream, you won’t be able to guarantee uptime to your viewers. Uptime can be higher compared to a single CDN, but it’s still not at broadcast grade levels.
- It’s blunt. When you switch using DNS, you switch all viewers from CDN A to CDN B, effectively throwing a DDOS attack to the new CDN, potentially causing more issues than you are trying to solve. There’s no fine granular control to manage which stream or title should be distributed through a particular CDN in a particular region. There’s no fine granular control to manage which individual viewer should be sent to the most optimal CDN based on their context. There’s no way to instantly geo optimize traffic to specific CDNs.
- There’s no proper split between the control plane and the delivery plane. DNS is transparent so you won’t be able to manage geo fencing or tokens on the fly. As a result, you are still locked into a set of CDNs, if you can implement features such as multi-CDN tokens at all. You probably must reduce your service to the lowest common denominator.
- Typically, there’s no backend CDN integration since DNS based multi CDN solutions are focused on the load balancing part. Features such as unified origin configuration, origin shielding, cache flushing, unified log processing and statistics, and access control are limited, if available at all.
- No optimal performance. DNS based implementations historically have had a focus on web performance: HTML, scripts, and images. This use case requires a solution that can quickly delivery dozens of small objects in parallel. Streaming however is an entirely different use case that requires delivery optimization for a continuous stream of large video chunks.
- No optimal cost management. Since DNS based implementations are focused on web performance, the business logic in their systems has been designed to prioritise web performance, while for video streaming requires a different logic: the volumes are extreme, so price weighing is an equally important factor to continuous high bit rate delivery.
Active Multi CDN
Building on Jet-Stream’s history with active load balancing, the company started to develop the framework for advanced multi CDN delivery, starting in 2009 with a project called ‘Video Exchange’. The idea was to overcome the limitations of DNS based multi CDN:
1. Control plane and delivery plane
Jet-Streams framework was designed with a revolutionary architecture philosophy: split the intelligent platform (backend and load balancing) entirely from the delivery plane (a mix of origin, edge and CDN services).
2. Active load balancing
A pool of software load balancers which takes the users’ proximity and routes each individual request to the most optimal delivery node (edges or CDNs) through content steering. Our unique ‘good enough’ algorithm was designed specifically for audio and video streaming. It guarantees high performance and uptime, while also guaranteeing the lowest cost distribution path.
3. Multi CDN algorithm
An algorithm that instantly calculates the most optimal path for each individual request, based on data such as the user’s proximity, available edges and CDNs, price and streaming performance, and additional business logic.
4. API and GUI control
Administrators can assign CDNs geographically to users on the platform and set additional business logic. Users on the platform can override the automatic algorithm and can geographically route traffic on a per title, per stream basis via the GUI and the API to have full control over global delivery and routing, performance, uptime, and costs.
5. Origin shielding
All edges and CDNs collect their content from Jet-Stream’s pool of origins shields. Thus, offloading the customer’s and Jet-Stream’s origin servers, even when multiple CDNs are used in a global delivery mix. Origin shields were enhanced with Jet-Stream’s ‘thundering herd’ protection to prevent live streaming origin overloading.
6. Origin configuration
Users can either use Jet-Stream’s origins or connect their origin servers in one central, unified way. So they don’t have to manage origins with multiple CDNs and can instantly switch between CDNs.
7. Access control
Tokens and geo fencing shielding are built into Jet-Stream’s multi CDN load balancers so users can freely manage access per title, per live stream in real-time in Jet-Stream’s central portal (GUI and API). Without having to implement and manage access control per CDN. Moreover, users’ tokens are translated in real-time to each CDNs unique token implementation for deep anti-deeplinking and a unified token service, enabling real-time switching between CDNs.
8. CDN API backend integrations
For each CDN, Jet-Stream implemented a custom API translator to manage features such as cache flushing. Users can centrally send commands to their Jet-Stream, and Jet-Stream in real-time translates these commands to each CDN.
9. CDN log processing
For each CDN, Jet-Stream implemented a custom log processing service to collect access log files and streams into its central facility for accurate and reliable log aggregation, traffic reporting and analytics so users can freely switch between CDNs while being guaranteed of their mission critical business data.
10. CDN tuning
Jet-stream tuned each individual CDN for vod and live streaming performance, such as security, caching optimizations for manifests and segments, and header optimizations. Therefore, users can expect a high-performance service even when switching between CDNs.
11. Monitoring network
Jet-Stream runs its own network of global agents and performance monitoring services in its cloud to measure the performance of CDNs. This means that you don’t have to implement performance trackers. Jet-Stream’s implementation checks the performance of actual streams, instead of relying on web data, which is not representative for actual streaming performance.
Why do CDNs like Jet-Stream?
- We bring business and volume.
- Jet-Stream does all the one-time integrations, no custom APIs or features needed.
- CDNs can just open their network, traffic will flow through, send the invoice.
- No customer on-boarding needed with the CDN thanks to automation.
- Jet-Stream turns generic CDNs into high end streaming orchestration platforms.
- A great partner with 30 years of experience in online media.
Active Multi CDN today
Today, Jet-Stream Cloud is integrated with 6 global CDNs, including Akamai, Fastly, Bunny CDN, Edgenext, Medianova, and Cloudfront.
Jet-Stream Cloud’s own CDN is part of the mix as well, enabling 8K performance, 430% faster delivery, and icecast streaming.
Some key benefits:
- 99.999% uptime, thanks to active, enforced load balancing.
- 7 CDNs, each with their unique global footprint including Middle East, Africa, China.
- 40% cost reduction thanks to smart algorithms and wholesale deals.
- No need to implement performance trackers.
- Unified management thanks to deep integrations and control plane.
- Tuned for high quality live and on-demand adaptive video and audio streaming.
- No need to integrate CDNs, build and operate a multi CDN stack yourself.
- Charged per GB at competitive rates.
- Bring your own CDN contracts possible.
Mid-Stream multi CDN switching
Jet-Stream Privacy Player Pro includes advanced multi-CDN intelligence. When a user requests a video, the player receives a recommendation list of CDNs from Jet-Stream’s active multi CDN load balancing platform. Whenever a CDN fails to deliver manifests or media chunks, the player autonomously rolls over to one of the other CDNs. Without the user even noticing a hiccup.
Each CDN is unique
Each CDN has its own unique tech stack, footprint, performance, features and price point. For instance, some CDNs offer more advanced security features, while others have a great performance/price ration.
Jet-Stream is here to help
Please share your use case and Jet-Stream can instantly advise you which mix of CDNs is the perfect fit. We also help you to negotiate deals with CDNs. Please contact us for advice.
The end.
We hope that this deep dive blog gave you insights in the world of CDNs and multi CDN. And we hope that you learned that:
- DNS based multi CDN is the choice for web sites and apps.
- Active enforced multi CDN is the choice for media: podcasts, music, video, radio, television.
- Multi CDN can be a real pain to build and operate yourself.
- There’s probably much more to it than you had ever imagined.
- With Jet-Stream you can either sit back, relax, and enjoy, or:
- Take full control over routing, performance, scale, uptime, and costs.
- Jet-Stream has a lot of experience, feel free to tap into this knowledge.