Date: 2006-10-30 19:20:00
amazon s3

Amazon S3 (Simple Storage Service) is a really interesting service. Well, at its core it's not terribly interesting at all - it just allows anybody to store data on Amazon's servers and access it at any time. A micropayment system lets Amazon offset the cost of providing the service. The interesting part is the low cost: Currently it costs $0.15 per gigabyte per month for storage and $0.20 per gigabyte of data transferred, with prices only expected to fall.

This kind of service is useful for backups or distributed computing or many other applications. Access control allows you (as the data submitter) to control who can access it. If you configure the service and your DNS correctly, you can even serve up content via the Amazon S3 servers over HTTP using your own domain name!

I was thinking about this and doing some back-of-the-envelope calculations. My web site currently contains 1.6 GB of content. Last month, my web site served about 8 GB of data. Let's run the numbers:

Storage1.6 GB×$0.15=$0.24
Transfer8 GB×$0.20=$1.60

Total$1.84

That's less than two dollars per month to host a reasonably busy web site. Of course, that doesn't give you any capability to host any dynamic content at all, but many types of web sites don't need that (including the vast majority of my own). You can enable logging for S3, so you can still extract the equivalent of HTTP server logs for the site.

At this time I'm not actually considering moving my web site from my hosted server to S3. There are too many other (non-HTTP-based) benefits of running my own server to give that up at this point, and if I'm running a server anyway, I might as well host my own HTTP server too.

You should expect to see an S3-based project or two from me in the near future.

[info]thomasj
2006-10-30T06:50:43Z
Just don't host something that becomes slashdoted =)
[info]cetan
2006-10-30T15:24:57Z
5GB of storage would give me a reasonable 4th layer of backup of my "best of" images at pretty low cost.

Now, I just need to figure out which images I actually want to store...
[info]ghewgill
2006-10-31T08:46:06Z
That's a 5 GB maximum per object. I don't imagine you have any JPG files approaching anywhere near that size! The total amount of data you can store is unlimited.
[info]cetan
2006-10-31T14:17:21Z
*smacks forehead*

Another phule moment I guess. Well, that's even better. Thanks for pointing that out. :)
[info]decibel45
2006-10-30T20:20:03Z
I'm thinking of a photo gallery that still allows picture comments, as well as notifications on comments... :)

Ok, not terribly static, but the pictures themselves could certainly be. Actually, with some clever client-side scripting, you could probably do the whole thing via S3...
[info]ghewgill
2006-10-31T08:48:29Z
That's an interesting idea. I don't think I'd actually want to implement something like that, but the concept may be possible. You'd have to set it up in such a way that clients that have permission to create comments don't also have permission to delete other comments, or change photos, or whatever. I'm not sure whether the access control mechanisms in S3 fully support that model. But it's an interesting problem.
[info]catherine81 : OT
2006-10-31T03:21:27Z
I just realized how I religiously read all of your entries, even though I have absolutly no idea what most of them are about. :) Hope things are going well for you.
[info]decibel45 : Re: OT
2006-10-31T06:16:06Z
You need to email me your # so I can make use of it next time I'm in Houston.
[info]ghewgill : Re: OT
2006-10-31T08:44:54Z
Ha, I could say the same for you! Things are going very well here in NZ. Work is fun and interesting, the scenery and landscape is amazing, the people are great, what more could one ask for? How are things in your world?
[info]boiboi5 : Re: OT
2007-01-24T20:07:18Z
any update on this what about a coppermine hosted elsewhere but stores each image files on s3? is this possible?
[info]ghewgill : Re: OT
2007-01-25T07:52:45Z
I'm not sure what a "coppermine" is, but you can certainly set up a web site where the images are stored on S3. The S3 docs explain how to do this. Basically it's done by creating a bucket named to match a DNS name, then pointing the DNS to S3 with a CNAME, and making sure your content is publicly readable.
Greg Hewgill <greg@hewgill.com>