Many application architects, particularly those in the enterprise space, are increasingly choosing to pursue a multi-CDN strategy. In this article, we examine the key drivers behind the trend, the benefits it can offer, and why modern edge compute platforms are an attractive alternative (or in some cases complementary) strategy.
Today’s computing landscape grows more complex daily and traffic volume is ballooning. Last year, Cisco forecasted that global IP traffic would grow to 4.8ZB per year by 2022. At the same time, delivering an impeccable end user experience has become ever more important; performance degradation can quickly lead to lost business and downtime is unacceptable. Nonetheless, many of the world’s biggest tech companies, including Google, AWS, Facebook, and Cloudflare experienced significant outages last year, many of which were directly tied to CDN failure.
For these reasons, there is growing popularity around deploying a multi-CDN strategy.
What is a multi-CDN strategy?
In a single-CDN architecture, once the default model, a website’s content is delivered by just one provider’s network. In a multi-CDN setup, web traffic is distributed over multiple CDNs, meaning your content is delivered across multiple networks, immediately providing failover and redundancy. When a multi-CDN model is deployed, the number of CDNs in play varies depending on the application and its specific needs. Heavy video sites, particularly those with live video streaming, typically have multiple CDNs in place as quality of experience (QoE) is so crucial to success. Netflix, for instance, is thought to have three different CDN providers; no surprise given that last year Netflix represented over 12% of all worldwide downstream traffic.
Key drivers pushing multi-CDN adoption
Enterprises not only want to avoid downtime, but they are also seeking to reduce costs and optimize the performance of their websites and applications.
Perhaps the main driver behind a multi-CDN model is that by adding redundancy to your IT stack, there is no longer a single point of failure that can slow down your application, or worse, bring all services and products to a halt. The possibility of reputation damage and lost revenue is thereby greatly diminished.
Companies extending their service into new geographic areas can also benefit from having multiple content delivery networks in play by leveraging an optimal mix of availability and reliability across different networks in different geographies. Many enterprises work with multiple CDNs to deliver the best worldwide performance based on where their users are located. Tuning site delivery to perform equally well from Beijing to Boston is challenging within today’s complex computing landscape. A CDN that has coast-to-coast presence across North America may have fewer PoPs in Asia or Europe. By adopting a best-of-breed approach, you can take advantage of the fastest, most reliable CDN for each part of your network.
Avoid vendor lock-in
Another driver behind the trend is increased flexibility that translates to reduced financial and technical risks by avoiding vendor lock-in. Rather than being tied to a single provider’s fixed network and/or software stack, engineers gain more flexibility to meet the unique demands of their applications.
Unique value proposition
Additionally, different CDNs offer a different set of advantages and business value proposition. As an example, Section’s focus as a developer-centric platform aligns with modern DevOps practices while remaining vendor agnostic in network and software offerings. Hence, we are often brought in by DevOps teams who want to use their existing tooling while also benefiting from maximum flexibility and control.
The benefits of a multi-CDN approach
There are various benefits to adopting a multi-CDN strategy, including:
- If one provider has an outage, the other can pick up the slack, reducing the risk of downtime.
- You can minimize the impact of third-party vendor issues that you already have limited control over.
- Providers can adapt to changing network conditions by choosing the best delivery path in real-time.
- The option to:
- Use different CDNs in different geographical regions.
- Use different CDNs for different content types e.g. static content vs. dynamic.
- Speed matters. Improving performance can increase a site’s conversion rates and positively impact SEO (Google includes overall site speed as part of its Page Rank algorithm).
- At times of traffic surges, such as on Black Friday or Cyber Monday, you can rest assured that by distributing traffic across multiple CDNs, your applications will be able to scale to accommodate the unusual conditions.
- You can plan ahead for events which are likely to require particularly high bandwidth and a large volume of users. When anticipating a large live stream, for example, you can prepare to spread the traffic across more than one CDN provider.
Opportunity to lower costs
- By gaining greater control over your delivery expenditure, you can decide on key services and the best delivery model for the long-term in terms of workload and budget.
- The potential to move traffic to providers with lower rates after meeting your pre-negotiated commitments with each provider.
The drawbacks of a multi-CDN approach
Achieving the proposed benefits of a multi-CDN strategy can be problematic due to the disparate, black box approach each of the legacy CDNs have pursued.
Working with a multi-CDN architecture as an operations team can present challenges. Operations teams typically look for a common diagnostic platform to holistically understand the performance, errors and availability of the entire network alongside the individual components so that they can manage and debug the system. Each CDN presents their own diagnostic paths, levels of available information and frequency of information availability. This presents operations engineers with the challenge of normalizing that data and consolidating it into their preferred system.
Lowest common denominator
Each of the legacy CDNs have also provided their own black box solution when it comes to configuring the CDN. Solutions sit behind custom code interfaces or APIs which are not consistent between providers. The usual approach for engineers to solve for a multi-CDN approach is to adopt whatever is the lowest or simplest solution for caching or security provided by one of the CDNs in the stack and then translate that over to the other offerings. Engineers are limited in terms of the scope of what they can achieve by the weakest link in the multi-CDN chain, and their ability to then seamlessly translate and maintain configurations from one CDN to the next is compromised.
Edge computing platforms offer an alternative approach
Modern edge compute platforms are equipped to handle traditional CDN workloads such as caching and image optimization, but extend far beyond static asset delivery by offering more advanced workload options and the opportunity to benefit from a wider distribution of web application architecture.
Like CDNs, edge computing aims to improve performance by getting as close to the end user as possible; however, contrary to CDNs, which focus exclusively on delivering content, edge computing platforms also enable developers to move more advanced logic closer to users. By localized processing, applications benefit from reduced latency and bandwidth savings as a result of limiting the amount of requests that need to travel back to the centralized infrastructure.
In addition, vendor-agnostic platforms like Section provide redundancy without the need for multiple CDNs. Appliances Online, Australia’s largest online appliances retailer, discovered this for themselves when they implemented Section alongside one of the largest CDN providers in the market to help alleviate frustrations they were experiencing around A/B testing with their incumbent provider. Initially, Section was set up behind their existing CDN provider, which was left in place to cache dynamic content. After realizing immediate performance gains, the Appliances Online team was eager to turn off their legacy CDN and cache all content through Section to benefit from better performance at a reduced cost.
Do a test run
If you’re still not sure about the best option for you, whether to bring on multiple CDNs, or explore working with an edge compute platform, consider doing a test run.
When asked, most CDN providers or edge compute platforms will provide estimates about performance and uptime, but a trusted vendor will also allow any potential customer the opportunity to test and monitor their actual application traffic. Start by sending 10% of traffic to the vendor, and watch what happens over a fixed period of time. Test during peak and off-peak times to understand how the CDN provider(s) and/or edge compute platform handles your application in varied environments. Use this time to build a relationship with sales and support in order to set the right Service Level Agreement if you decide to move forward.