Amazon Web Services’ resource offerings are constantly changing, and staying on top of their evolution can be a challenge. Elastic Cloud Compute (EC2) instances are one of their core resource offerings, and they form the backbone of most cloud deployments. EC2 instances provide you with customizable and scalable server options. Let’s deconstruct the current AWS offerings as of April 2019 in order to best understand the EC2 offerings that are currently available.
EC2 Instances — And Their Prices — Are Constantly Improving
In general, EC2 instance types — their broad categories of specialization — have remained the same, but the specific models and sizes within each category evolve pretty quickly, so it’s important to remain informed. The main reason for this is because generational improvements within instance types result in both more powerful offerings and lower cost, so you need to be aware that what may be top-of-the-line one year can change quickly. Depending on your budget and workload, this understanding can inform your Reserve Instance purchasing, leaning you towards 1-year or Flexible RI offerings.
EC2 Instance Type Breakdown
A Quick Summary
EC2 instances come in the following categories:
- General Purpose: The most popular; used for web servers, development environments, etc.
- Compute Optimized: Good for compute-intensive applications such as some scientific modeling or high-performance web servers.
- Memory Optimized: Used for anything that needs memory-intensive applications, such as real-time big data analytics, or running Hadoop or Spark.
- Accelerated Computing: Include additional hardware (GPUs, FPGAs) to provide massive amounts of parallel processing for tasks such as graphics processing.
- Storage Optimized: Ideal for tasks that require huge amounts of storage, specifically with sequential read-writes, such as log processing.
Details by EC2 Instance Type
Type: General Purpose
General Purpose instances are the most widely used and are a good first step if you’re new to AWS or cloud computing in general. They offer a great mix of cost and functionality, with their typical use being geared towards web servers, running development environments for your mobile or gaming apps, and running enterprise applications such as CRMs and ERPs. You’ll find that one of the main distinctions within this class is between instances with Fixed vs. Burstable performance. With Burstable performance EC2s, you’ll have the ability to quickly scale up your compute power — at a price.
General Purpose: A1
A1 instances are general use but differentiate themselves by being an ARM-based offering, as opposed to Intel or AMD. As such, this platform will appeal more to the ARM development community and to applications that already run open source software such as Java and Python and the multiple architectures these tend to support.
General Purpose: M5
M5 instances run on Intel Xeon processors and are thus suited to developing on the x86 architecture. They offer higher compute, memory, and network performance when compared to the A1.
M5 instances are great for development and test environments as well as web servers. They also offer support for Intel AVX-512, a set of CPU instructions that benefits the processing of encryption algorithms, so these instances are a great choice when security is important while not affecting performance.
General Purpose: T3 and T3a
T3 and T3a are respectively the Intel and AMD offerings of Burstable performance instances. Burstable performance instances are great if you want a cheaper and slightly less powerful offering than a fixed performance instance (like an M5), but you still want the option to be able to scale up your compute quickly to handle workloads, hence the “bursts” in power.
These bursts of power don’t come for free — they’re handled by CPU credits. In general, when you are not running at maximum processing power, you earn CPU credits. The amount you earn depends on the time at a low threshold and the size of your instance. When you need to burst up, these credits are spent.
Type: Compute Optimized
Compute Optimized: C5
C5 instances are ideal for applications where you prioritize raw compute power, such as gaming servers, scientific modeling, high-performance web servers, and media transcoding. C5 instances run on Intel Xeon Platinum processors and are benchmarked at 25% faster than previous-generation C4 instances — a clear example of the benefits of generational improvement in cloud resources.
Type: Memory Optimized
Memory Optimized: R5 & R5a
R5 and R5a are respectively the Intel and AMD offerings of “regular” memory optimized instances. These instances are ideal for memory intensive applications such as real-time big data analytics, large in-memory caches, and high-performance databases. The R5 and R5a instances benefit from the AWS Nitro System, which gives you access to almost all of the compute and memory resources of a server (i.e. allocating as little as possible to the OS). This optimization allows for lower cost when compared on a per-GiB basis to competitors.
Memory Optimized: X1 & X1e
X1 and X1e instances are optimized to provide a high ratio of memory to compute with the X1e family delivering the highest memory to compute ratio among EC2 offerings. These instances are used for the highest need memory-intensive applications such as SAP HANA, providing a strong foundation for real-time applications.
Memory Optimized: High Memory instances
High Memory instances have the greatest amount of available RAM, providing 6 TB, 9 TB, or 12 TB of memory in a single instance. Like X1/X1e, these are suited to production deployments of hugely memory intensive, real-time databases such as SAP HANA.
An important caveat with High Memory instances is that they are only available on Dedicated Hosts on a 3-year Reservation. This means that you will need to commit to a 3-year purchase, but you will get the security benefit of being on a host that is dedicated, i.e. you’ll have your own server to yourself and will not share resources as AWS does with other offerings.
Type: Accelerated Computing
Accelerated Computing: P3, G3, F1
Accelerated Computing instances use separate Graphical Processing Units (GPUs) or Field Programmable Gate Arrays (FPGAs) to optimize for specialized tasks such as graphics processing or floating-point number calculations. The instance offerings are:
- P3: These are the general GPU offerings, good for machine learning and offering robust parallel processing abilities.
- G3: These are the GPU offerings that are specialized for graphics-intensive tasks such as rendering, encoding, and streaming.
- F1: These are instances that offer FPGAs for accelerated processing. You can leverage the FPGAs multiple ways over time for different enhancements, and all this is aided by custom FPGA-specific AMIs (called AFIs) that offer quicker deployment and development options compared to conventional FPGAs.
Type: Storage Optimized
Storage Optimized: H1 & D2
H1 and D2 instances are part of the Dense storage offerings that provide high sequential read-writes for large data sets, such as in distributed Hadoop deployments. H1 and D2 instances provide immense storage on HDD, with H1 providing a maximum of 16 TB and D2 providing a maximum of 48 TB.
Storage Optimized: I3
I3 instances offer storage on SSD with a maximum of just under 16 GiB. However, these instances provide lower latency than HDD-based storage and also offer AWS Nitro System for optimized access to memory and computer resources (also called “Bare Metal” access).
Getting Real Experience With EC2
The breadth and complexity of AWS’ EC2 types can be overwhelming. It’s helpful to visit AWS’ own EC2 page to stay informed throughout the year new instances are added. If you haven’t had hands-on experience, there are resources to help you get started: Cloud Academy’s Labs are a safe, sandboxed environment where you can get real experience with EC2 instances without the risk of making changes (and sometimes costly changes) in a live environment. Once you get comfortable with EC2s, you’ll be able to quickly progress towards adding complementary resources and networking infrastructure to deploy your own environment.
Real-Time Application Monitoring with Amazon Kinesis
Amazon Kinesis is a real-time data streaming service that makes it easy to collect, process, and analyze data so you can get quick insights and react as fast as possible to new information. With Amazon Kinesis you can ingest real-time data such as application logs, website clickstre...
Google Vision vs. Amazon Rekognition: A Vendor-Neutral Comparison
Google Cloud Vision and Amazon Rekognition offer a broad spectrum of solutions, some of which are comparable in terms of functional details, quality, performance, and costs. This post is a fact-based comparative analysis on Google Vision vs. Amazon Rekognition and will focus on the tech...
New on Cloud Academy: CISSP, AWS, Azure, & DevOps Labs, Python for Beginners, and more…
As Hurricane Dorian intensifies, it looks like Floridians across the entire state might have to hunker down for another big one. If you've gone through a hurricane, you know that preparing for one is no joke. You'll need a survival kit with plenty of water, flashlights, batteries, and n...
Amazon Route 53: Why You Should Consider DNS Migration
What Amazon Route 53 brings to the DNS table Amazon Route 53 is a highly available and scalable Domain Name System (DNS) service offered by AWS. It is named by the TCP or UDP port 53, which is where DNS server requests are addressed. Like any DNS service, Route 53 handles domain regist...
How to Unlock Complimentary Access to Cloud Academy
Are you looking to get trained or certified on AWS, Azure, Google Cloud Platform, DevOps, Cloud Security, Python, Java, or another technical skill? Then you'll want to mark your calendars for August 23, 2019. Starting Friday at 12:00 a.m. PDT (3:00 a.m. EDT), Cloud Academy is offering c...
What Exactly Is a Cloud Architect and How Do You Become One?
One of the buzzwords surrounding the cloud that I'm sure you've heard is "Cloud Architect." In this article, I will outline my understanding of what a cloud architect does and I'll analyze the skills and certifications necessary to become one. I will also list some of the types of jobs ...
Boto: Using Python to Automate AWS Services
Boto allows you to write scripts to automate things like starting AWS EC2 instances Boto is a Python package that provides programmatic connectivity to Amazon Web Services (AWS). AWS offers a range of services for dynamically scaling servers including the core compute service, Elastic...
Content Roadmap: AZ-500, ITIL 4, MS-100, Google Cloud Associate Engineer, and More
Last month, Cloud Academy joined forces with QA, the UK’s largest B2B skills provider, and it put us in an excellent position to solve a massive skills gap problem. As a result of this collaboration, you will see our training library grow with additions from QA’s massive catalog of 500+...
DevSecOps: How to Secure DevOps Environments
Security has been a friction point when discussing DevOps. This stems from the assumption that DevOps teams move too fast to handle security concerns. This makes sense if Information Security (InfoSec) is separate from the DevOps value stream, or if development velocity exceeds the band...
Test Your Cloud Knowledge on AWS, Azure, or Google Cloud Platform
Cloud skills are in demand | In today's digital era, employers are constantly seeking skilled professionals with working knowledge of AWS, Azure, and Google Cloud Platform. According to the 2019 Trends in Cloud Transformation report by 451 Research: Business and IT transformations re...
Disadvantages of Cloud Computing
If you want to deliver digital services of any kind, you’ll need to estimate all types of resources, not the least of which are 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...
Google Cloud vs AWS: A Comparison (or can they be compared?)
The "Google Cloud vs AWS" argument used to be a common discussion among our members, but is this still really a thing? You may already know that there are three major players in the public cloud platforms arena: Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP)...