Jump to content

Amazon Elastic Compute Cloud

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 203.89.172.184 (talk) at 22:22, 12 September 2010 (→‎History). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Amazon Elastic Compute Cloud (EC2) is a central part of Amazon.com's cloud computing platform, Amazon Web Services (AWS). EC2 allows users to rent virtual computers on which to run their own computer applications. EC2 allows scalable deployment of applications by providing a web service through which a user can boot an Amazon Machine Image to create a virtual machine, which Amazon calls an "instance", containing any software desired.

A user can create, launch, and terminate server instances as needed, paying by the hour for active servers, hence the term "elastic". EC2 provides users with control over the geographical location of instances which allows for latency optimization and high levels of redundancy. For example, to minimize downtime, a user can set up server instances in multiple zones which are insulated from each other for most causes of failure such that one backs up the other.[1]

History

Amazon announced a limited public beta of EC2 on August 25, 2006.[2] Access to EC2 was granted on a first come first served basis. Amazon added two new instance types (Large and Extra-Large) on October 16, 2007.[3] On May 29, 2008, two more types were added, High-CPU Medium and High-CPU Extra Large.[4] There are currently nine types of instances available.

Amazon added three new features on March 27, 2008.[5] These features included static IP addresses, Availability Zones, and User Selectable Kernels. Amazon added Elastic Block Store (EBS) on August 20, 2008.[6] This provides persistent storage, a basic feature which had been lacking since the service was introduced.

Amazon EC2 is in full production since it dropped the beta label on October 23, 2008. On the same day, Amazon announced the following features:[7] a service level agreement for EC2, Microsoft Windows in beta form on EC2, Microsoft SQL Server in beta form on EC2, plans for an AWS management console, and plans for load balancing, autoscaling, and cloud monitoring services.[7] These features were subsequently added on May 18, 2009.[8]

Amazon EC2 was mostly developed by a team in Cape Town, South Africa. The team was led by Chris Pinkham, Christopher Brown, and included Willem Van Biljon.[9][10][11] [12] Pinkham provided the initial architecture guidance for EC2 and then built the team and led the development of the project.

Virtual machines

EC2 uses Xen virtualization. Each virtual machine, called an "instance", functions as a virtual private server. Amazon.com sizes instances based on "EC2 Compute Units" — the equivalent CPU capacity of physical hardware. One EC2 Compute Unit equals 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. The system offers the following instance types:

Standard Instances

Instances of this family are well suited for most applications.

Small Instance – default
1.7 GB memory
1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit)
160 GB instance storage (150 GB plus 10 GB root partition)
32-bit platform
I/O Performance: Moderate
API name: m1.small
Large Instance
7.5 GB memory
4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each)
850 GB instance storage (2×420 GB plus 10 GB root partition)
64-bit platform
I/O Performance: High
API name: m1.large
Extra Large Instance
15 GB memory
8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each)
1,690 GB instance storage (4×420 GB plus 10 GB root partition)
64-bit platform
I/O Performance: High
API name: m1.xlarge

High-Memory Instances

Instances of this family offer large memory sizes for high throughput applications, including database and memory caching applications.

High-Memory Extra Large Instance
17.1 GB of memory
6.5 EC2 Compute Units (2 virtual cores with 3.25 EC2 Compute Units each)
420 GB of instance storage
64-bit platform
I/O Performance: Moderate
API name: m2.xlarge
High-Memory Double Extra Large Instance
34.2 GB of memory
13 EC2 Compute Units (4 virtual cores with 3.25 EC2 Compute Units each)
850 GB of instance storage
64-bit platform
I/O Performance: High
API name: m2.2xlarge
High-Memory Quadruple Extra Large Instance
68.4 GB of memory
26 EC2 Compute Units (8 virtual cores with 3.25 EC2 Compute Units each)
1690 GB of instance storage
64-bit platform
I/O Performance: High
API name: m2.4xlarge

High-CPU Instances

Instances of this family have proportionally more CPU resources than memory (RAM) and are well suited for compute-intensive applications.

High-CPU Medium Instance
1.7 GB of memory
5 EC2 Compute Units (2 virtual cores with 2.5 EC2 Compute Units each)
350 GB of instance storage
32-bit platform
I/O Performance: Moderate
API name: c1.medium
High-CPU Extra Large Instance
7 GB of memory
20 EC2 Compute Units (8 virtual cores with 2.5 EC2 Compute Units each)
1690 GB of instance storage
64-bit platform
I/O Performance: High
API name: c1.xlarge

Cluster Compute Instances

Cluster Compute Quadruple Extra Large Instance
23 GB of memory
33.5 EC2 Compute Units (2 x Intel Xeon X5570, quad-core “Nehalem” architecture)
1690 GB of instance storage
64-bit platform
I/O Performance: Very High (10 Gigabit Ethernet)
API name: cc1.4xlarge

Pricing

Amazon primarily charges customers in two ways:

  • Hourly charge per running virtual machine
  • Data transfer charge

Additional charges for:

The hourly charge for a running virtual machine are based on the resources allocated to the machine (CPU cores memory and storage) as well as license fees for software pre-installed including Microsoft Windows. Virtual machines can be saved and shutdown for a small fee and do not incur the hourly fee in that state.

The performance of multiple identical virtual machines may however vary.[13]

Customers can easily create/reboot virtual machines. You can also terminate your instance and create another one later, although in this case you may lose any local data that hasn't been backed up (e.g., to Amazon S3, or a network attached storage service such as EBS).

As of July 2010, Amazon charges $0.085/hour ($62/month) for the smallest "On-Demand" virtual machine running Linux and 33 times that for the largest one running Windows ($2.88/hour). "Reserved" instances can go as low as $31/month for a three-year prepaid plan.[14] The data transfer charge ranges from $0.08 to $0.19 per gigabyte, depending on the direction and monthly volume.

Amazon does not have monthly minimums or account maintenance charges.

Reserved Instances

Reserved instances enable EC2 service users to reserve an instance for one or three years. There is a fee associated with reserving an instance, the corresponding per hour rate charged by Amazon to operate the instance is much less than the rate charged for non-reserved instances.

Features

Operating systems

When it launched in August 2006, the EC2 service offered Linux and later Sun Microsystems' OpenSolaris and Solaris Express Community Edition. In October 2008, EC2 added the Windows Server 2003 and Windows Server 2008 operating systems to the list of available operating systems.[15][16]

Persistent Storage

A normal EC2 instance has no persistent storage. They have temporary storage, which survive rebooting an EC2 instance, but when the instance is terminated (e.g., by an API call, or due to a failure), this store is lost. For applications to retain data over time, persistent storage is needed. This may be through one of Amazon's database services, or it may be through their two persistent storage options.

Simple Storage Service (S3) is a storage system in which data is accessible to EC2 instances, or directly over the network to suitably authenticated callers -all communication is over HTTP. Amazon does not charge for the bandwidth for communications between EC2 instances and S3 storage in the same region. Accessing S3 data stored in a different region (for example, data stored in Europe from a US East Coast EC2 instance) will be billed at Amazon's normal rates.

S3-based storage is priced per gigabyte per month. Applications access S3 through an API. For example, Apache Hadoop supports a special s3: filesystem to support reading from and writing to S3 storage during a MapReduce job. There are also S3 filesystems for Linux, which mount a remote S3 filestore on an EC2 image, as if it were local storage. As S3 is not a full POSIX filesystem, things may not behave the same as on a local disk (e.g., no locking support).

Another form of persistence is the Elastic Block Storage (EBS). Users can set up and manage storage volumes of sizes from 1GB to 1TB. An EBS store can be attached on the fly to a single EC2 instance at a time. To the operating system, an EBS looks like a regular SCSI hard drive and may contain any filesystem. A mounted EBS-backed filesystem behaves like any other local filesystem which makes it possible to use EBS to store databases and files for any application.

Elastic IP Addresses

Amazon's Elastic IP Address feature is similar to static IP address in traditional data centers, with one key difference. A user can programmatically map an Elastic IP Address to any virtual machine instance without a network administrator's help and without having to wait for DNS to propagate the new binding. In this sense an Elastic IP Address belongs to the account and not to a virtual machine instance. It exists until it is explicitly removed. IPv6 is not yet provided.

Amazon CloudWatch

Amazon CloudWatch is a web service that provides real-time monitoring to Amazon's EC2 customers on their resource utilization such as CPU, disk and network. Cloudwatch does not provide any memory, disk space, or load average metrics. An Amazon engineer has stated that this is due to the requirement to install software in the VM - something they wish to avoid.[17] The data is aggregated and provided through AWS management console. It can also be accessed through command line tools and web API's if the customer desires to monitor their EC2 resources through their enterprise monitoring software.

The metrics collected by Amazon CloudWatch enables Auto Scaling feature to dynamically add or remove EC2 instances. The customers are charged by the number of monitoring instances.

Automated Scaling

Amazon's Auto Scaling feature of EC2 allows it to automatically adapt computing capacity to site traffic.

Abuse

In early July 2008 Outblaze and Spamhaus.org started to block Amazon's EC2 address-pool due to problems with the distribution of spam and malware.[18]

See also

Cloud

Third-party AMI vendors

Competition

References

  1. ^ LaMonica, Martin (March 27, 2008). "Amazon Web Services adds 'resiliency' to EC2 compute service". CNet News. Retrieved August 1, 2009.
  2. ^ Barr, Jeff (August 25, 2006). "Amazon EC2 BetaHistory Amazon announced a limited public beta of EC2 on August 25, 2006.[2] Access to EC2 was granted on a first come first served basis. Amazon added two new instance types (Large and Extra-Large) on October 16, 2007.[3] On May 29, 2008, two more types were added, High-CPU Medium and High-CPU Extra Large.[4] There are currently nine types of". Amazon Web Services Blog. Retrieved August 1, 2009. {{cite web}}: line feed character in |title= at position 23 (help)
  3. ^ Jinesh (October 16, 2007). "Amazon EC2 Gets More Muscle".
  4. ^ Barr, Jeff (May 29, 2008). "More EC2 power". Amazon Web Services Blog. Retrieved August 1, 2009.
  5. ^ Barr, Jeff (March 27, 2008). "New EC2 Features". Amazon Web Services Blog. Retrieved August 1, 2009.
  6. ^ Barr, Jeff (August 20, 2008). "Amazon EBS (Elastic Block Store) - Bring Us Your Data". Amazon Web Services Blog. Retrieved August 1, 2009.
  7. ^ a b Barr, Jeff (August 23, 2008). "Big Day For EC2". Amazon Web Services Blog. Retrieved August 1, 2009.
  8. ^ Barr, Jeff (May 18, 2009). "New Features for EC2". Amazon Web Services Blog. Retrieved August 1, 2009.
  9. ^ "Amazon opens Cape software centre". July 19, 2005.
  10. ^ "Amazon opens dev centre in Cape Town". July 20, 2005.
  11. ^ "Amazon's Pinkham quits". Nov 29, 2006.
  12. ^ "Amazon's early efforts at cloud computing? Partly accidental". June 17, 2010.
  13. ^ J. Dejun, G. Pierre and C.-H. Chi. EC2 Performance Analysis for Resource Provisioning of Service-Oriented Applications. In Proceedings of the Workshop on Non-Functional Properties and SLA Management in Service-Oriented Computing, November 2009.
  14. ^ http://aws.amazon.com/ec2/#pricing
  15. ^ Shankland, Stephen (October 23, 2008). "Amazon's Linux cloud computing out of beta, joined by Windows". CNet News. Retrieved October 24, 2008.
  16. ^ "Amazon Elastic Compute Cloud (EC2) Running Microsoft Windows Server and SQL Server". Amazon.com. October 23, 2008. Retrieved October 25, 2008.
  17. ^ "Whitak, Chris". "Cloudwatch for memory usage"
  18. ^ Krebs, Brian (July 1, 2008). "Amazon: Hey Spammers, Get Off My Cloud!". Washington Post. Retrieved August 1, 2009.