seraph0x wrote:(In case you're wondering why we don't always use S3 - it's several times more expensive than our normal server, but for a day or two it's no problem.)
Hey Seraph0x, being a heavy user of AWS, I'm really intrigued by this statement. Are you quite sure about it? In a big site I have, I had an EC2+EBS solution to serve static content (tons and tons of images, thumbnails, etc) that I've recently turned off and moved to S3 to serve all that content: the result were reduced costs!
According to
http://aws.amazon.com/s3/pricing/ and
http://aws.amazon.com/ec2/pricing/, S3 storage is $0.095/GB-month, while EBS is $0.10/GB-month. Also, S3 you pay for what you use, while in EC2 you pay for what you provision. There's also the implicit maintenance and back up cost on EC2+EBS (you have to monitor disk usage and make them bigger by yourself on an EC2+EBS solution, plus you have to pay for storing your backups). The data transfer cost is exactly the same.
For S3, there's only one more cost:
- S3 cost per GET, $0.01 per 10k (let's forget about POSTs, since I suppose you have way image uploads than downloads).
For EC2+EBS, there's still:
- EC2 instance cost per hour, which depends on what you need;
- Eventually more than one EC2 instance, if you want redundancy (and make it more comparable to what S3 would give you)
- Eventually an ELB, if you have more than 1 EC2 instance
- EBS costs for IO ops ($0.10 per 1M)
It is not easy to compare S3 costs with GET operations with EBS costs for IO ops, but they wouldn't be *that* significant anyways.
From this overview, it looks like EBS+EC2 would be way more expensive than S3 for serving static content for a solution that would be at most as reliable and require much more maintenance (the only benefit of EC2+EBS is, maybe, lower latency, but I wouldn't give too much weight to this benefit in serving static images).
I'm very intrigued: how did you come to your conclusion that S3 is several times more expensive?
PJH