A content delivery network (CDN) is an online service that makes copies of your files. Some common static files are the following:
- CSS
- JS
- Photo and Video Files (PNG, JPEG, GIF)
The service works by offloading those resources onto their own servers. This reduces the load and impact on your own web server. It will then compresses them and serves them in a much faster way through nodes or “edge” servers as some like to call them. Before this gets too complicated let’s start at the beginning what is a CDN.
What Is A CDN?
In easy to understand terms, a CDN does three things:
- Takes copies of your static files.
- Downloads them onto their servers.
- Serves them to your users.
It will also distribute these files to other servers in various locations. This reduces the latency of users who are farther away from where your primary server is hosted. Basically, a CDN just takes copies of assets on your website and serves them from their servers.
How Does This Help Me?
If you are building a website that is hosted in Houston, Texas but has visitors in Manhatten, New York they are going to experience a slower load time than your audience in Houston. This is because there is an increased latency between them and your server because they are physically farther away from the server.
Now if you have a CDN, your resources will be served from the nearest server to your users. If the company you are working with has a server in New York, then users in that region will have considerably faster load time. This is because the signal does not have to travel all the way to Texas and then back to New York for those images.
The only thing it needs to wait on normally is the actual server response time when it comes to serving the HTML (and to do backend processing such as serving news feeds, and other unique content).
So basically it makes your site faster!
What Type Of Website Needs This?
If your website is a blank hello.txt file on the internet, there is very little need for this kind of application. A CDN would still serve this application, but there is very little value from a business perspective. However, if you are using a CMS such as Drupal, or WordPress where you have lots of content serving to a lot of users globally, then you certainly need a CDN.
Even if you are a local business that is solely focused on the U.K, often times a CDN will have a faster server than you. Therefore, it is worth investing in one (even one that only costs a few bucks per month) to reduce the load time of these assets.
Who Should I Use?
This is a tough question as it depends on a few things such as:
- Your Application.
- What are the Restrictions?
- Integration of the CDN to get the most performance out of it.
I recommend consulting a web developer like myself or another one you have done work with in the past to get their views on a CDN and press them to integrate it.