Table of Contents
Did you notice the new section in the control panel?
I’ll give you a hint, look at the menu… we are about to start offering CDN, DDoS and WAF services!
And we are dying to talk about it. Right now we have three new features that make multi-CDN management easy.
Poppycock, you say? Maybe that’s because you’ve been trying to manage your CDN services the old-fashioned way.
We made it simple by automating all the tedious tasks, like creating regional records and monitoring checks… more on that in a minute.
Before we get into how this new service works, we need to address the precedent so you can understand where the future lies with multi-CDN management.
A Primer on CDN’s + DNS
It’s surprisingly simple to set up a CDN using DNS records. Just create a CNAME record that points your domain to your CDN’s origin.
The origin is a hostname that is provided by your CDN that points to the web servers where your content is hosted.
If you want to use more than one CDN vendor, you can’t use simple DNS records anymore. Instead, you can use record pools which are groups of hostnames or IP addresses. When the record pool is queried it will rotate through the different endpoints in the pool.
Sound familiar? Record pools are a simplified version of round-robin records. Instead of creating a bunch of records with the same name, you just create one pool with all your endpoints.
In this case, the pool will contain the hostnames or your CDN origins. Just apply the pool to a CNAME record, and we’ll do the rest. Simple, right?
What if one of your providers is slow to respond? Or there is a fiber cut in Asia-Pac that has made one provider nearly inaccessible?
This is where things start to get a little rocky.
You need to be able to monitor your CDN providers and then pipe that data into your load balancing configurations to shift traffic away from slow providers.
Okay, no big deal, lots of Managed DNS services offer integrated monitoring. But where is this monitoring data coming from? Hopefully, you’re not using world averages to evaluate the performance of a provider, because that could drastically skew your results.
Instead, you should use regional monitoring checks. But that triples, maybe even quintuples the amount of work you need to do.
But it’s absolutely necessary.
CDN performance can differ wildly depending on locale and network conditions. The only way to deliver consistent performance is to use multiple providers and leverage regional load balancing to steer traffic in real time.
That way, no matter where your users are or what network they are using, they will always have a fast and reliable connection to your content.
Luckily, our developers feel your pain and engineered an automated service that does all the heavy lifting for you.
Not only do we create the record pools for your multiple origins, but we also provision and integrate regional monitoring checks for each vendor.
That’s a mouthful… but it’s not that complicated. First, we create a monitoring check for each vendor in five different regions.
So if you have two CDN services, that would be 2 x 5 regions = 10 monitoring checks.
That way, the data we are gathering from our monitoring nodes isn’t a global average, but specific to where your users are.
Since we use five regions in Constellix, that means you also need five different record pools. We create them automatically for you and integrate your health checks to each origin.
In the end, it looks something like this:
How to Setup Multi-CDN Services in Constellix
We’ll walk through each of the new multi-CDN features step-by-step. If you follow along, you’ll have a fully automated multi-CDN load balancer at the end!
Before you start this tutorial, you will need to have your CDN services already configured with both (or more) of your providers. You will also need to generate API keys for each one for our first step.
#1 Add CDN Providers
In the left-hand navigation menu, select CDN/DDoS/WAF then CDN Providers.
Click the checkbox next to the name of your CDN vendors. Then enter the API keys for each provider. Click Verify & Save.
If we do not offer an integration with your chosen provider, that’s fine, you will have a chance to enter your origin(s) in step three.
#2 Add SSL Certificates
If your domain(s) run over HTTPS, you will need to enter your SSL certificate information in order to use our multi-CDN services. Skip this step if you are using HTTP.
Go to CDN/DDoS/WAF in the sidebar and then SSL Certificates (beta).
Click the Add SSL Certificate button. Enter your information and click Save. Your certificate will appear in the table.
#3 Add CDN Site
Go to the sidebar menu and select CDN/DDoS/WAF and then CDN Sites.
Click the Create a CDN Resource button.
- Name your multi-CDN configuration
- Enter the FQDN you will be using it for.
In the Preconfigured CDN box, you will notice that some of the vendors have hazard icons next to them. That means you have not configured them in step one.
3. Check the boxes next to your chosen providers.
4. Enter the origin, which is the web server where your website files and resources are. If you are running over HTTPS, you will need to click the radio button for https:// and choose your SSL certificate from the drop-down menu.
If you chose to use a custom CDN provider instead of using the integrated providers in step one, you may enter them now.
Save your configuration. You will see an alert that says “pending”.
#4 Magic happens…
While you wait, we are working in the background:
- Creating sonar checks for each CDN per region (so 2 CDN’s x 5 regions = 10 checks)
- Creating 5 pools (one for each region) and integrating appropriate checks.
Monitoring checks default to every minute. So 60 checks an hour x 24 hours x 20 locations (about 4 per region) x 30.5 days = 878,400 and only $87/month
#5 Apply CDN Resource to Domain
So far, we have made our load balancing configuration. But we still need to apply it to our domain and create the appropriate records.
Since we are using regional load balancing, this is going to require a few steps, most of which happen automatically.
- Enable GTD, our regional traffic manager.
- Create six records with the same name, one for each region plus a default (World).
- Apply the region-specific record pool to the appropriate record.
Go to Managed DNS in the sidebar menu, then Domains. Click the name of your domain in the table.
Click the Advanced Settings button in the top right corner and select Configure CDN.
If you have uncommitted changes for your domain, you will be prompted to commit them and automatically enable GTD.
Pick the CDN Site you created in step 4, choose a record name (like www), and set a TTL. Apply your changes.
You will notice, there are now six tabs for your records, one for each region and a default tab. Under each region will be a record will the name you just specified, pointing to the region-specific pool we created in step 1.
Commit your changes, and you are home free!