2 minutes reading time (420 words)

Amazon Cloudfront or S3 - What should I use ?

I've often seen confusion about these two - Amazon S3 vs Cloudfront. People do get confused on what is the best option for them, and I don't blame them. The whole Amazon jungle is a tough one to navigate around! I always find myself writing long emails or having long conversations explaining the difference. We were very recently planning a Joomla 1.5 -> Joomla 3 migration for a news/video site and a part of the plan was of course performance improvements. Eventually, this question did come up. So here's a quick primer on how to decide what's the right thing for you.

Amazon S3

S3 is the name of Amazon's file storage service (Remember ImageShack or Photobucket ?). You upload your files - images, video, CSS, javascript, documents and any file to Amazon servers rather than storing that on your server. So what S3 really does is improve your storage costs since storing such media on S3 is cheaper, especially you are on SSD storage. So S3 isn't exactly a site optimization service. However, most often than not, this does end up being a performance improvement due to 2 reasons

  • You are using Amazon's infrastructure which is better than a lot of web hosts out there
  • Since your media is on a separate domain/sub-domain the browser can download assets in parallel

From a Joomla perspective, you will need to use an extension like Easysocial or Jomsocial that supports uploading media like photos, avatars to Amazon S3. 

Amazon CloudFront (CDN)

Cloudfront is Amazon's CDN service. Now what a CDN does is creates multiple copies of your content and stores them on servers across the globe. When your visitors request any files, they are then served by the CDN server closest to their location. This greatly speeds up load times. Depending on your site and how you have set this up, most dynamic sites can achieve significant improvements in load time. The CDN servers are optimized for speedy loading. When you use a CDN, you still need to host the 'original copy of any file on your site because if any of the CDN servers do not have a copy, it will fetch it from your server. So you don't save on storage costs here unless of course, you use CDN in tandem with S3! I'd highly recommend the CDN plugin from nonumber.nl that should make setting up a CDN for your Joomla site a breeze.

Hope that clears confusion, if there are still any questions - shoot away in the comments below!

2
Joomla: Using JLayout 'Search Tools' on Joomla 3.x...
Integrating JBolo with other Social-Community exte...

Related Posts