Amazon’s Elastic Cloud #

Amazon was the first providers of cloud computing (; it announced a limited public beta release of its Elastic Computing platform called EC2 in August 2006.


Elastic Compute Cloud (EC2) is a Web service with a simple interface for launching instances of an application under several operating systems, such as several Linux distributions, Microsoft Windows Server 2003 and 2008, OpenSolaris, FreeBSD, and NetBSD.

EC2 allows a user to load instances of an application with a custom application environment, manage networks access permissions, and run the images using as many or as few systems as desired. EC2 instances boot from an AMI (Amazon Machine Image) digitally signed and stored in S3; one could use the few images provided by Amazon or customize an image and store it in S3.

A user can,

  1. lunch an instance from an existing AMI and terminate an instance;
  2. start and stop an instance;
  3. create a new image;
  4. add tags to identify an image; and
  5. reboot an instance.

EC2 is based on the Xen virtualization strategy. In EC2 each virtual machine functions as a virtual private server and is called an instance; an instance specifies the maximum amount of resources available to an application, the interface for that instance, as well as, the cost per hour. This is a web service that provides resizable computing capacity in the cloud. It is designed to make web- scale computing easier for developers and offers many advantages to customers:

  • It is a web service interface that allows customers to obtain and configure capacity with minimal effort.
  • It provides users with complete control of their (leased) computing resources and lets them run on a proven computing environment.
  • It reduces the time required to obtain and boot new server instances to minutes, allowing customers to quickly scale capacity as their computing demands dictate.
  •  It changes  the  economics  of  computing  by  allowing  clients  to pay only for capacity they actually use.
  • It provides developers the tools needed to build failure-resilient applications and isolate themselves from common failure scenarios.

Amazon EC2 presents a true virtual computing environment,  allowing clients to use  a  web-based  interface  to  obtain  and  manage services needed to launch one or more  instances  of  a variety of operating systems (OSs). Clients can load the OS environments with their customized applications. They can manage their network’s access permissions and run as many or as few systems as needed. In order to use Amazon EC2, clients first need to create an Amazon Machine Image (AMI). This image  contains  the  applications, libraries, data, and associated  configuration  settings used in the virtual computing environment. Amazon EC2 offers the use of preconfigured images built with templates to get up and running immediately. Once users have defined and configured their AMI, they use the Amazon EC2 tools provided for storing the AMI     by uploading the AMI into Amazon S3. Amazon S3 is a repository that provides safe, reliable, and fast access to a client AMI. Before clients can use the AMI, they must use the Amazon EC2 web service to configure security and network access.

A user can interact with EC2 using a set of SOAP messages, (The Simple Object Access Protocol (SOAP) is an application protocol developed in 1998 for Web applications. Its message format is based on the Extensible Markup Language. SOAP uses TCP and more recently UDP transport protocols; it can also be stacked above other application layer protocols such as HTTP, SMTP. The processing model of SOAP is based on a network consisting of senders, receivers, intermediaries, message originators, ultimate receivers, and message paths. SOAP is an underlaying layer of Web Services), and can list available AMI images, boot an instance from an image, terminate an image, display the running instances of a user, display console output, and so on. The user has root access to each instance in the elastic and secure computing environment of EC2. The instances can be placed in multiple locations in different Regions and Availability Zones. EC2 allows the import of virtual machine images from the user environment to an instance through a facility called VM import. It also distributes automatically the incoming application traffic among multiple instances using the elastic load balancing facility. EC2 associates an elastic IP address with an account; this mechanism allows a user to mask the failure of an instance and re-map a public IP address to any instance of the account, without the need to interact with the software support team.

To be able to connect to a virtual machine in a cloud, a client must know its IP address. For security reasons public IP addresses are mapped internally to private IP addresses. For example, a virtual machine running under Amazon’s EC2 has several IP addresses:

  1. EC2 Private IP Address: The internal address of an instance; it is only used for routing within the EC2Cloud
  2. EC2 Public IP Address: Network traffic originating outside the EC2network must use either the public IP address or the elastic IP address of the instance. The public IP address is translated using the Network Address Translation (NAT) to the private IP address when an instance is launched and it is valid until the instance is terminated. Traffic to the public address is forwarded to the private IP address of the instance.
  3. EC2 Elastic IP Address: The IP address allocated to an AWSEC2 account and used by traffic originated outside the EC2cloud. NAT is used to map an elastic IP address to the private IP address. Elastic IP addresses allow the cloud user to mask instance or availability zone failures by programmatically re-mapping a public IP addresses to any instance associated with the user’s account. This allows fast recovery after a system failure; for example, rather than waiting for a cloud maintenance team to reconfigure or replace the failing host, or waiting for DNS to propagate the new public IP to all of the customers of a Web service hosted by EC2, the Web service provider can re-map the elastic IP address to a replacement instance.

Modern On-Demand Computing
Amazon EC2 Service Characteristics