Amazon Elastic Compute Cloud features explained

AWS EC2 is a cloud service that's easy to use and easy to set up if companies understand its many facets and features.

For organizations looking to deploy applications in the cloud, the continuing evolution of Amazon Web Services EC2 promises lower application-deployment and migration costs, as well as easy scalability. But it's a hard service to understand, and it's even harder to determine if it will benefit your organization.

Amazon Elastic Compute Cloud (EC2) offers a multitude of virtual server deployment services and options, as well as computing, networking and security upgrades. This guide provides you with the criteria you need to understand what AWS EC2 does, and decide if it is the right infrastructure as a service (IaaS) for your environment.

What is Amazon EC2?

EC2 is a pay-as-you-go cloud platform that includes compute power, storage and database services as its core components. Users select the CPU, memory, storage, networking capacity and access controls, OS, security, and additional software needed to run a virtual computing environment, or instance.

Amazon offers preconfigured, templated Amazon Machine Images (AMIs), or users can create their own images. Administrators determine when to start, terminate and monitor as many instances as they need, depending on workloads. They can also run instances in multiple locations, use static IP endpoints or attach persistent block storage.

Using AWS EC2 can reduce the time needed to obtain and boot new server instances to minutes, allowing you to quickly scale capacity -- both up and down -- as computing requirements change. Amazon EC2 allows companies to pay only for the computing resources and capacity they use. It provides developers the tools to build failure-resilient applications and isolate them from common failure scenarios.

AWS EC2 components

Before settling on AWS EC2, enterprises should know all the components that make up the cloud service, including which operating systems it supports, native security measures, pricing structures and more.

Operating system support. Amazon Elastic Compute Cloud supports multiple OSes without the need to pay additional licensing fees. Red Hat Enterprise, SUSE Enterprise and Oracle Enterprise Linux, as well as Windows Server and Unix are among those OSes. However, it needs to be implemented in conjunction with Amazon Virtual Private Cloud, or VPC.

Enterprises can also buy their own licenses and bring them into the environment, which can be integrated into the Relational Database Service (RDS). The service does not support nonstandard OSes and certain Oracle and Microsoft applications.

Security. You have complete control over the visibility of your AWS systems. The AWS EC2 security systems allow you to place running instances into groups of your choice. Through the Web services interface, IT teams can specify the groups with which other groups may communicate, as well as the groups with which IP subnets on the Internet may talk. This allows you to control access to your instances in the AWS environment. Of course, you should also ensure your instance is secure, just as you would do internally.

Pricing. Amazon EC2 provides its Web services through a simple interface that enables users to configure compute resources and charges them by capacity used. Pricing can be based on clock hours of server time, database characteristics and type, and on the number of database instances. There are a variety of pricing options, and in some cases, no minimum commitment to certain database types is required.

The Free Usage Tier allows enterprises to test the service with 750 hours of EC2 Linux, 750 hours of EC2 Windows Server, 750 hours of Elastic Load Balancing, 15 GB of data processing, 30 GB of block magnetic storage, 2 million I/O operations, 1 GB of snapshot storage and 1 GB of regional data transfer.

Amazon EC2 also provides storage blocks. Pricing is based on the type and amount of storage required. For example, provisioned storage comes with your EC2 pricing and includes up to 100% of the database for an active instance. Additional storage can be purchased to cover backup requirements and the inbound and outbound transfer of data.

AWS offers a variety of pricing options, depending on the level of utilization, type of applications and database demands. To estimate the cost for an EC2 deployment, refer to the usage map pricing on the AWS pricing website.

Fault tolerance and latency. Amazon EC2 is extremely flexible in enabling users to scale across servers and procure compute resources to design fault-tolerant applications. One of the products that complement EC2 is Amazon Elastic Block Store (EBS). Users can implement an EBS-optimized EC2 instance for better I/O performance and almost nonexistent latency.

EC2 also comprises geographic regions and isolated locations known as availability zones for fault tolerance and stability. Amazon does not release the exact locations of the regional data centers for security purposes. Service resources are not replicated across regions, and regions are connected using the public Internet.

When users launch an instance, they must select an AMI that's in the same region, or copy an AMI from another region into the region where the instance will run. Instances can be distributed across multiple availability zones in case of failures, and Elastic IP addresses (EIPs) can quickly map failed instance addresses to concurrent running instances in other zones.

Migration. Amazon makes it easy to move existing applications into EC2. The company can do it for you, for $80.00 per storage device and $2.49 per hour for data loading. This service is best where you have a large amount of data to move. If you are starting from scratch, you most likely will not need to utilize this service.

Auto Scaling. EC2 allows customers to define scale-up conditions to increase Amazon EC2 capacity by 10% to handle burst activity, and scale-down conditions to decrease capacity by 5% to save money. With Auto Scaling, customers can preserve instances with the current launch configurations and terminate instances without current launch configurations.

When more than one instance meets this criterion, AWS Auto Scaling will terminate the instance running for the longest portion of a billable instance hour (without running over). You can also configure a rule to terminate the oldest or newest instance, or vice versa. There are limits set in EC2 Auto Scaling, but if IT teams require additional limits, you can request them through AWS.

Service Commitment. AWS's standard service-level agreement (SLA) guarantees commercially reasonable efforts to produce Amazon EC2 and Amazon EBS monthly uptime percentages of at least 99.95%. Following industry-standard practices, SLA violations mean eligible customers receive service credits towards future invoices.

Dig Deeper on AWS infrastructure

App Architecture
Cloud Computing
Software Quality