Wednesday, March 26, 2014

Improving Page Speed with Amazon Web Services - A Beginner's Guide

After the fantastic tips in edbaxter's post on Optimizing Page Speed, I decided it was time for a beginner's guide on one of the most effective methods to increase speed that was only mentioned in that post: a Content Delivery Network (CDN). The purpose of a CDN is to put your website's static or unchanging files on very fast servers all over the world, so that requests to view the content by visitors to your site have the shorter possible trip to get your data. An example of these static files are images, css, and javascript files.

Think about it like a bowl of candy in your kitchen. When you want a piece of candy, you have to make the trip from somewhere in your home to the kitchen, and that may take longer than you would like. You can instead put multiple bowls of that same candy in every room of your home. This would make the trip to receive the candy much faster, though it would do nothing for your waistline.

This post will specifically concentrate on using two services that are under the label of Amazon Web Services (AWS): Amazon Simple Storage Service (S3) and Amazon CloudFront. CloudFront is the CDN, and S3 is a fast location used to store your static files, where CloudFront goes to get the most up-to-date file. While these services do have costs associated, there is a free usage tier which will cover much of the costs of S3. CloudFront costs will vary, but for some perspective, I have a site that has 450,000 pageviews per month, and the costs involved are $3/month. This was $4 last month, but I reduced HTTP Requests by removing unnecessary images, combining files, using sprites, etc.


No comments: