As WPO consultants, we help medium and large sized companies make their site faster. One of the questions we get a lot is "Do I need a Content Delivery Network?". If we answer "Yes, using a CDN is probably wise", the next question always is "which CDN should I use?".
In this article we want to give you some tips on how to select the right CDN. There are many companies that offer Content Delivery Network services and talking to all of them can be time consuming. And unless you are at least somewhat familiar with the way a Content Delivery Network works, the differences in technology and features/services, making the right choice can be a challenge.
Your goal is to select the CDN that is a perfect fit with your needs and requirements. We hope this article (and the rest of the site!) helps you reach this goal.
Do I need a Content Delivery Network?
If your website visitors reside in multiple countries or even multiple continents, there is a good chance using a CDN makes sense. And you don't need millions of visitors a day for a CDN to pay off. Even at a low traffic level (~1,000 UVs a day) you should at least consider it (working with the Pay As You Go CDNs can be very easy).
The geographical distance between you servers and your visitors has a big impact on the user experience, because this distance determines in large how fast each object on your pages loads. The closer your visitors are to the server, the less time it takes between the moment a browser requests a webpage object (e.g. logo.gif) and the moment the browser receives the first byte from the server. That time is called latency.
Latency is a big site speed killer. Decreasing latency is a key reason for using a Content Delivery Network because the CDN has servers in many locations in the world, placed in strategic locations (e.g. close to the backbone).
Server speed & throughput
Besides latency, the 'power' of the servers is also very important. Your servers may be close to the visitors but they can still be slow, for a number of reasons, including:
- the servers cannot handle the number of concurrent connections from visitors' browsers (resulting in a queue)
- the hard drives are old and slow
- the servers are behind a undercapacity load balancer
- the servers have a small pipe to the internet
You can expect the CDN servers to be tuned for performance (e.g SSD hard drives) and are able to respond to requests quickly and send those bytes out fast.
CDN selection criteria
What are looking for in a Content Delivery Network? Static files serving? Dynamic website acceleration? Streaming HD video? Is there a budget limit? Do you need 24/7 support in your native language?
You have to think about your needs and requirements and write these down. We recommend grouping these in 4 categories: functionality, performance, costs and service.
Two questions apply here:
1. What should the CDN be able to do?
Some things can be considered basic functionality, like Origin-Pull and Gzip compression. Other things are not so common, like a custom CNAME for secure webpages.
2. What should you, as a user of the CDN service, be able to do?
These may be on your requirements list, amongst others:
- view (real-time) statistics on CDN usage
- upload files via FTP
- do a Purge-All via an API
- override the browser caching headers your origin server sends
Take your time to define your needs and requirements. This is very important.
Speed is key. You will want to know how fast the CDN servers will be delivering the files to your end users. The KPIs to look at are: latency (in ms) and throughput (in kbit/s). For each KPI you should get the min, max, median and average for a long-enough period and preferably during normal and/or peak traffic hours.Some tips:
- Do a trial or proof of concept with one or more Content Delivery Networks in the geographical regions that are most important to you
- Have solid performance monitoring in place during this test phase so you have real data about the CDN performance
- Interpret the data in the right way and compare the results of the different CDNs (this can be harder than you think)
Money is always important. Prices differ between CDNs and it makes sense to gather pricing information so you get some feel for the differences (tip: we present pricing information on our pages about Content Delivery Networks).
Remember: custom price plans are very common in the CDN market so don't let initial pricing info guide you too much in the decision making process.
Many CDN providers offer 24/7/365 support via email and phone and that is great. Besides customer support availabilty, there are other important things to consider:
- Friendliness and knowledge level of customer support reps
- How fast do problems get solved?
- Account management quality and availability
- Do they really work with you as a partner, or are you 'just another customer'?
Approach to selecting a Content Delivery Network
Here are a few tips for going through the selection process smoothly and effectively:
- Think about your needs and requirements and write these down, grouped into the 4 categories
- Give each need/requirement a weight (using the MoSCoW method)
- Gather information relevant to your situation, needs and requirements and put this in a spreadsheet
- Make the spreadsheet tell you which 3 CDNs seem to be a good match
- Get in touch with these CDNs; prepare for the conference call and ask your questions
- Do a free trial or proof of concept with 1 or 2 CDNs and make sure you are able to get real insight from that
- Negotiate a good deal ;-)
How CDN Planet can help
We want to help you select the right CDN in the best way we can. This site launched on October 3, 2011 and provides information on some of the Content Delivery Networks, with more CDNs coming soon. These 'CDN pages' provide a nice, basic way to compare one CDN to the other, but will likely leave you undecided.
If you want someone to guide you through the CDN selection process, you may hire us as consultants via info [at] cdnplanet [dot] com. Of course you can also contact the CDN(s) you find interesting directly. They will happily provide more info.