Recently, I discovered the joy of cloud storage. Cloud storage is simply an outsourced facility used to host static content on the web. Since storage is cheap, and bandwidth is getting cheaper, these hosted services are starting to become very popular.  The concept is simple, you upload your static files (such as images or videos) to ease the load on your own web server.

I’ve been playing around with Amazon S3 lately, which is Amazon's cloud storage solution.  S3 is incredibly easy to configure and use.  Basically once I signed up, I just created a bucket which is a globally unique name.  This bucket name is used in links to your content.  Once you upload files to your bucket, you can access them at http://YOURBUCKET.s3.amazonaws.com/myfile.mp4.  Now, this large file will use Amazon’s bandwidth when the files are downloaded rather than your server’s bandwidth.  And yes, it’s dirt cheap.  I’m usually billed less than 75 cents per month for my personal use.

Why would I do this?  What is the benefit?

First, this eases the load on my web server.  It no longer needs to answer requests for these static files.  Second - and this is the key to performance boosting - Amazon’s bandwidth is a lot faster than my personal server, meaning that the files are usually downloaded much faster.

Another benefit is that Amazon also has another service called CloudFront, which lets you take this one step further.  When using CloudFront, the files in your bucket will be distributed to data centers around the globe.  So when someone from Asia visits your website, the images would be downloaded from a server in Asia, rather than somewhere in the US.  By distributing your static files to servers around the globe, you ensure that the content is loaded as fast as possible no matter where your users may be located.