Sunday, April 20, 2008 

Amazon Elastic Compute Cloud - EC2

The Amazon Elastic Compute Cloud (EC2 for short) was recently mentioned on the IT Conversations podcast episode A Web-Scale Computing Architecture. EC2 looks very similar to a Virtual Private Server hosting service - where you rent a virtualized server. On top of this service is a webservice giving you the ability to dynamically create, stop and start multiple server instances. Which makes this service an ideal platform for an application with variable load. For example; a concert ticket website could rent an additional 40 servers when a popular concert is about to go on sale. Or dynamically ramp up the number of servers as load increases. The service bills you for hours each instance runs, plus bandwidth. Running a single small instance non stop for one year will cost you approximately $USD876 - so cheaper options exist elsewhere if you don't need a dynamic number of servers.

Interested enough to check it out? Follow the steps in the Getting Started Guide to fire up your own instance. In the guide you communicate with the 'cloud' via a collection of java commandline utilities. The utilities themselves are ulitising the public webservice API. Just like Amazon's S3, third parties are free to build applications upon the API. RightScale, mentioned in the podcast, uses the public API to deliver an automated cloud computing management system. The Firefox extension for EC2 uses the public API to offer a GUI alternative to the command line utilities.

The Getting Started Guide takes you through the steps of firing up a public instance of a Linux server, making modifications to the instance, then packaging this up as a custom Amazon Machine Image (AMI). The customised AMI is then uploaded to your S3 storage.

This is a very interesting technology from Amazon, I'm intrigued to see what services get built on top the cloud!