Examining Amazon’s Public Elastic Compute Cloud
Currently, the most high-profile IaaS service provider is Amazon Web Services with its Elastic Compute Cloud (Amazon EC2). Amazon didn’t start out with a vision to build a big infrastructure services business. Instead, the company built a massive infrastructure to support its own retail business and discovered that its resources were underused. Instead of allowing this asset to sit idle, Amazon decided to leverage this resource while adding to the bottom line. A funny thing happened after this relatively modest plan was put in place: Customers began to find that it could mushroom into something big.
Fast-forward a few years: Today, Amazon has established itself as the gorilla in the market. Amazon’s EC2 service was launched in August 2006 and has evolved since with added enhanced features.
Amazon offers the following services to its customers today:
Compute power: Customers can rent enough compute power to run or develop their own applications.
A web services interface: Through this interface, customers can create virtual machines that meet their requirements for CPU power, memory, and storage space.
Control over the virtual operating environment: Customers enjoy the same control they would if they were operating out of their physical data centers.
Elasticity of the service offering: Users can dynamically add a new instance or terminate an instance as their needs change.
Customers choose from a menu of options to begin to use Amazon’s EC2. To use EC2, you must be prepared to answer the following types of questions:
Which instance size do you require for your Virtual servers — micro, small, large, or extra large?
What are your needs in terms of CPU, memory, and storage?
How do you want to back up your virtual machine?
Are you prepared to agree to the rules specified in Amazon’s service level agreement?
According to Amazon, one EC2 Compute Unit equals a 1.0-1.2 GHz 2007 AMD Opteron or 2007 Intel Xeon processor.
Amazon EC2 offers scalability under the user’s control with the user paying for resources by the hour. The use of the term elastic in the naming of Amazon’s EC2 is significant. Here, elasticity refers to the ability that EC2 users have to easily increase or decrease the infrastructure resources assigned to meet their needs. Users must initiate a request, so the service provided isn’t dynamically scalable. Although Amazon itself supports a limited number of operating systems — Linux, Solaris, and Windows — users of EC2 can request the use of any operating system as long as the developer does all the work.