Switching Image Hosting to Amazon S3
June 3rd, 2008I am currently in the process of switching my image hosting from my current host to the Amazon S3 service. I wanted a cheap solution that could offset any potential bandwidth costs associated with high traffic. I thought the best way to do this was to use my current host for HTML requests and use a more robust hosting solution for larger media requests. After reading the Coding Horror post, I decided to go with Amazon S3.
I found that along with the cheap cost of using S3, there are also some potential secondary benefits. (1) I can centralize media hosting from multiple sites in one location and (2) my site becomes more portable if I want to change hosts in the future. The real power here is in using a CNAME in the DNS to point a subdomain to the Amazon service. It allows me to point media.matthewsmith.com and media.futureexample.com to the same place. If I want to change hosts, I just update the DNS and I am back in business.
When considering Amazon S3, I also looked at potential alternatives such as Flickr and Google App Engine. I wasn’t sure if Flickr had any major bandwidth limitations and comments in the Coding Horror article suggested that there might be problems with the TOC. Google App Engine was just too new at the time and it seemed to be for larger scale apps versus simple image hosting. As a result, Amazon S3 was a good fit.
If you are interested in doing something similar, there are some tools out there to make using S3 a little easier. I used the Bucket Explorer trial to get things setup. I am going to use my full 30 days before deciding to shell out $30. There is also a Firefox Plug-in and Wordpress Plug-in for S3. But, I have yet to try either.
Overall, my experience wth S3 has been pretty good. I put some test images up and they seemed to load fast. The 3rd party tools make uploading a breeze. And, Amazon’s tools to monitor cost are well designed and self-explanatory. So, so far so good. I will continue to post any positive or negative issues with the service.
