Published on

jsDelivr is now handling all load-balancing with FlexBalancer

jsDelivr, the first and only free multi-CDN for open source projects are now using PerfOps FlexBalancer to load balance between their sponsoring CDNs.

Until now, jsDelivr had been using Cedexis Openmix to achieve its Multi-CDN load balancing.  After analyzing the ease of migration and benefits of FlexBalancer, jsDelivr decided that it was time for a change.

Throughout the years, the jsDelivr team experienced first hand the struggles of operating a multi-CDN service and the nuances of RUM (Real User Metrics) based decision making. For example, one of their main issues was the fact that Cedexis was running a different amount of benchmarks for different countries and CDNs.

This caused several issues when one of the providers was being covered by testing in Australia but receiving almost no tests in Russia, while at the same time another provider had a small number of tests in Australia and a larger amount in Russia. This disproportion resulted in inaccurate and unfair results.

Still, according to jsDelivr, another initial problem they had was trying to configure their load balancing routing logic which had to be written in PHP at first and then javascript. With the help of Cedexis engineers, they managed to configure their logic and only after reading through the documentation multiple times did they gain enough confidence to make their own small changes and improvements. You can check the javascript based logic in their Github.

Today, we are proud to announce that all of these conflicts are easily solved as jsDelivr has completely replaced its load balancing with FlexBalancer, developed by PerfOps. It’s already live and all requests going to cdn.jsdelivr.net are being routed through FlexBalancer.

What improvements does FlexBalancer bring to jsDelivr?

1. Unlimited Sponsored Usage Forever

After the acquisition of Cedexis by Citrix, they decided to no longer support projects like jsDelivr. Since PerfOps was created by the same team as jsDelivr, this ensures free and unlimited usage including priority support and dedicated engineering time.

2. Easier Configuration

jsDelivr takes full advantage of FlexBalancer’s Smart UI. This is their full config at the moment:

FlexBalancer Smart UI - Simple load-balancing

With the Smart UI they were able to easily achieve the same logic as their previous Cedexis configuration. Mainland China users are routed to Quantil and everyone else is load-balanced between Fastly, Stackpath and Cloudflare based on their performance and uptime. In the future, FlexBalancer will also support custom javascript code for more complex logic, but jsDelivr says it likely won’t be needed as the Smart UI already supports everything and works perfectly.

3. Better Performance and Accuracy

PerfOps does RUM monitoring (Real User Monitoring) of all CDN providers, but with the difference that all benchmarks are equally balanced among providers across all countries. This means that the data is impartial to anyone which results in better load balancing decisions.

4. DDOS protection powered by Cloudflare

The FlexBalancer infrastructure consists of origin servers running in all continents using anycast for routing. A fairly standard practice that Cedexis also uses, but in our case, the origin systems are protected by the vast network of Cloudflare.

At the same time, FlexBalancer also caches the responses for improved performance and will continue to serve queries from cache in case the origin goes down for any reason. At the time of writing, Cloudflare has the fastest global DNS network

5. Accessibility

We are accessible to everyone. With our FlexBalancer App, not only jsDelivr, but anyone can easily start load balancing their traffic by creating a free PerfOps account which includes 100 million free queries every month.

We thank jsDelivr for trusting and sharing their experience with us!