is a relatively new technology, there’ve been debates over its use. Recently, many vendors have introduced CDN load-balancing as a service, and customers themselves have understood the process of configuring CDN solutions
so that to boost their quality and achieve different business goals. When leveraged appropriately, CDN (content delivery network) strategy has the whole spectrum of advantages:
- better control quality;
- no resource overuse charges;
- meeting bandwidth requirements;
- selection for delivery with additional demands.
The right multi-CDN strategy implies two crucial steps. First, a suitable CDN network should be chosen. Secondly, the user needs to decide by which process the switch between CDNs will be done.
Types of strategies
The vast majority of multi-CDN providers offer three main types of strategies: balanced, prioritized, and optimized. With a balanced strategy, traffic is evenly distributed with different thresholds (as in concurrent streams) to be spread to secondary CDNs after reaching a specified limit. When prioritized strategy is used, a criteria hierarchy is applied, and it includes the platform device, ISP or protocols on certain levels. For instance, you may control in your content delivery network by directing traffic overflow to a global or regional CDN network based on the volume of incoming traffic, or the number of simultaneous users. An optimized strategy includes performance metrics for making decisions. It means that CDN system selects the best performing CDN network that has gained the highest score according to a number of factors (QoE metrics in some certain region, for particular assets, concerning the ISP and device of end-users accessing videos).
By selecting the best performing CDN for every single user or view, content distributors can improve buffering rates, avoid failures and join times of their services which allows boosting user experience and increasing content consumption. The second step of the process is to select the process of switching between CDNs. There are three basic ways of executing a change: using DNS routing, via client-side plug-ins only, and based on client or server-side communication between APIs
Switching at the DNS level can be leveraged without modification of application, because this is an independent application layer. This is a huge advantage when integration is concerned, though CDN traffic analysis gets a bit more complicated down the road. The main benefit (and at the same time drawback) is that the application in unaware of the fact that CDN network
is being used, and DNS routing cannot be controlled by it.
DNS routing switch implies use of URL of the service, and this URL is split into two main sections: the base that’s changed every time after CDN switch, and the content specifying the type of content to be transferred. DNS routing for ready video streaming has low risk with URL modifications, while live streaming switching can be impossible, if specific URLs given by CDNs have changes not in the base route only, but in parameters of the entire URL, as well.
In this case, a third-party software platform is leveraged inside the player, and it decides when switch should be made. When the switch between CDNs is made, parts of QoE metrics and performance issues can affect user’s device (for instance, memory use or CPU performance). CDN providers say this strategy should be used carefully, because the system makes crucial decisions without taking the whole business context into account.
Switching based on plugins makes automatic adjustment to account for preset QoE settings, but since the program does not know the entire context of alteration, the selected CDN solution might not meet the demands of business. Besides, the main risk of having an autonomous software in your player is the liability for impacting the “mediator” that can fail through content delivery process.
While leveraging a DNS solution can be difficult, API switching is the most scalable and flexible solution. For instance, you can try CDN-switching based on plugins when the method is decided in the players. But it means that every new players requires a new implementation, and costs of time and development can be considerable. On the contrary, an API based solution is fully scalable, because it functions on the server, so the integration of new players is quick, efficient and doesn’t require extra expenses.
Besides, with API-based switching, the communication can be improved from ‘client-server’ to ‘server-server’. This is the method implemented by leading CDN users. The client or server-side sends a request to API asking which CDN is the best for some particular IP or device. API figures out the algorithm taking into account configurations made by the customer, and it returns the CDN ordered based on switching method decided in real time. After that, client’s API chooses the CDN networks and redirects traffic flow.
Also, if a switching method based on an API is used, the communication can be extended from ‘client-server’ to ‘server-server’. In fact, this is the communication method that the majority of industry leaders use. The client or server-side sends a request to for instance NPAW’s API inquiring as to which CDN is the best for a specific IP and device. NPAW’s API computes the algorithm considering the configurations previously made by the customer and it returns the CDNs ordered based on the switching method configured in real-time. Then, the client’s API will finally choose the CDN and redirect the data flow.
It should also be noted that such solution does not depend on the “critical path”, because the platform is based on the server, not on the client. Player-plugin solution retrieves useful info, and does not execute commands, so it won’t be as useful for service as the previous method. Practice shows that API based switching has many more advantages compared to other solutions. These include low client side expenses and better flexibility.