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.
Application Load Balancer vs. Classic Load Balancer
What is an Elastic Load Balancer? This post covers basics of what an Elastic Load Balancer is, and two of its examples: Application Load Balancers and Classic Load Balancers. For additional information — including a comparison that explains Network Load Balancers — check out our post o...
Advantages and Disadvantages of Microservices Architecture
What are microservices? Let's start our discussion by setting a foundation of what microservices are. Microservices are a way of breaking large software projects into loosely coupled modules, which communicate with each other through simple Application Programming Interfaces (APIs). ...
Kubernetes Services: AWS vs. Azure vs. Google Cloud
Kubernetes is a popular open-source container orchestration platform that allows us to deploy and manage multi-container applications at scale. Businesses are rapidly adopting this revolutionary technology to modernize their applications. Cloud service providers — such as Amazon Web Ser...
AWS Internet of Things (IoT): The 3 Services You Need to Know
The Internet of Things (IoT) embeds technology into any physical thing to enable never-before-seen levels of connectivity. IoT is revolutionizing industries and creating many new market opportunities. Cloud services play an important role in enabling deployment of IoT solutions that min...
Which Certifications Should I Get?
As we mentioned in an earlier post, the old AWS slogan, “Cloud is the new normal” is indeed a reality today. Really, cloud has been the new normal for a while now and getting credentials has become an increasingly effective way to quickly showcase your abilities to recruiters and compan...
How to Go Serverless Like a Pro
So, no servers? Yeah, I checked and there are definitely no servers. Well...the cloud service providers do need servers to host and run the code, but we don’t have to worry about it. Which operating system to use, how and when to run the instances, the scalability, and all the arch...
AWS Security: Bastion Hosts, NAT instances and VPC Peering
Effective security requires close control over your data and resources. Bastion hosts, NAT instances, and VPC peering can help you secure your AWS infrastructure. Welcome to part four of my AWS Security overview. In part three, we looked at network security at the subnet level. This ti...
Top 13 Amazon Virtual Private Cloud (VPC) Best Practices
Amazon Virtual Private Cloud (VPC) brings a host of advantages to the table, including static private IP addresses, Elastic Network Interfaces, secure bastion host setup, DHCP options, Advanced Network Access Control, predictable internal IP ranges, VPN connectivity, movement of interna...
Big Changes to the AWS Certification Exams
With AWS re:Invent 2019 just around the corner, we can expect some early announcements to trickle through with upcoming features and services. However, AWS has just announced some big changes to their certification exams. So what’s changing and what’s new? There is a brand NEW ...
New on Cloud Academy: ITIL® 4, Microsoft 365 Tenant, Jenkins, TOGAF® 9.1, and more
At Cloud Academy, we're always striving to make improvements to our training platform. Based on your feedback, we released some new features to help make it easier for you to continue studying. These new features allow you to: Remove content from “Continue Studying” section Disc...
AWS Security Groups: Instance Level Security
Instance security requires that you fully understand AWS security groups, along with patching responsibility, key pairs, and various tenancy options. As a precursor to this post, you should have a thorough understanding of the AWS Shared Responsibility Model before moving onto discussi...
Cloud Migration Risks & Benefits
If you’re like most businesses, you already have at least one workload running in the cloud. However, that doesn’t mean that cloud migration is right for everyone. While cloud environments are generally scalable, reliable, and highly available, those won’t be the only considerations dri...