Amazon EC2 is the primary AWS web service that provides scalable computing capability in the cloud. This is the first part of a series of EC2 articles.
The calculation refers to the amount of computational energy needed to fulfill your workload. If your workload is very small, such as a site that receives few visitors, your computing needs are very small. A heavy workload, such as sorting millions of compounds against a common cancer target, may require a great deal of computing. The amount of computing you need can change drastically over time.
Amazon EC2 allows you to obtain computation through virtual servers called instances.
When you start an instance, you can make use of the calculation as you wish, just as you would with a local server. Because you’re paying for the computing power of the instance, you’re charged by the hour while the instance is running. When you stop the instance, you are no longer being charged.
There are two concepts that are critical for launching instances in AWS:
- The amount of virtual hardware dedicated to the instance
- The software loaded in the instance.
These two dimensions of new instances are controlled, respectively, by the instance type and the AMI.
The instance type defines the virtual hardware that an instance of Amazon EC2 supports.
There are dozens of instance types available, varying in the following dimensions:
- Virtual CPUs (vCPUs)
- Storage (size and type)
- Network performance
Instance types are grouped into families based on the relationship of these values ??to each other. For example, the m4 family provides a balance of computing, memory and network resources, and is a good choice for many applications.
Within each family, there are several options that scale linearly in size. The ratio of vCPUs to memory is constant as the sizes scale linearly. The price per hour for each size scale linearly as well. For example, an m4.xlarge instance costs twice as much as the m4.large instance.
Different families of instance types tilt the proportion to accommodate different types of workload, but all exhibit this linear scale behavior within the family.
Example of types of instance families:
- C4 Calculated optimized: for workloads that require significant processing
- r3 Optimized memory: For memory-intensive workloads
- i2 Enhanced Storage: For workloads that require high amounts of fast SSD storage
- g2 GPU-based instances: Intended for GPU and general-purpose GPU workloads
In response to customer demand and to take advantage of new processor technology, AWS occasionally introduces new instance families. Check the AWS website for the current list:
Another variable to consider when choosing an instance type is network performance. For most types of instances, AWS publishes a relative measure of network performance: low, moderate, or high. Some instance types specify 10 Gbps network performance. Network performance increases in a family as the instance type grows.
For workloads that require increased network performance, many instance types support the enhanced network. The enhanced network reduces the impact of virtualization on network performance by enabling a capability called Root I / O Virtualization (SR-IOV).
This results in more packets per second (PPS), lower latency and less jitter. At the time of writing, there are instance types that support enhanced networks in the C3, C4, D2, I2, M4, and R3 families (see the AWS documentation for a current list). Enhanced network activation in an instance involves ensuring that the correct drivers are installed and modifying an instance attribute.
The enhanced network is only available for instances created in the Amazon Virtual Private Cloud (Amazon VPC).
Amazon Machine Images – (AMIs)
Amazon Machine Image (AMI) defines the initial software that will be in an instance when it is created. An AMI defines all aspects of the state of the instance software, including:
- The operating system (OS) and its configuration
- The initial state of any patches
- Application or system software
All AMIs are based on x86, Linux, or Windows operating systems.
There are four sources of AMIs:
Published by AWS: AWS publishes AMIs with versions of many different operating systems, both Linux and Windows. These include multiple Linux distributions (including Ubuntu, Red Hat and Amazon’s own distribution), Windows 2008, and Windows 2012. Creating an instance based on one of these AMIs will result in the default OS settings, similar to installing an operating system from the default ISO O.S. image.
As with any operating system installation, you should immediately apply all appropriate patches after creation.
AWS Marketplace: AWS Marketplace is an online store that helps customers find, buy, and immediately begin using the software and services that run on Amazon EC2. Many AWS partners have made available their software in the AWS Marketplace. This offers two benefits: the client does not need to install the software and the license agreement is appropriate for the cloud.
Instances released from an AWS Marketplace AMI will incur the standard hourly cost of the instance type plus an additional hourly charge for the additional software (some Open Source AWS Marketplace packages have no additional software load).
Generated from existing instances: An AMI can be created from an existing Amazon EC2 instance. This is a very common source of AMIs. Customers launch a instance of a published MAI, and then the instance is configured to meet all corporate customer standards for upgrades, management, security, and so on. An AMI is then generated from the configured instance and used to generate all instances of that operating system.
In this way, all new instances follow the corporate standard and it is more difficult for individual projects to start non-standard instances.
Virtual servers loaded: Using the AWS VM Import / Export service, customers can create images of various virtualization formats, including raw, VHD, VMDK, and OVA. The current list of supported operating systems (Linux and Windows) can be found in the AWS documentation.
It is up to customers to remain in compliance with the licensing terms of their operating system vendor.