Why have a multi-CDN?
A Content Delivery Network (CDN) is a group of geographically-distributed servers that help deliver content to users, more rapidly. However, CDNs can perform differently at different times or in different locations. They can experience outages and slowdowns. With a multi-CDN strategy, your content is hosted with more than one CDN provider, enabling you to drive better application performance and in many cases, lower costs. Multi-channel access methods for websites are not the only things a content owner must consider; demographics and the purpose of the site also come into play.
The majority of shoppers state that they will leave a page if it takes more than three seconds to load. Aberdeen research has quantified the impact: Each second in delay in load time means 11% fewer page loads and 7% fewer conversions, and the bigger your ecommerce or media property, the greater the damage. For the largest properties, this can mean millions of dollars in lost revenue. The performance of a single CDN often varies by geography, performing well in some regions and not so well in others. This is a function of regional coverage and connectivity of the CDN points of presence (PoPs). Even the best-performing CDNs regularly experience spikes in latency that can last for hours. Global online organizations need their applications to perform well in all regions and at all times. A multi-CDN strategy, including adding regional CDNs where global CDNs’ performance is consistently slower, can deliver better performance than one CDN for all.
As audience expectations increase and as services achieve a global reach, relying on one CDN creates weaknesses:
Multi-CDNs are used by a variety of industries such as; internet/computer software, media, retail, leisure, sports & recreation, and corporate services. These industries deliver vast amounts of content to users across the globe and using a multi CDN can help improve the efficiency of that process. It is no surprise that Internet / Computer Software and Media companies are among the top two industries using single and multi CDNs. Companies that stream large media files to their users are able to take great advantage of the widespread global presence of a multi CDN setup. Additionally, software companies like to push their most recent updates to users via a CDN as they will be delivered faster.
Netflix for example uses 3 CDNs to deliver it’s media streaming services to users around the world. Youtube and many other well-known, large technology companies also implement the use of multiple CDNs.
How to Implement a multi-CDN
Own your origin
To give your site the ability to allow multiple CDNs to cache your content, you must first understand your current delivery ecosystem. The business logic that may live on parts of the CDN has to be pulled back and implemented at the origin. Specifically, look at the following areas;
1.Establish your origin outside of the CDN itself
If your CDN does not allow its storage to be used as third-party origin storage, then best practice would be to have multiple origins (at least a primary and a failover). Multiple geo-located origins may be good for larger sites or mobile apps with high data needs (online gaming for example).
2. Limit the number of features that you utilise with a specific CDN
Put the intelligence in your origin, where possible - that’s your value proposition. Attempt to use CDNs only for delivery. By pulling the business logic back into the origin and performing these tasks yourself, you have set the scene for multiple CDN delivery.
3. Limit the use of CDN origin storage
This will have to be replicated across multiple CDNs if you use it. Rather, opt for using cloud storage in multiple locations or set up your storage to be near your own origin(s).
4. Make sure all your content uses best practices for caching and ensure that all your CDNs respect caching headers correctly.
Understand your traffic
Is your traffic HTTP? HTTPS? Large file? Video? What is your traffic type and what mechanisms will make it perform better? The type of traffic you have largely determines your caching capabilities. Also, large file delivery is usually improved dramatically by increased throughput. So if that’s your use case, then optimise for that by selecting CDNs that have great throughput in the markets you care about. Likewise, if HTTPS small object is the majority of what you want optimised, then tune your networks accordingly.
Focus on the important key performance indicators (KPIs) for your business. When considering business requirements, think granularly. Remember that in different countries, you will have different constraints and opportunities. You might even have different requirements, depending on the type of media or time of day. Investigate what your users are actually experiencing as you need to know the range of your performance for every audience, in every context.
Measure the right thing. If you are using only a server-side experience measurement today, then look at actual user performance results as well. Server-side metrics can tell you about load and latency on the servers, but they offer little insight into the actual customer experience. In order to make the best decisions about content delivery partners and platforms, you need true visibility into your customers’ experiences, globally. Only Real User Measurements (RUM) can take the guesswork out of how your site is performing in different locations across different networks.