Should You Use a Content Delivery Network?

Share this article

If you’ve been following my recent posts, 7 Reasons to use a Content Delivery Network and 7 Reasons NOT to use a Content Delivery Network, you’ll be utterly confused and on the brink of giving up this web game altogether. The answer to “should I use a CDN?” is… it depends. There are a few clear-cut situations when a CDN should be avoided:

  1. You’re building an intranet application without external access to the internet.
  2. Security or privacy is a top priority, e.g. a banking application where you need full control over all source files and server locations.
  3. You’re building an application for a company or country which is known to block specific domains or IP address ranges.
Your choice of CDN will also be more limited if your application requires the secure HTTPS protocol. CDNs bring fewer benefits to smaller sites with relatively light traffic. Assuming you don’t require high-bandwidth video or audio files, it may be simpler to keep all your files in one place.

Small Local vs Large CDN Files

For busier sites, CDNs can significantly boost performance and save costs. However, be conscious of file optimization issues. For example, is it better to load a full 300Kb JavaScript library from a CDN or an optimized 50Kb version from the local server? I’d be tempted to pick the smaller local file — especially if a reasonable proportion of the target audience are using mobile devices. A smaller file outweighs many of the reasons to use a CDN; it will download quicker and execute faster.

A/B Performance Testing

If time and budget permits, you could consider A/B testing. You’d need to implement a solution which served individual users with a CDN-powered or locally-hosted version of a web page. A snippet of JavaScript could record real download and rendering speeds and post results back to the server using Ajax or similar methods. Depending on your traffic profiles, you may be able to simplify this process by running a local version for one week then a CDN-powered version the next. A CDN may be less efficient if, for example, the majority of users are on slower connections and are physically close to your main server’s location.

The Best of Both Worlds?

Several of the problems associated with CDNs can be rectified using a fall-back. If a file cannot be downloaded because the CDN is blocked or unavailable, the system can resort to a local version. Again, this requires more development but would increase availability on mission-critical systems.

CDNs and Progressive Enhancement

There will always be resources which not absolutely essential for the page, e.g. background images, JavaScript widgets, some CSS resets, etc. Consider web fonts. Google’s webfont CDN is a great system and you’ll encounter few problems if the service becomes unreliable or fails. If the font can’t be loaded, the site can fall-back to a common typeface.

Wrapping up

CDNs are an incredibly useful resource but remember to consider the consequences. In practice, most sites will benefit if they load jQuery, the HTML5 shim and font files from a public CDN. For busier sites, the speed improvements and cost savings of a private CDN are hard to ignore.

Frequently Asked Questions about Using a CDN

What are the main benefits of using a CDN over local hosting?

A Content Delivery Network (CDN) offers several advantages over local hosting. Firstly, it improves website load times by distributing content to servers located closer to the user. This reduces latency and enhances user experience. Secondly, it provides better reliability and uptime as the content is served from multiple locations, reducing the risk of server failure. Lastly, a CDN can handle high traffic loads and sudden traffic spikes more efficiently than a single local server, ensuring smooth operation during peak times.

Are there any potential drawbacks to using a CDN?

While CDNs offer numerous benefits, there are potential drawbacks to consider. These include cost, as some CDN services can be expensive, especially for high-traffic websites. Additionally, using a CDN might lead to loss of control over server locations and potential issues with data privacy and compliance, particularly if the CDN servers are located in countries with different data protection laws.

How does a CDN improve website security?

CDNs can enhance website security in several ways. They can provide DDoS protection by absorbing and dispersing traffic during an attack. They also offer SSL/TLS encryption to secure data transmission between the user and the server. Some CDNs also provide Web Application Firewalls (WAFs) and other security features to protect against common web threats.

Is it better to use a CDN for all types of content?

While CDNs can deliver all types of content, they are particularly beneficial for static content like images, CSS, and JavaScript files. Dynamic content, which changes frequently or is user-specific, may not benefit as much from a CDN as it often cannot be cached effectively.

How does a CDN affect SEO?

A CDN can positively impact SEO by improving website speed and performance, factors that search engines consider when ranking websites. Additionally, CDNs can enhance user experience, another important SEO factor, by ensuring fast, reliable access to your website content.

Can I use a CDN with my existing hosting provider?

Yes, a CDN can be used in conjunction with your existing hosting provider. The CDN acts as a network of servers that work alongside your primary server to deliver content more efficiently to users.

How do I choose the right CDN for my needs?

When choosing a CDN, consider factors like your website’s traffic volume, geographic distribution of your audience, the type of content you deliver, and your budget. Also, look at the CDN’s performance, security features, and customer support.

Can a CDN handle dynamic content?

While CDNs are best suited for static content, many modern CDNs can handle dynamic content as well. They use techniques like dynamic caching and edge computing to deliver dynamic content more efficiently.

What happens if a CDN server goes down?

If a CDN server goes down, the CDN will automatically reroute the user request to the next closest server. This ensures that your website remains accessible even if one server fails.

Can I use multiple CDNs for my website?

Yes, using multiple CDNs, also known as a multi-CDN strategy, can provide additional benefits like improved performance, redundancy, and cost-effectiveness. However, managing multiple CDNs can be complex and may require advanced technical knowledge.

Craig BucklerCraig Buckler
View Author

Craig is a freelance UK web consultant who built his first page for IE2.0 in 1995. Since that time he's been advocating standards, accessibility, and best-practice HTML5 techniques. He's created enterprise specifications, websites and online applications for companies and organisations including the UK Parliament, the European Parliament, the Department of Energy & Climate Change, Microsoft, and more. He's written more than 1,000 articles for SitePoint and you can find him @craigbuckler.

CDNweb hosting
Share this article
Read Next
Get the freshest news and resources for developers, designers and digital creators in your inbox each week