Creating a winning multi-content delivery network strategy

Smart contract
(Image credit: Shutterstock / Visual Generation)

The advent of cloud computing has seen enterprises benefit from previously unimaginable speed, scale, performance and flexibility. It has helped organisations continue to deliver their services while removing complexity, increasing agility and driving costs down. But the limitations of centralised cloud computing architectures are becoming more apparent for specific functionalities – primarily global content delivery – as consumer demands shift.

Today, successful brands are connecting with their customers in new ways which were unthinkable just a few years ago. The way that content is consumed, the medium through which it is delivered and the scale at which it is engaged with has been transformational. Just think of the rise in streaming media, live videos, and other dynamic and on-demand content that you will have witnessed over the past few years. Forward thinking companies have taken note of this and have reflected this trend in their IT strategies. 

Where traditional cloud computing architectures fall short is modern content delivery. They do not provide optimal cost efficiencies, reliability or performance. And this is where your CDN (content delivery network) can be a total game changer.

About the author

Gonzalo de la Vega is VP Strategic Projects at Fastly

What is a content delivery network?

Essentially, a CDN is a geographically distributed network of data centres containing proxy servers which, combined, provide massive compute power and allow firms to serve any form of content closer – and therefore faster – to end users. Businesses today understand the danger of latency: it is estimated just a one-second delay in page response can result in a seven percent reduction in conversions and 40% of people abandon a website that takes more than three seconds to load. CDN strategies have understandably become popular, and particularly so with high volumes of sales on a global scale.

The benefits of multi-CDN

In simple terms, by adopting a multi-CDN approach, organisations are able to combine two or more providers in order to create a single, vast network that serves a global audience. Multi-CDN means enterprises stand to gain access to the aggregate power of multiple providers in each geographical region. More servers equates to less buffering, greater redundancy, and more scalability. Here’s what to bear in mind when deploying a multi-CDN strategy.

Group content by type
Content partitioning is a popular approach that involves grouping content by type (HTML, JS, CSS, images, video, API, etc.) and serving content types by specific CDNThe static nature and fixed size of assets, such as CSS, JS and still images renders them simple to move to a multi-CDN architecture. It can also make it possible to choose CDNs with specific features, like Instant Purge for HTML, rather than building for the lowest common denominator. Content partitioning also streamlines traffic distribution decision-making.

Develop consistent headers for troubleshooting 
It’s best if you have consistent headers which helps when you are diagnosing problems. Encourage your CDNs to work together by standardising debug headers, where possible. Make sure you are asking the right questions when it comes to headers. For example, what is the request ID? Was the request a cache hit or miss? How long did the request take from the time the first CDN server received the request? These are all logical questions to which you should be demanding answers.

Institute consistent hashing of your working set 
A hash function is any function that can be used to map data of arbitrary size to fixed-size values. Hash functions and their associated hash tables are used to access data in a small and nearly constant time per retrieval. Instituting consistent hashing of your working set can make the dynamic choice of which CDN serves an object as deterministic as possible, while increasing your cache-hit ratio across all CDNs. If you’re letting DNS randomly choose how to serve 5% of your traffic (i.e. 1 in every 20 requests) and you have a large working set, you won’t be optimising your users’ performance and instead will end up paying more for origin egress bandwidth. 

Establish consistent monitoring parameters 
Adopting a multi-CDN strategy allows you to improve performance by choosing the optimal CDN for content delivery. But to do that, you need visibility into how each CDN is performing. Using consistent monitoring parameters makes it easier and faster for you to compare CDN performance between providers, and thus enables you to fine-tune your multi-CDN implementation. Set these parameters across your RUM providers and monitor all of your CDNs in a consistent way wherever possible. Inconsistent monitoring strategies lead to confusing results due to object size differences, incongruent caching headers, inconsistent testing frequency, nonaligned DNS TTLs, and other undesirable outcomes.

Employ logging, monitoring and third-party reporting
Not all CDNs offer real-time visibility into your traffic, but this feature is critical in a multi-CDN scenario. Streaming logs is a great way to gain transparency and understanding into patterns for your end users’ traffic. The integration of real-time logs, products like Splunk, Sumo Logic, Azure Data Explorer (ADX), BigQuery, and similar tools provide you with insight that previously did not exist with “black-box” CDNs (which make logs available minutes or even hours later). End-to-end monitoring, including of the user's browser/player, CDNs, and origins, will give you better context for identifying issues before they become catastrophic. 

Use multi-authoritative DNS providers
A single authoritative DNS provider can represent a single point of failure in your infrastructure stack. It is an industry best practice to use two authoritative providers that employ an anycast-based approach. This foundational layer is especially important in multi-CDN architectures. This ensures that DDoS attacks against your DNS provider do not leave you with zero name servers to answer your customers' queries and will also assist with consistency based on regional performance.

Different organisations will need different functionalities which align to their individual needs. But some functionalities are basic and should be available to each customer. These include CDN usage statistics (real-time, if possible), FTP file transfer, and Purge cache (on-demand reset of Delivery Node cache). To use multiple CDNs together effectively, you should ideally use a parallel toolset from one provider to another. Operators typically tune down their multi-CDN implementation to match the lowest common denominator — if you are using three feature-rich CDNs, and one basic CDN using static HTML, you'll only be able to use a basic feature set across your multi-CDN architecture. But if you swap the basic CDN for a more feature-rich CDN, you ensure feature parity that lets you use more advanced features across your deployment.

Content is what will underpin the bottom line for many businesses. End users are more particular, the internet is more complex, and content delivery platforms are increasingly specialised. Given these facts, now is the time to consider your CDN strategy. By evaluating the points above you should be able to determine the right combination of providers to help your business continue to deliver leading content and in doing so, maintain your competitive advantage.

Gonzalo de la Vega is VP Strategic Projects at Fastly