I had largely ignored the Amazon S3 pricing hike or decrease (depending on who you are) which included the addition of a per request charge. It really popped up again when I was recently talking to a new accelerator (just a few) + CDN customer recently.
They have about 9 million images taking up ~200 GB of space (average size is around 20 kb). The images are served from the hundreds to a million in a month (a busy one can be nearly a 100,000 hits in a day). In a given month they did 8,025,705,676 requests out and 21,506,532 in requests (backups and uploads). 97.3% of the request are “out” and 2.7% are “in”, and a total of 68.2 TBs was pushed.
There’s 86400 seconds in a day, and 2,592,000 in a 30 day month.
So in month of June that meant 3096 requests/second out (roughly what you can get out of 3-4 nginx/lighttpd/mainly-tuned-apache web servers.
When I feed that into the nice AWS simple monthly calculator
Storage $30.00 Data Transfer $10,626.80 Requests $8,240.78 ------------------------------------ Total $18,897.58
Now, working backwards how much is this in US$/Mbps?
68,200 GBs/month = 212.5 Mbps
How much is that per Mbps (I’ll round it up by 8 cents)?
The interesting thing here is that $90/Mbps is a bit expensive for pushing ~200 Mbps out of a single datacenter.
With the difference being that Akamai is pushing from “25,000 servers in 69 countries” and Level3 is one of the few Tier 1 network providers and their pricing includes 14 datacenters in the US, 11 in Europe and 6 in Asia. All for less than the S3.
It’s pretty simply to see for a site that is 98% downloads, 2% uploads and a smaller file size, the per requests pricing makes Amazon not even price competitive with major CDNs.