Content Delivery Networks (CDNs) are a great idea for your website if you get lots of traffic, or if that traffic is located all over the world. A CDN can seriously boost your website’s loading speed, and potentially save you a lot of money on your hosting. But not all CDNs are equal. A range of factors such as pricing, ease of access, speed, latency and node locations make your decision of which CDN to use an important one, especially for Australian businesses.
What is a CDN?
A Content Delivery Network, or CDN, is a number of computers, or servers, located at various places around a network, usually at various points within a country or around the world. When a site is configured to use a CDN, and someone attempts to access content such as images or streaming videos, that content will be sent to them from the nearest server to them on the network rather than from your regular web host, which usually results in them receiving the content much more quickly. Perhaps the largest and most well-known CDN is Akamai. Another reasonably well-known provider is Cloudfront, which is run by Amazon.
Cloudfront vs Cachefly
The two CDNs compared in this article are Amazon Cloudfront (http://aws.amazon.com/cloudfront/) and Cachefly (http://www.cachefly.com/), with a specific focus on use for medium- to large-sized websites where the majority of traffic originates in Australia, and where ease of maintenance must be considered (since this reflects most of our business!). For very large websites (and higher budgets), Akamai should definitely be considered, however it’s out of the scope of this comparision. The two providers compared here both offer very similar services, so only the major points of difference are listed.
The big difference here is that Cachefly has distributions points in Australia, and Cloudfront does not. This means that Cloudfront traffic will be delivered via cables from Asia, and Cachefly traffic will be delivered from either Sydney or Perth. This has a huge effect on latency (the time it takes for any single piece of data to get from one point to another, rather than the amount of data being transferred), which in turn has a dramatic effect on the speed at which your pages load, especially if they are heavy with images, stylesheets and scripts.
The screenshot below shows a simple tracert command run from our office in Melbourne, connecting to Cachefly and Cloudfront. As you can see, the Cachefly’s latency is around 30 milliseconds, where Cloudfront comes in at over 300 milliseconds, or more than ten times longer.
Cachefly gives you FTP access for managing your files on the CDN, which is simple and easy to use for any website administrator.
Cloudfront requires you to use their tools to upload files to their servers. There are many tools available, including a Firefox plugin. Some of the better tools must be purchased.
Updating a file in Cachefly is as simple as uploading the new file via FTP. The Cachefly servers will automatically begin to redistribute this file throughout their CDN as soon as your FTP client disconnects.
Amazon Cloudfront can take up to 24 hours to replicate any changed files across their network. In practice, this means if a change to a site is more urgent, a developer must upload the file with a different name (e.g. time-stamped such as filename_20110720_1031.ext) and update any references to that file.
For low-traffic sites, and for storage of images or video that won’t benefit much from GZIP compression, Amazon Cloudfront can be much cheaper.
For high-traffic sites, you should have a good look at Cachefly’s tiered pricing (linked below) because it can be better value. And of course value is very difficult to determine because it relies on all the sections above too!
- only charge you for what you use, there is no monthly fee. If you use only 1mb of data, you will only be charged for 1mb of data
- is extremely cheap: http://aws.amazon.com/cloudfront/pricing/
- does not natively GZip any files, so you pay for the full file size of the file
- has tiered pricing: http://www.cachefly.com/pricing.html
- value varies - you need to know what your data usage is to get your best value
- only charge you for the actual bytes transferred (aka, the compressed file size)
Winner: depends what race they’re running!
This comparison was for the specific scenario involving a medium to large Australian website. Within these constraints, Cachefly emerges as the clear winner.
Of course if your requirements are different, then another choice may suit better. The best solution always comes down to individual requirements for each organisation. If you know what your data usage is, and who your audience are (geographical location), you can make the best decision for your business. But hopefully this guide will help to point you in the right direction! If you have a different opinion or have had experience with other CDNs, please make yourself heard in the comments!