Introducing UltraAPI: Bash bots and secure APIs.

Multi-CDN Strategy and how DNS is Key to Making it Work 

Multi-CDN Strategy and how DNS is Key to Making it Work 

In the current always-on digital environment, where the user adoption rate, conversion rate, total revenue, and profitability of an organization hinge on website and streaming video performance and reliability, a Content Delivery Network (CDN) is indispensable. The right multi-CDN strategy enhances the user experience and drives cost savings for website operators by facilitating most online interactions within the confines of the user’s Internet Service Provider (ISP). 

For the largest websites and digital properties serving a wide audience, the adoption of a multi-CDN strategy improves the approach by leveraging redundancy, resiliency, and other advantages obtained from the simultaneous use of different CDNs. In straightforward terms, it is akin to managing a fleet of reliable delivery vehicles from various companies, each determining the best route to ensure prompt and uninterrupted delivery of your website’s content. 

Key benefits of a multi-CDN strategy. 

One CDN can be incredibly effective, but combining several into an aggregated CDN creates a robust system able to handle more traffic, optimize for various geographies, and provide redundancy if one service encounters issues. By dynamically routing traffic across the fastest, most available, or cost-effective CDNs, your website can load quickly for every user, regardless of spikes in traffic or local outages. 

  • Commercial flexibility: Use multiple CDNs to negotiate better pricing and obtain favorable terms and conditions. By diversifying your CDN providers, you can also avoid vendor lock-in and easily switch between providers if necessary. 
  • Cost reduction: Using multiple CDNs can allow an organization the ability to deprioritize expensive CDNs or avoid overage charges if they run into unexpected traffic volumes. 
  • Scalability and aggregate volume: Large websites or video streaming sites with millions of concurrent viewers need more bandwidth than one CDN can provide. A multi-CDN strategy allows for easy scaling and aggregate volumes of traffic to meet the capacity demands. 
  • Technical flexibility: By using multiple CDNs, an organization can manage their traffic and operations more effectively. For example, performing maintenance and testing on one CDN while still delivering traffic on the other CDNs. 
  • Enhanced performance: Route users to the best-performing CDN, reducing latency and improving load times. 
  • Global v/s regional reach: Different CDNs may perform better in different regions or countries, depending on their capacity, connectivity, or even current delivery volume. Using multiple CDNs in high-priority or low-performing geographies can help to optimize content delivery. 
  • Increased availability and reliability: If one CDN fails, the others can take over, minimizing the risk of downtime. 
  • Surge capacity: Some organizations have built and operate their own CDN and use other CDNs to increase their capacity during large events such as during live video events. 

Downsides of a multi-CDN configuration. 

While multi-CDN configurations offer numerous benefits, there are also potential downsides that should be considered: 

  • Increased complexity: Each CDN does basic object caching but configurations and individual features above that are different from CDN to CDN. This introduces smaller incompatibilities, increases the chance of errors in the configurations, and adds to operational difficulties. 
  • Orchestration and testing: At its core, using multiple CDNs is an advanced version of DNS-based load-balancing that needs additional technology to make the CDN’s behave as a single entity.  
  • Requires monitoring: A multi-CDN deployment needs active availability, performance, and cost monitoring to adjust the pool of available CDNs dynamically based on a management strategy. 
  • Web Application Firewall (WAF): Most CDNs incorporate a WAF into their proxy. This adds to the complexity of managing configurations but also monitoring logs and responding to incidents. 
  • Transport Layer Security (TLS) certificates: Because all CDNs in a multi-CDN implementation deliver traffic for the same website or video streaming service, they must have a valid TLS (formerly Security Sockets Layer, or SSL) certificate. 
  • Troubleshooting issues is more difficult: Responding to end-user issues becomes harder because you must add steps to the process to determine which CDN they used when the issue was detected. 

Using multiple CDNs separately. 

It is common for organizations to use different CDNs non-concurrently to gain some of the multi-CDN benefits, such as commercial flexibility. That is, they use one of the larger CDNs for their flagship websites or video delivery but use smaller, cheaper CDNs for smaller websites, such as short-lived marketing campaigns or as a redirect farm. 

DNS makes multi-CDN work. 

Most CDNs use DNS CNAME chaining to direct traffic to their servers. For example, to onboard traffic to EdgIO, you create a DNS CNAME resource record to point to a domain owned by the CDN. This usually is a CNAME to a pool of servers which resolves to the CDN server most optimum for that user based on geography, network congestion, and type of website. 

We can see this behavior in a DNS query for www.edg.io using the dig command. 

$ dig www.edg.io  

;; ANSWER SECTION:  

www.edg.io. 60 IN CNAME e7b94e98-06fd-42df-a333-a99514e52fb9.app.edgio.net. <<<CNAME to the CDN  

e7b94e98-06fd-42df-a333-a99514e52fb9.app.edgio.net. 300 IN CNAME tp01y.map.edgio.net. <<<CNAME to a service map/region  

tp01y.map.edgio.net. 3600 IN A 64.12.0.86 <<<An IP address answer from the map

When we build and deploy a multi-CDN orchestrator, it does DNS-based load balancing across CDNs by resolving the website as a CNAME to each CDN inside of its load-balancing pool. That pool is dynamically changed by the multi-CDN orchestrator based on availability, performance, and strategy. 

Multi-CDN implementation strategies. 

Multi-CDN orchestrators dynamically control a load-balancing pool based on tested performance and availability against a test object on that website in addition to an organizational-defined strategy. There are several strategies that organizations consider when they set up their multi-CDN implementation: 

  • Optimize for geography: This approach uses DNS to direct users to the closest CDN based on their physical location. It is useful for websites that have a high concentration of users in specific regions.  
  • Optimize for cost: By providing the orchestration layer your CDN costs, it can manage traffic to more effectively reduce your CDN bills. 
  • Optimize for performance: By continuously monitoring and adjusting traffic based on real-time data, the multi-CDN orchestrator can manage the CDN pool based on monitored performance. 
  • Optimize for time of day: A multi-CDN orchestrator can optimize for performance during peak hours but optimize for cost during non-peak hours. 

Steps to create a multi-CDN configuration. 

The process for implementing multi-CDN is specific to the orchestrator that you use, but the basic flow is as follows: 

  1. Configure and test a delivery configuration on each CDN with the same origin or back-end server. 
  2. Set up a test object of around 20-50 kilobytes in size on your origin server and configure it to be cached on the CDNs. This will be used to monitor the performance of each CDN. 
  3. Tell your multi-CDN orchestrator which CDNs and CNAMEs you want in your pool and if they are geography-specific. 
  4. Configure your orchestrator with the pricing details for each CDN, such as committed rate, cost per gigabit, and overage pricing. 
  5. Give the orchestrator the strategies that you want to use. 
  6. Create a CNAME resource record inside the DNS zone for your website or streaming service to the multi-CDN orchestrator. 
  7. The multi-CDN orchestrator tests your relative performance across all CDNs using the test object that you created. 
  8. The CDN orchestrator resolves the right DNS CNAME to each CDN based on your strategies and minimum thresholds for availability, performance, etc. 

Is multi-CDN right for you? 

A multi-CDN strategy might be your move if you are aiming to give users all over the globe a seamless online experience. It is like diversifying your portfolio — a blend of services often leads to a more reliable, faster, and cost-effective solution.  

However, it is important to consider the cost and complexity of implementing a multi-CDN solution. It requires proper configuration and monitoring to ensure optimal performance and cost optimization. Additionally, consistent testing is crucial to ensure that each CDN is performing as expected and meeting your standards. 

Vercara’s authoritative DNS service, UltraDNS, is compatible with CDNs and multi-CDN deployments. In a future post, we will demonstrate how to use 2 UltraDNS advanced features, Directional DNS and Traffic Controller, to build your own basic multi-CDN configuration. 

To learn more about how UltraDNS can help you manage website traffic, read our whitepaper.  

 

Last Updated: April 16, 2024