Blog

Amazon EC2 Instance Comparison

  • (5.0)

Amazon EC2 Instance Types Introduction:

This section of the article will provide you most of the needed information about the very popular Amazon EC2 cloud space. Amazon’s Elastic Compute Cloud (Amazon EC2) is an ecosystem that provides very much scalable computing capacity in the world of Amazon Web Services cloud, otherwise popularly known as the AWS cloud. With the use of Amazon’s EC2 cloud, it eliminates the very need of investing on the hardware front and lets you enable to develop and deploy applications much faster. Using Amazon’s EC2, we will be able to launch as many virtual servers as required or as few as the user requires without even have to bother about configuring security and networking. Managing storage can also be completely left over to Amazon’s EC2 cloud to calculate and inform us. Using Amazon’s EC2, it enables users to scale up the application or to scale down the application as per the changes in the application requirements. This further reduces your need to forecast the traffic.

Instance Family Current Generation Instance Types:

General purpose:

           t2.nano | t2.micro | t2.small | t2.medium | t2.large | t2.xlarge | t2.2xlarge | m3.medium | m3.large | m3.xlarge | m3.2xlarge | m4.large | m4.xlarge | m4.2xlarge | m4.4xlarge | m4.10xlarge | m4.16xlarge | m5.large | m5.xlarge | m5.2xlarge | m5.4xlarge | m5.12xlarge | m5.24xlarge
 
Compute optimized:
           c3.large | c3.xlarge | c3.2xlarge | c3.4xlarge | c3.8xlarge | c4.large | c4.xlarge | c4.2xlarge | c4.4xlarge | c4.8xlarge | c5.large | c5.xlarge | c5.2xlarge | c5.4xlarge | c5.9xlarge | c5.18xlarge
 
Memory optimized:
           r3.large | r3.xlarge | r3.2xlarge | r3.4xlarge | r3.8xlarge | r4.large | r4.xlarge | r4.2xlarge | r4.4xlarge | r4.8xlarge | r4.16xlarge | x1.16xlarge | x1.32xlarge | x1e.xlarge | x1e.2xlarge | x1e.4xlarge | x1e.8xlarge | x1e.16xlarge | x1e.32xlarge
 
Storage optimized:
           d2.xlarge | d2.2xlarge | d2.4xlarge | d2.8xlarge | h1.2xlarge | h1.4xlarge | h1.8xlarge | h1.16xlarge | i2.xlarge | i2.2xlarge | i2.4xlarge | i2.8xlarge | i3.large | i3.xlarge | i3.2xlarge | i3.4xlarge | i3.8xlarge | i3.16xlarge
 
Accelerated computing:
              f1.2xlarge | f1.16xlarge | g2.2xlarge | g2.8xlarge | g3.4xlarge | g3.8xlarge | g3.16xlarge | p2.xlarge | p2.8xlarge | p2.16xlarge | p3.2xlarge | p3.8xlarge | p3.16xlarge
 

General Purpose Amazon EC2 Instance Type:

Amazon has provided a wide range of Instance Types that can suite for various kinds of needs and requirements. Few of the General Purpose Amazon EC2 Instance types are listed below with their features and possible explanations of each of these instances for perfect usage scenario identification. Let us take a closer look at each and every one of them to understand these Instance types better:

* T2 Instances:
T2 instances are those instances where there is burstable performance provided through the baseline level of CPU performance and also with the ability to burst the bubble of baseline expectation. T2 instances are made to sustain very high CPU performances as long as these workloads require them. For most of the general purpose workloads, T2 Instances provide the much needed performances without any additional cost.

Alongside the pointers that are discussed about these Instance types, these are the features that you ought to know as well:
* High frequency Intel Xeon processors
* Burstable CPU, with CPU credits and also with consistent baseline performance
* Lowest level costs on the general purpose instance types and also free tier eligibility
* Balance between computational, memory and network resources

* M5 Instances:

The next available classification of Instance types under the General Purpose Instance types are the M5 Instances which are the latest generation of the General Purpose Instances. These Instances and the instances of this family provide the perfect balance amongst the Computational, memory and network resources – hence forms the ideal match for many applications.

Alongside the pointers that are discussed about these Instance types, these are the features that you ought to know as well:
* It hosts 2.5GHz Xeon Platinum 8175 processor with the latest Intel advanced Vector extension (AXV-512) instruction set
* Larger and newer instance sizes, m5.24xlarge with an offering of 96 vCPUs and 384GB memory
* EBS-optimized by default and also higher EBS performances on smaller instance sizes
* Provides up to 25GBps network bandwidth using enhanced networking
* It requires HVM AMIs to include drivers for ENA and NVMe
* These are powered by the new light-weight Nitro systems which are a combination of dedicated hardware and lightweight hypervisors.

* M4 Instances:

The next available classification of Instance types under the General Purpose Instance types are the M5 Instances which are the latest generation of the General Purpose Instances. These Instances provide the balance amongst the Computational, memory and network resources – hence the ideal match for many applications.

Alongside the pointers that are discussed about these Instance types, these are the features that you ought to know as well:
* Hosts a 2.3 GHz Intel Xeon® E5-2686 v4 (Broadwell) processors or 2.4 GHz Intel Xeon® E5-2676 v3 (Haswell) processor
* These Instances are EBS-optimized by default at no additional cost
* Provides support for Enhanced Networking
* Balance of compute, memory, and network resources

* M3 Instances:

This family includes the M3 instance types and provides a balance of compute, memory, and network resources, and it is a good choice for many applications. 

Alongside the pointers that are discussed about these Instance types, these are the features that you ought to know as well:
* A high frequency Intel Xeon E5-2670 v2 (Ivy Bridge) processor
* A SSD-based instance storage for faster I/O performance
* Balance of compute, memory, and network resources.

Inclined to build a profession as AWS Developer? Then here is the blog post on AWS Training Online.

Compute Optimized Amazon EC2 Instance Type:

After the General Purpose Amazon EC2 Instance types, comes the Compute optimized instances which are considered ideal for compute-bound applications. These benefit from the higher performance processors that it comes packed with and considering the same, following applications are the best suited ones to run on these Instance types:

* Batch processing workloads
* Media transcoding
* High performance web servers
* High performance computing (HPC)
* Scientific modeling
* Massively multiplayer online (MMO) gaming servers and ad serving engines
* Machine learning inference and other compute-intensive applications

Alongside the most suitable deployments on these Instance types, let us take a better look at the infrastructure that constitutes these as such:

                VPC Only EBS Only SSD Volumes Placement Group HVM Only Enhanced Networking
C3     Yes Yes   Intel 82599 VF
C4 Yes Yes   Yes Yes Intel 82500 VF
C5 Yes Yes   Yes Yes ENA

Having discussed about the Instance type in specific and also its deployment scenarios, let us go through some of the most important or the salient features of them as well (if not individually but all in together, as there are not much differences between the performances but only on the hardware side they are treated different). 

* Amongst the three classifications under the Compute Optimized Amazon EC2 Instance types, only C4 and C5 instances require 64-bit HVM AMIs. They have high-memory (up to 144 GiB of RAM), and require a 64-bit OS. HVM AMIs provide superior performance in comparison to para-virtual (PV) AMIs on high-memory instance types.
* Exclusively with the C5 Instance types, EBS volumes are exposed to the external world as NVMe block devices. These require EBS backed AMIs with NVMe and ENA drivers installed. Out of the bunch of available options, only the following meets these requirements:

* Amazon Linux 2014.03 and above

* Ubuntu 14.04 and above

* SUSE Linux Enterprise Server 12 and above

* Red Hat Enterprise Linux 7.4 and above

* CentOS 7 and above

* FreeBSD 11.1-RELEASE

* Windows Server 2012 R2

* Windows Server 2016

* Especially the C5 instances do provide support to a maximum number of 27 EBS volumes plus ENI attachments. 
* And last but not the least, specifically for the C5 instances – they should have acpid installed to support clean shutdown through API requests.

Memory Optimized Amazon EC2 Instance Type

After the first two sets of Amazon EC2 Instance types, next comes the Memory optimized instances that are designed to deliver the fastest performances for workloads that process large data sets in memory. In order to achieve this, there is a further classification of Amazon Instance types to cater specific needs and requirements of the customers.

* R4 Instances:

Blatantly, the R4 Instance types are best suited for the following set of applications:

* High performance relational or the RDBMS databases as like MySQL

* High performance NoSQL databases as like MongoDB, Cassandra

* Distributed web scale cache stores that provide in-memory caching of key-value type data (Memcached and Redis).

* In-memory databases using optimized data storage formats and analytics for business intelligence (SAP HANA can be considered one of the best examples in this category).

* Applications performing real-time processing of big unstructured data (financial services, Hadoop/Spark clusters).

* High-performance computing (HPC) applications

* Electronic Design Automation (EDA) applications

* X1 Instances:

X1 instances are best suited for the following sets of applications:

* In-memory databases as like SAP HANA

* Big-data processing engines as like Apache Spark or Presto

* High performance computing (HPC) applications

* X1e Instances:

X1e Instance types are best suited for the following sets of applications:

* In-memory databases such as SAP HANA

* Memory-intensive enterprise applications

* R3 Instances:

R3 instances are well suited for the following applications:

* High performance relational databases as like MySQL

* High performance NoSQL databases like MongoDB, Cassandra

* In-memory analytics.

* Genome assembly and analysis.

* Enterprise applications as like Microsoft SharePoint.

Following is the tabular forum that explains in detail about the features in a brief gist for the Memory Optimized Amazon EC2 instance types (though almost all the well suited applications look to be the same for almost all the instance types, the following table will provide you the best out of each of them):

             VPC Only EBS Only SSD Volumes Placement Group Enhanced Networking
R3     Yes Yes Intel 82599 VF
R4 Yes Yes   Yes ENA
X1 Yes   Yes Yes ENA
X1e Yes   Yes Yes ENA

Accelerated Optimized Amazon EC2 Instance Type:

The next kind of Amazon instances that we are going to take a look at are called the Accelerated Optimized Amazon EC2 instances or the Optimized GPU instances. These instances are best found to be used where you want to have high processing capabilities – as these provide with access to hardware based compute accelerators as Graphics Processing Units (GPUs) or Field Programmable Gate Arrays (FPGA). The Accelerated Optimized Amazon EC2 instances enable the parallel processing to the most, for higher throughputs on compute-intensive workloads.

The way these Amazon instances work are a bit different from the rest of the amazon instance types – accelerated computing instance families put to use their hardware accelerators or co-processors to the maximum use to provide and perform some functions as like the floating point number calculation or the graphics processing or even the data pattern matching. Based on the ways and the means that the instance families work, there is a broader classification that has been made for these instances, which we will be discussing further here:

* F1 Instances:

The classification under the Accelerated Optimized Amazon EC2 Instances, comes the first type – the F1 instances. These instances use the Xilinx UltraScale+ VU9P FPGAs (Field Programmable Gate Arrays) to provide the required acceleration in the computational power with the use of intensive algorithms (like the data-flow or highly parallel operations which are not generally suited for the general purpose CPUs). 

The developers can make use of the FPGA developer AMI and AWS hardware development kit to create and invent the custom hardware acceleration techniques for using on the F1 instances. These include the full-cycle FPGA development in the cloud and cloud alone. With the use of these tools, the developers can create and also share the Amazon FPGA images which can further be loaded into the other F1 instances.

* P3 Instances:

Coming to the next classification item under the Accelerated Optimized Amazon EC2 Instances, comes the P3 Instances which use NVIDIA Tesla V100 GPUs and are specifically designed for general purpose GPU computational needs using also CUDA or OpenCL programming models or machine learning framework. These P3 instances provide with the required higher bandwidths, networking, powerful half, single, double precision floating point capabilities and also 16GB memory per GPU. The configuration described above will be considered perfect or an ideal configuration for deep learning, computational fluid dynamics, computational finance, seismic analysis and so on and so forth.

Alongside the pointers mentioned as above, it is good to know the following as well:

* P3 Instances support enhanced networking with Elastic Network Adapter

* P3 Instances are EBS-Optimized by default

* P3 Instances support NVIDIA NVLink peer to peer transfers

* The p3.16xlarge instance type provides the ability to an operating system to control processor C-states and P-states.

* P2 Instances:

Coming to the next classification item under the Accelerated Optimized Amazon EC2 Instances, comes the P2 Instances which use NVIDIA Tesla K80 GPUs and are designed specifically for the general GPU computing using the CUDA or OpenCL programming models. These P2 Instances provide the highest possible bandwidth networking, powerful single and double precision floating point capabilities. Hosts a 12GB of memory per GPU to make them an ideal choice for deep learning, graph databases and also for high performance databases.

Alongside the pointers mentioned as above, it is good to know the following as well:

* P2 Instances support enhanced networking with Elastic Network Adapter

* P2 Instances are EBS optimized by default

* There are several GPU setting optimizations which can be applied to achieve better performances on P2 Instances

* P2 Instances support NVIDIA GPUDirect peer to peer transfers

* The p2.16xlarge Instance type provides the ability for an operating system to take control over the Control processor C-states and the P-states

* G3 Instances:

Coming to the next set of classification of the Accelerated Optimized Amazon EC2 Instances, comes the G3 Instances that come along with NVIDIA Tesla M60 GPUs that prove to cost effective, highly performing platform for Graphics applications using DirectX or OpenGL. These G3 Instances provide NVIDIA GRID Virtual Workstation related features as like support for 4 monitors with resolutions to the range of 4096 x 2160. The G3 Instances are pretty well suited for 3D Visualizations, graphics intensive remote workstations, 3D rendering, Video reality, video encoding and etc.

Alongside the pointers mentioned as above, it is good to know the following as well.

* G3 Instances support enhanced networking with the Elastic Network Adapter

* G3 Instances are EBS-optimized by default

* G3 instances provide their support to NVIDIA GRID Virtual Workstation and NVIDIA GRID Virtual applications as well

* There are pretty long list of GPU settings or optimizations that can be applied on the G3 Instances to provide best of the performance on them

* The g3.16xlarge Instance type also provides the most powerful ability for an OS to gain control over control processer C-states and P-states as well.

Storage Optimized Amazon EC2 Instance Type:

The next kind of Amazon instances that we are going to take a look at are called the Storage Optimized Instances. These Amazon instances are specifically designed to work with workloads which require the highest of the order of sequential read and write accesses to huge data sets on local storages. These are said to be optimized to deliver tons of thousands of low-latency and also random I/O operations per second to all the applications that are hosted upon these instances.
D2 instances which we are going to take a deeper look into, in the next section of the article are very well suited for the following kinds of applications:

*  Massive parallel processing data warehouse systems

MapReduce and Hadoop distributed computing systems

Log or data processing applications / systems

Apart from these, there can be two more types of instances that can be classified into this section of Amazon EC2 instances, namely H1 instances and the I3 instances. Let us take a closer look at each of these instances and also let us see what each of the instance types brings to the table:

As discussed, the H1 instances are very well suited for the following kinds of applications:

* Data intensive workloads that deal with the likes of MapReduce and distributed file systems

* Applications or systems that require sequential access to humongous loads of data on direct attached instance storage

* Applications or systems that require high throughput access again to the humongous quantities of data

On the other hand, the next kinds of Amazon instances – the I3 instances find its usage in these following scenarios:

* High frequency OLTP systems (Online Transaction Processing systems)

* The traditional relational databases

* The NoSQL databases

* Cache for in-memory databases (example, Redis)

* Data warehousing applications

* Low latency ad-tech serving applications

Following are the pointers denoting the storage optimized instances:

The following table shows that the primary storage of the I3 instances is basically on the non-volatile memory express (NVMe) SSD instance store volumes, whereas there is no such specification on the H1 instances. As per the table below, both the H1 and the I3 instances can be enabled with the enhanced networking abilities, which allows and provides significantly higher packet per second (PPS) performance, and hence lower network lags or latencies.

  VPC Only SSD Volumes Placement Group Enhanced Networking
H1 Instances Yes   Yes ENA
I3 Instances Yes NVMe Yes ENA

Dense Storage Amazon EC2 Instance Type:

There are innumerable customers out there in the current market, where there would be other AWS users who want to store or process humongous amounts of data in the cloud. The Dense storage amazon EC2 instances are specifically designed to cater needs of such customers who will to store and process huge amounts of data – by providing them with additional options for processing multi-terabyte data sets.

These new D2 instances are specifically designed to provide with the additional computational power and memory (when it is utmost required over the earlier generation of HS1 instances) and along with that they should be able to sustain higher rates of sequential hard disk I/O accesses to data sets. The instances are based on Intel Xeon E5-2676 v3 (code name Haswell) processors running at a base clock frequency of 2.4 GHz and come in four instance sizes as follows:

Instance Name vCPU Count RAM Instance Storage Network Performance Disk read-throughput Linux On-Demand Price
d2.xlarge 4 30.5GB 6TB Moderate 437 MBps $0.690
d2.2xlarge 8 61GB 12TB High 875 MBps $1.380
d2.4xlarge 16 122GB 24TB High 1750 MBps $2.760
d2.8xlarge 36 244GB 48TB High 3500 MBps $5.520

With all these features discussed, you can also launch multiple of these D2 instances in a placement group for high bandwidth low latency networking between the instances. Following are also the features that come along with the Amazon’s EC2 instances:

* Amazon EBS-Optimized by default

* Bringing power to the people

* Available worldwide now

* Storage

Related Article:  Complete AWS Marketplace User Guide

Conclusion:

In this article, we have very thoughtfully introduced the readers to the concepts of Amazon’s Elastic Compute Cloud (Amazon EC2) ecosystem and also have introduced you to various other factors that a user should be bothered about rather than what is the storage occupied or how is the networking provided or used – as all these statistics are all managed by Amazon’s EC2 ecosystem, thus relieving the end user off the overhead of maintaining the physical systems and hardware.

With all those discussed, we have also introduced to the many possible options of Amazon instances provided by the Amazon EC2 ecosystem. We have discussed about the features, advantages, disadvantages and also the pricing details about all these instances and their types. Hope the concepts are all clear and you were able to understand in the very first go, if you find any mistakes and if you feel that this needs to be improved further – please feel free to provide comments and we shall look into the same.

 

 

 


Popular Courses in 2018

Get Updates on Tech posts, Interview & Certification questions and training schedules