Wednesday, June 13, 2007

live blogging with S3





A very interesting blog post about how well it worked to use Amazon S3 to do a live blogging event at the WWDC. The upshot is that they had 20,000 viewers, each updating via AJAX calls once every 15 seconds, for a couple hours, and it only cost $10.

One of the comments is that $10 is a lot of money for bandwidth for this, but that's missing the point, which is that if you had to deploy actual servers to serve this kind of bandwidth, you would first have to figure out how many servers you need, deploy all the servers pre-event, and then if you got more viewers than you expected, your whole site could explode in a big ball of flaming servers. With Amazon S3 (and EC2), you can handle as many visitors as you need, and pay for what you use.

It's a revolutionary idea, and nowadays, is the only way to go.

I've been thinking about this for some time now, and what usually happens with websites is that they develop a nice idea, and it works great if they have just a few vistors. Then they get it linked on Slashdot or Digg, which causes a huge amount of server load. A lot of sites aren't ready for this, and if the site is slow, a lot of potential users will just not use the site.

The thing that people do nowadays is to setup a whole bunch of servers, and hope that they guess the amount of servers they need correctly, they also have to make sure their network can handle the bandwidth. This can cost a lot of money, and if the site doesn't get popular right away, this is money that's just lost.

The downside of guessing on the low side is way worse, because if a site is slow or inaccessible, people won't come back to it, even if it is a good idea.

Hosting your site on S3 and EC2 means that you can be ready for that big initial rush of people trying out your website, crank up the number of EC2 servers you are running, and make sure all your visitors get a nice fast site. Then, when the initial rush is over, you can quickly and easily reduce the number of servers, just keeping an eye on the page load times for your now faithful customers.

It's the future, thanks Mr. Bezos, great idea.