A CDN (or Content Delivery Network) is a wide network of web servers that is configured to deliver content to clients from the geographically closest server (or server with the fastest connection) to that client, thereby optimizing the transfer speed.
Benefits of a CDN
CDN’s make your website more reliable, outage resistant, and faster by storing your static content from your webpages and distributing it throughout the world on a network of edge servers.
Redundancy & Reliability
CDN’s have built-in redundancy, which makes them outage resistant as every web server has an entire network of other servers as backups. CDN’s are optimized to automatically route traffic to the nearest available server or point of presence (POP). If a server happens to go down it will automatically pass that request to the closest server, which minimizes downtime and lost revenue for your business.
This also makes your websites more scalable by taking the load off of the origin server. The origin server is a web server that holds the original content and data for your webpage. CDN’s remove all the stress of having to scale your own resources, by giving you essentially “copies” of your origin at popular peering locations all around the world. Think about it, if you expanded your audience/clientele from a couple thousand in your region to a global audience, a single web server would crumple under the load.
Since your content is distributed, rather than coming from a single source, your website is more resistant to slowdowns and outages mitigating issues that you may run into such as traffic spikes and DDoS attacks.
These edge servers can either push or pull your content from the origin server and cache copies of all kinds of files:
Just to name a few. Each time your website is requested, users will retrieve that data from the nearest edge server.
Speed & Performance
Since all of your website files are cached, it also makes your website considerably faster. As we all know speed matters when it comes to dealing with the internet and having outstanding customer satisfaction. By switching over to use a CDN you can improve your search engine optimization (SEO) ranking. This is a very important aspect of growing your business because most search engines consider speed to play a major role with your website, therefore, it can be one of the first websites that customers click on and view. Also optimizing your webpage speed with a CDN also enhances your image searches for your company, images that are from your webpage or that are associated with your business.
How a CDN Works
By this point, you have an understanding of what a CDN service is, the benefits they bring to your website, but how do they work? How do you make the association between your website and the CDN service?
With DNS, of course! DNS is the glue that holds the modern web together by pointing a domain name to an IP address or hostname. In this case, your CDN provider will provide you a hostname that you will point to with a DNS record. For example, if I wanted to point www.mysite.com to my CDN service, I would create a CNAME record for www and point it to MyCDNHostname.com.
We use a hostname, because the IP address of the edge server will change depending on the location of the user making the query. Each time a user requests content from a CDN the DNS gives the user the IP of the most imminent CDN server, using a method called DNS load balancing.
There are some caveats in this process. For instance, DNS providers cannot determine with 100% certainty where a user is located, because they are only passed along relative location data from resolving nameservers. If you’re unfamiliar with resolvers or the DNS lookup process, check out this article.
This can cause major problems with latency if your ISP provider does not support EDNS Client Subnet, which gives users the most accurate GeoDNS solution response based on the actual location of your computer’s IP address and not your ISP IP address.
How to Choose a DNS Provider
Here are a few things we recommend that you look for when choosing a DNS provider:
ANAME records (so you can point the root of your domain to a CDN provider)
EDNS client subnet support
GeoDNS rules (for custom routing logic)
If you’re unfamiliar with these concepts, we’ll explain them in just a moment. When you set up your CDN service at your DNS provider, you’ll start by making a CNAME or ANAME record. CNAME records make a subdomain of your domain an alias to your CDN provider. Whereas an ANAME record will allow you to make the root of your domain be an alias to your CDN provider. When you create these records, you will point the root of your domain to an FQDN(Fully Qualified Domain Name). That FQDN will actually point to an IP address. In the case of a CDN, the FQDN is your CDN service and it will point your traffic to the IP address of the closest web server. The problem is, this requires two lookups: the FQDN and the IP address, which can increase resolution times but not by much, your site will still resolve within a few milliseconds.
We strongly recommend that you use Constellix for ANAME resolution to CDN services because our ANAME resolvers are considerably faster than other providers. Constellix also supports EDNS client subnet, so when a user makes a query we are able to tell exactly where the user is coming from (rather than the location of the resolving nameserver).
Advanced CDN Configurations
We recently introduced two new services to help Constellix users manage their single and multi-CDN architectures more easily. The first feature allows you to seamlessly integrate CDN providers into your Constellix account. We currently offer integrations with:
Once you integrate your chosen provider(s) you can use our new Multi-CDN service to automatically provision resources at each provider while we automatically create all of your CDN load balancing configurations in the background. These configurations have DNS failover built in, so if one provider is unavailable it won’t be used in the configuration until it comes back online. They also have regional latency load balancing automatically configured so your traffic will only be answered the fastest CDN in their region. We call this service ITO, or Internet Traffic Optimization.
You can also configure a custom CDN provider that we don’t have a direct integration with. However, we do not support automated provisioning for custom CDN services. Once you provision those resources, you can use our Multi-CDN service to generate your CDN load balancing configurations.
The second feature we called Traffic Steering, which is a combination of our widely popular ITO load balancing service with Real-User Monitoring. Real-User Monitoring (RUM) monitors web performance from actual users’ browsers across a full spectrum of influencing factors such as page load times, device, browser, connection provider (only offered by Constellix): wired, WiFi, or cellular, content performance, and various third-party services such as an CDN, third-party software/plugins, internet connection, and ISP. Traffic Steering ingests your RUM metrics and uses that information to intelligently steer traffic to the fastest CDN provider for that user’s network, location, and connection type.
Having a CDN provider and using Constellix to help optimize the traffic for your webpage is worth the small investment of growing your business if you value reliability and performance.