Amazon EC2 Container Service and Elastic Beanstalk: Docker on AWS
Technology keeps moving. In just a few years, we've gone from servers running on dedicated hardware, through virtualization, and then cloud computi...Learn More
Until recently, it was easy to select instance types within Amazon AWS. They offered several instance types that were different primarily in a linear fashion. In other words, if you needed to add processing power, you choose an instance type that had more ECUs, storage, and memory. Today, AWS has launched numerous families of instances aimed at helping you optimize particular functionalities. Each instance type has one or many instance sizes, which helps when scaling your resources to meet the needs of your workload. However, it makes it a little more difficult to decide which instance type to use. In this post, we’ll take a closer look at the AWS EC2 instance types.
T2 are Burstable Performance Instances that offer a baseline level of CPU performance with the capability to burst above the baseline. The ability to burst and baseline performance are directed by CPU Credits. Every T2 instance regularly gets CPU Credits at an established rate that is based on the size of the instance. These instances accrue CPU Credits as and when they become idle, and utilize the CPU credits as and when they become active. These instances are a better option for workloads that do not require the full CPU consistently but rarely requires bursting. These instances are suitable for general purpose workloads like developer environments, small databases, and web servers.
M4 instances are the most recent general purpose instances. The M4 family of instances offers a balance of memory, network, and compute resources, and it is a better option for several applications. They have custom Intel Xeon E5-2676 v3 Haswell processors that are optimized explicitly for EC2. The clock rate for these instances can be in the range of 2.4 GHz to 3.0 GHz with the aid of Intel Turbo Boost.
M4 instances also provide Enhanced Networking that gives up to four times the packet rate of instances without Enhanced Networking, while guaranteeing reliable latency, even under high network I/O. When inside the placement groups, the Enhanced Networking decreases the average latencies among instances by 50 percent or even more. By default, these instances are EBS-Optimized and have a devoted network capacity for Input/Output operations.
M4 instances types:
The M3 instance type offers a balance of memory, network, and compute resources. These instances are for general purpose virtual machines, and most of the EC2 instances belong to this category.
M3 instances are suitable for mid-size and small databases, data processing jobs that require extra memory, running backend servers for SAP, cluster computing, Microsoft SharePoint, and several other applications.
These instances are recent additions to the compute-optimized instances that feature maximum performance processors with the lowest compute/price performance in EC2 Instance types. These instances are suitable for compute-bound applications that derive advantage from high-performance processors. C4 instances are ideal for media transcoding, Massively Multiplayer gaming servers, high traffic web servers, batch processing workloads, and high-performance computing.
C4 instances are dependent on custom 2.9 GHz Intel Xeon E5-2666 v3 processors, which are specifically optimized for EC2. The Intel Turbo Boost Technology helps clock speed of the C4 instances to touch 3.5Ghz with 1 or 2 core Turbo Boost onc4.8xlarge instances.
C4 instances types:
When compared to C1, C3 instances offer much faster processors with about twice the memory per SSD-based and vCPU instance storage. These instances are suitable for applications that derive advantage from a large amount of compute capacity for memory and are best-fitted for high performing web servers, and several compute-intensive applications.
Compute-optimized instances are a recent introduction from AWS. The instances are intended to provide maximum performance at an affordable price. They have per-core performance, which beats those offered by any of the AWS EC2 instance types, with a price-performance ratio that would be the best fit for compute-intensive workloads.
C3 instances types:
These instances are best suited for enterprise-class, large-scale, in-memory applications and offer the lowest price for each GiB of RAM among AWS EC2 instance types. The X1 instances are the latest addition to the EC2 memory-optimized instance group and are intended for executing high-scale, in-memory databases and in-memory applications over the AWS cloud. These instances provide 1,952 GiB of DDR4 based memory, eight times the memory provided by any of the AWS EC2 instances. They are powered by 4 Intel® Xeon® E7 8880 v3 processors and provide 128 vCPUs.
Compared to other Amazon EC2 instances, these offer the lowest price for each GiB of RAM and are best suited for executing in-memory databases such as SAP HANA, other big data processing engines such as Presto or Apache Spark, and HPC (High-Performance Computing) applications. These instances are SAP certified for running production environments of the next-generation Business Suite on HANA (SoH), Business Suite S/4HANA, Business Warehouse on HANA (BW), and Data Mart Solutions on HANA on the AWS cloud.
R3 instances are well-equipped for running on memory-intensive applications and are less expensive for each GiB of RAM. These instances offer greater I/O performance, constant memory bandwidth, support for reduced latency, lower jitter, and maximum packet per second performance and support for EBS optimization. They are suitable for applications that require maximum memory performance with a high price point for each GB of RAM.
These instances are best suited for in-memory analytics and high-performance databases, including NoSQL databases and relational databases like MemcacheD/Redis and MongoDB applications. These instances support HVM (Hardware Virtualization) Amazon Machine Images only.
G2 instances are well-suited for general purpose and graphics GPU compute applications. They belong to a GPU-powered family and offer molecular modeling, machine learning, rendering, transcoding jobs, and game streaming, which require enormous amounts of similar processing power. These instances provide a high performing NVIDIA GPU with 4GB of video memory and 1,536 CUDA cores, which makes them suitable for 3D visualizations, video creation services, and graphics-intensive applications. The NVIDIA GRID GPU contains committed, hardware-accelerated video encoding that produces H.264 video stream, which may be displayed on any device with a well-suited video codec. These instances are suitable for 3D application streaming and other GPU compute workloads.
I2 instances are high storage instances that offer fast SSD-backed instance storage, which is best for high random Input/Output performance and provide maximum IOPS at the lowest cost. The primary data storage in such instances is SSD-based instance storage. As with all other instance storage, these volumes continue for the life of the instance. When terminating and stopping an instance, the applications, as well as the data that is stored in the instance store, are wiped out. It is recommended to make back-ups at regular intervals or replicate the data that has been stored in the instance storage. These instances support SSD volumes with TRIM. The user can activate the TRIM command to notify the SSD controller when the data is no longer required. This offers the controller much more available free space that could decrease write amplification while increasing performance.
These instances offer up to 48 TB of HDD-based storage, providing huge disk throughput and offering the lowest price for each disk throughput performance on AWS EC2. D2 instances are intended for workloads that need greater sequential write and read access to larger data sets on local storage. They are best-suited for MPP (Massive Parallel Processing) data warehouses, Hadoop, MapReduce distributed computing, and data or log processing computing.
By default, these instances are EBS-optimized and offer a dedicated block storage throughput for AWS EBS, which ranges from 750 Mbps up to 4,000 Mbps free of charge. These EBS-optimized instances allow you to regularly achieve maximum performance for EBS volumes by reducing contention among network traffic and Amazon EBS I/O from the D2 instance.
Amazon EC2 offers a large number of alternatives across several instance types. Each offers different size options, which are organized into separate families that are enhanced for different applications. As a starting point for testing application performance, we recommend that you first evaluate the needs of your applications. To assess application performance, it is best to begin by recognizing the application requirements on the different instance families. Then, you can size the workload to identify the suitable instance size. Take a look at our Labs on how to create your first Amazon EC2 Instance for more information on EC2 Instances and assess your skills in EC2.
Security in AWS is governed by a shared responsibility model where both vendor and subscriber have various operational responsibilities. AWS assumes responsibility for the underlying infrastructure, hardware, virtualization layer, facilities, and staff while the subscriber organization ...
Is it possible to create an S3 FTP file backup/transfer solution, minimizing associated file storage and capacity planning administration headache?FTP (File Transfer Protocol) is a fast and convenient way to transfer large files over the Internet. You might, at some point, have conf...
Microservices are a way of breaking large software projects into loosely coupled modules, which communicate with each other through simple Application Programming Interfaces (APIs).Microservices have become increasingly popular over the past few years. The modular architectural style,...
There are many use cases for tags, but what are the best practices for tagging AWS resources? In order for your organization to effectively manage resources (and your monthly AWS bill), you need to implement and adopt a thoughtful tagging strategy that makes sense for your business. The...
Amazon S3 is the most common storage options for many organizations, being object storage it is used for a wide variety of data types, from the smallest objects to huge datasets. All in all, Amazon S3 is a great service to store a wide scope of data types in a highly available and resil...
One of the main promises of cloud computing is access to nearly endless capacity. However, it doesn’t come cheap. With the introduction of Spot Instances for Amazon Web Services’ Elastic Compute Cloud (AWS EC2) in 2009, spot instances have been a way for major cloud providers to sell sp...
A Comparison of Machine Learning Services on AWS, Azure, and Google CloudArtificial intelligence and machine learning are steadily making their way into enterprise applications in areas such as customer support, fraud detection, and business intelligence. There is every reason to beli...
The AWS Command Line Interface (CLI) is for managing your AWS services from a terminal session on your own client, allowing you to control and configure multiple AWS services.So you’ve been using AWS for awhile and finally feel comfortable clicking your way through all the services....
Thousands of cloud practitioners descended on Chicago’s McCormick Place West last week to hear the latest updates around Amazon Web Services (AWS). While a typical hot and humid summer made its presence known outside, attendees inside basked in the comfort of air conditioning to hone th...
Containers can help fragment monoliths into logical, easier to use workloads. The AWS Summit New York was held on July 17 and Cloud Academy sponsored my trip to the event. As someone who covers enterprise cloud technologies and services, the recent Amazon Web Services event was an insig...
If you’re building applications on the AWS cloud or looking to get started in cloud computing, certification is a way to build deep knowledge in key services unique to the AWS platform. AWS currently offers nine certifications that cover the major cloud roles including Solutions Archite...
If you want to deliver digital services of any kind, you’ll need to compute resources including CPU, memory, storage, and network connectivity. Which resources you choose for your delivery, cloud-based or local, is up to you. But you’ll definitely want to do your homework first.Cloud ...