Amazon’s cloud what…?
by Sudip Chakrabarti
That was precisely how my engineering professor reacted when I mentioned Amazon’s Elastic Cloud Computing to him. Granted he is old school, but like him, a majority of us still think of Amazon as the online Walmart and nothing more. But quietly yet surely, Amazon has been transforming itself into the provider of computing power to the whole wide world.
So, what exactly is elastic cloud computing (or EC2 in techie speak)? In plain English, it is a paradigm that allows users to access IT-related services from the Internet (“the cloud”) without knowledge of, expertise with, or control over the technology infrastructure that supports them. Like one gets electricity by plugging into an electric outlet, users can access unlimited computing capability by “plugging” into the cloud computing infrastructure. It is elastic because computing power can be added or reduced as necessary, with the user paying only for the services used.
Of all the companies that are venturing into cloud computing, Amazon’s Web Services (AWS) has been the most prominent so far. AWS consists of three key pieces:
- EC2 instances: EC2 instances are the actual machines that a user owns for the time he / she pays for. Depending on the computing capability and RAM required, one can buy a small, large or extra-large instance for a price ranging from 10 to 80 cents an hour.
- Simple Storage Service (S3): Amazon S3 is storage on the Internet. Users can store their data in unique “buckets” that are similar to directories, and access that data via unique keys that are similar to file paths. Once again, a user only pays for the storage and the amount of data transferred in or out.
- Simple Queue Service (SQS): SQS offers a reliable way of passing messages and data between EC2 instances. By using Amazon SQS, users can move data between distributed components of their applications that perform different tasks, without losing messages or requiring each component to be always available.
Using these three pieces of AWS, one could very easily build a distributed application that runs on several EC2 instances, writes and reads data to and from S3, and uses SQS to coordinate between the instances. Most importantly, the number of EC2 instances can be dynamically increased or decreased depending on the load on the application.
The opportunities and benefits of elastic cloud computing are simply enormous. It offers two guys and a dog working out of a garage the computing power to match the big boys at a cost of a few hundred dollars per month. It is no wonder the Google’s of the world are already jumping on the bandwagon. So far, however, Amazon’s offering has gained significant traction because of ease of use and companies such as RightScale that are selling services to manage AWS. It, however, remains to be seen whether AWS and similar cloud computing services can meet the stringent SLA requirements of enterprise users.
Useful links:
Amazon Web Services: http://aws.amazon.com/about-aws
A step-by-step guide to get started on AWS: http://paulstamatiou.com/2008/04/05/how-to-getting-started-with-amazon-ec2
Calculator to compute monthly AWS costs: http://calculator.s3.amazonaws.com/calc5.html