I finally got around to using my Amazon Web Services account this weekend and push the entirety of my digital photos into S3 (it’s in progress right now, doing a nice job of exercising my fios connetion). I thank Sean O’Conner for pushing me over the edge here, as he brought his use of S3 up at dinner after the last MHVLUG meeting.
As I’ve been working on wedding photo book, I started to realize it would be good if these photos existed somewhere besides my raid server at home, in the event of catastrophe (man made or otherwise). Wedding photos can’t be replaced. At the current bill rates, it will cost me $1.50 to upload my 15 GB of photos, and $2.25 / month to keep them hanging out in S3. For less than $30 a year to eliminate a single point of failure, I’m all for it.
Amazon did something incredible with S3. They decided that they weren’t providing an end service, but a component to build end services. As such, they created an incredibly simple programming interface (via a REST web service), seeded the community with sample code in a slew of languages, and said “have at!”. The results are somewhat impressive. There is a firefox plugin which provides a reasonable browsing front end so you can understand what your bucket / bin structure looks like. What sold me over is s3sync, which looks and acts like rsync, but has S3 as either the target or source. A single command, and all my content is being pushed into S3.
S3 also has a rich access list and meta-data interface, which has me pondering a photo album creation application using S3 on the back end. That will wait until the new year at least, but the possibilities seem interesting to me. The fact that there is a bittorent creation interface for S3 is also quite interesting, and would make for very reasonable distribution of things like ISO images.
While there are other applications more specialized for photo sharing, like Flickr, the general purpose nature of Hardware as a Service that Amazon provides intrigues me. The programmatic interface on it is also something that I’d like to get a bit of experience with, as I think this model for service delivery is going to become far more prevalent over the next few years. S3 is a pretty easy start point for that, though I’m still thinking of interesting projects for EC2 and the Mechanical Turk as well.