EC2 : Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.

Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing to quickly scale capacity, both up and down, as the computing requirements change. Amazon EC2 provides developers the tools to build failure resilient applications and isolate themselves from common failure scenarios.

Amazon EC2 presents a true virtual computing environment, allowing you to use web service interfaces to launch instances with a variety of operating systems, load them with your custom application environment, manage your network’s access permissions, and run your image using as many or few systems as you desire.

To use Amazon EC2, an Amazon Machine Image (AMI) containing the applications, libraries, data and associated configuration settings is created or a pre-configured and templated image is used to get up and running immediately. The AMI is loaded into Amazon S3.

Amazon EC2 is elastic (scalable), flexible, completely controlled, designed for use with other Amazon Web Services, reliable, featured for Building Failure Resilient Applications (Amazon Elastic Block Store, Multiple Locations, Elastic IP Addresses), secure, inexpensive.

The default instance is a 32-bit platform with 1.7 GB of memory, 1 compute unit and 160 GB of instance storage (small instance). Large, extra-large and high-CPU instances are available for compute-intensive applications.Price:

The price for using a small instance is $0.10 per instance hour for Linux and $0.125 per instance hour for Windows. Amazon EC2 uses a variety of measures to provide each instance with a consistent and predictable amount of CPU capacity. Understanding the EC2 price model is not easy and several questions in the AWS forum refer to this issue. Here are some answers :

If you start an instance once every 24 hours and run it for less than an hour, and do this every day for a 30-day month, you will be charged for 30 instance hours.  As long as your instance is running, it is billable at the rate for that instance. A website would not be publicly available if the instance is not running. To run a website available 24/7 in a month, it will cost about $90 for windows instance-hours + storage charge + data in/out charge + others.

One customer confirmed the price calculation and stated that he compared AWS pricing with that of other companies. Although there were several companies that offered hosting for cheaper, in the end he decided to start using EC2 for the following reasons :

Although those sites were cheaper, none of them gave him as much flexibility as he wanted. He had to use their preset hosting configurations, which wasn’t very condusive towards hiswebsite-model. Similar cloud offerings, such as the ones offered by RackSpace, actually ended up being more expensive in the end. But most importantly, he could take advantage of Amazon’s other web services as well.  The one he was most excited about is Amazon Cloudfront to get a full-fledged content delivery service in one easy-to-use package.  Thats one offering that those “$9.99 a month!” companies can’t offer, and it’s something he needs.

There are other providers offering elastic computing power :