Expert Interview: CDNs with Kevin Fwu
Hi everyone! Today we are talking with Kevin Fwu, a software engineer and a Content Delivery Network (CDN) expert. Kevin has been working on QUIC.cloud CDN for the past few years. Today we are discussing CDNs, and what you should know about them when considering using one for your website.
So let’s start with an important question. What is a CDN?
A CDN is a global network of servers that operate as a proxy/stand-in source for your site. Effectively, it makes it so that your site can be quickly accessed from anywhere around the world.
Do all websites benefit from a CDN?
No. There are multiple scenarios where a CDN doesn’t really benefit a site. The most obvious one is if you don’t actually need to globalize your site. If your site visitors are from one location, a CDN can actually hurt your site because you are now wedging an extra server in between the client and your server.
So for sites that are global, is using a CDN easy?
It can be. Probably the toughest thing to do is choosing [a CDN provider] because every one of the CDNs out there has its own benefits and cons.
What are some different features users should look for when choosing a CDN provider?
There are a bunch of things to consider, but some of the most important ones are:
- what security options are available
- what happens when your site is under attack
- what happens when other sites are under attack
- what the CDN can cache, how the CDN clears the cache
- where the CDN is located
- how it decides where to serve your site from
Is a user’s site less secure when they use a CDN?
Objectively, no. Different CDNs behave differently, but you still need to keep the same issues in mind. CDNs by definition operate as a proxy in between visitors and your server. You should still protect your site as you would otherwise, with two caveats:
- CDNs will have their own security implementation, which is strictly beneficial for security.
- Your backend server must take care to keep its security rules applied. When a CDN is active, all traffic is routed through the CDN’s servers. For security purposes, the backend server should attempt to filter the IPs of visitors that hit the CDN server. It should not filter the IP of the CDN server itself.
What are those same issues you are referring to?
Hacking attempts, DDoS attacks, things of that nature.
So let’s discuss caching. Does every CDN server have a copy of your website to serve it easily?
For a pull cdn, when a website is called by a user, it will be served from the nearest PoP, but if it hasn’t been called to that PoP before, it will need to be retrieved from the origin server instead. Once it’s been retrieved from the origin server, the PoP saves the page for the future.
As far as content, pretty much every CDN (beside QUIC.cloud) is a static content CDN. This means that the dynamic content (the main page itself and any other content that needs to run code) is not saved on the CDN server. QUIC.cloud is unique in that it is capable of caching the dynamic content on visits. Other CDNs have attempted to implement dynamic caching, but their implementations tend to lack robustness: inability to purge on clean up, inability to handle varied pages, etc.
What do dynamic content CDNs do that static CDNs don’t?
Most websites are dynamically generated, meaning the site runs code to generate the page. The generated page likely will not change until the content changes (e.g. someone posts a new blog). In all other circumstances, the generated page is exactly the same. A dynamic content CDN takes advantage of this by caching the generated page, making it effectively a static page (a page that is uploaded from the filesystem; no code runs). This is hugely important for high trafficked sites as it saves the site’s server from needing to run the same code every time someone visits the page.
The key to a good dynamic content CDN is the ability to purge the cache when the content changes. You don’t want a situation where you update the site and you have to wait minutes, hours, or days for the cache to be cleared.
Another key is the ability to control what pages are cacheable, what pages need to look different to which users, etc. These are all possible variants of a single page that need to be accounted for. A dynamic content CDN should be able to handle all of these situations and serve the content quickly.
While working on QUIC.cloud, did you make sure it can do all of the things you just listed, such as automatically purging the cache when the content changes?
Yes. When we discussed how we wanted QUIC.cloud CDN to work, it was important to us that we make it convenient for the user while keeping it feature focused.
So is there any last thing you think our readers should know about CDNs?
CDNs are a wonderful asset that are beneficial for most sites. Every CDN has its pros and cons and there is no one-size-fits-all solution. It is important to determine your own personal requirements (such as bandwidth usage, speed, security, etc.) and to do your research on which CDN best suits your site.
CDNs can be a very powerful tool in making global websites operate efficiently all over the world. With their security features and caching abilities they bring a new layer of superior technology. QUIC.cloud CDN offers a quantity of free monthly bandwidth to all users, so give it a try today and see what change it can make for you.
[Editor‘s Note: This blog post is the first of what we hope will be many Expert Interviews! Is there a LiteSpeeder you’d like to hear from, or a particular topic you’d like to know more about? Let Kacey know in the comments!]