375 Million pageviews for $15 a month
hubcitylabs.org
hubcitylabs.org
It's true, but I guess most people here know that.
375000000.0 / 1024. / 1024. * $0.12 = $42.91
http://www.ewanleith.com/blog/900/10-million-hits-a-day-with...
500,000 pageviews/hr does NOT equal 375 Million pageviews/month. Traffic comes in bursts, and has peaks and valleys.
I've seen people install 4-6 webservers where 2 would have easily handled the load because they didn't want to optimize. I realize it's a viable strategy, but it makes me cringe...
EC2 Pros:
* Cheaper
* Easier to handle infrequently-updated content
* (Possibly) a simpler application pipeline
EC2 Cons:
* Have to administer a server
* Not durable, have to handle backups
* Worse availability (S3 goes down far less frequently than servers)
That said, if I'm reading it right 10M hits/day on S3 will cost you $100/day (edit: as aidos noted, I'm high by a factor of 10 here) in hits alone, so the price difference here obviously is not small.
We used s3 for a flash sale that even big boxes (with varnish) couldn't cope with. In our testing s3 didn't even blink (35,000 req/second). Real severs can't come close to that for the same price.
I think there's a price/performance sweet spot where a small server with something like varnish makes a lot of sense. Move outside of it in terms of hits/day or acceptable cost/hit and S3 gets a lot more attractive, especially when you can slap CloudFront in front of it so easily.
Actually, looking at the CloudFront pricing, unless you plan on doing a lot of cache invalidations it comes out much cheaper than S3.
Cloudfront in front of S3 isn't particularly expensive. Invalidations aside they're billed the same way and you're paying less per bit|request.
Invalidations, however, are a bitch. We've had a couple of times that we put up a map, found a problem with it, then decided to wait out the CF cache rather than pay for a bajillion invalidations.
For our use case (a single huge burst of requests) we were willing to drop all caching and pay the additional money. It was absolutely worth it (and under non-sustained load it didn't cost much).
We actually used s3 as a sort of cache in front of realtime data. So the client js was accessing objects on s3 that were being refreshed every second. It worked incredibly well where other things (like gae, who disabled our account under load) had failed us in the past.