Amazon S3 – the new Asprin
As more and more people now move their production apps on Amazon S3, we are getting emails from CEOs and CTOs about their success and how Amazon S3 helped them sleep better at night. Last week I blogged about live-blogging backed by Amazon S3 and their 2-hour-$10-scaling app. This week its Pictogame. As Louis Choquel, President of zSlide (of Podmailing fame) puts it in his own words:
- with S3 we could sleep better, spend totally cool week-ends watching our Digg score climb in total serenity.
- without S3 we would have spent much more money but slept badly anyhow, had nightmares, and actually seen our server crashed, probably at the worst time of night as these things usually do.
launched on May 25 – its one of those user-created game widgets that you can create dynamically and embed it on your MySpace blogs. Technically, the app consists of several general purpose SWF flash files (game loader, skin, game template), user media files (currently only pictures: jpeg, gif, png), an XML file describing how to mix all that into a customized game. All of these are stored in a single bucket on Amazon S3. SWF files are stored once as they are common to all, user media are first uploaded to their servers for processing then pushed to Amazon S3. XML files are uploaded to Amazon S3 each time a new game is created. A background process in PHP stores all these files asynchronously on Amazon S3 while they keep the Amazon S3 key in their database for later editing and deletion purpose.
Their stats are all the more impressive: Since launch (in 3 weeks), they got “
” several times and were also there in Top Ten for few hours. Overall, over
75GB were downloaded and 1 million widgets were served
(Each game widget weights an average of 150KB) and Total costs were less than
$20 (for storage and bandwidth).
Now since the widgets get directly relayed from
, they don’t have to worry about scaling. No more post-production headaches!
Here’s the game – Try building the famous “AWS building block” (My best time : 400sec)