Table of contents
During the re:Invent keynotes, AWS highlighted that AWS now has ~475 instance types. How do you find your way among so many instance types? How do you interpret new instance types with long names such as "X2iedn" and "Is4gen"? In this blog post, I'll give an overview of recent instance types and visualize how the newly introduced instances fit in.
Disclaimer: This blog post is my personal opinion, does not represent my employer. It is in no way complete or comprehensive and likely outdated soon after publication. For complete and accurate documentation, please refer to the official EC2 documentation.
I'll divide the instance types into four main sections:
- AWS Graviton
- Specialized Compute
1. Graviton Based Instance Types
Let's start with my favorite instance types: AWS Graviton. Graviton is the brand name for AWS custom silicon based on the Arm processor architecture. AWS first introduced Graviton1 during re:Invent 2018, quickly followed by the much more powerful Graviton2 at re:Invent 2019.
Graviton2 instances typically give up to 40% better price-performance than comparable X86 based instances at the time of their introduction. Arm based architectures are particularly suitable for cloud-native scale out workloads written in languages that can easily be ported or recompiled from X86 to Arm such as Python, Golang, Java, .Net, Rust, NodeJS and many more.
Since re:Invent 2019, AWS has gradually increased the coverage of Graviton based instances across the spectrum of instance types. Here is an overview of recent Graviton based instances with the newly released instance types in green and ones in preview highlighted in purple:
Preview: New Graviton3 based C7g instances
By far the biggest announcement of 2021 is the Preview release of a new generation of Graviton instances. Graviton3 promises up to 25% better compute performance compared to Graviton2. It doubles performance for floating point and cryptographic operations and performs up to 3x better on machine learning workloads. It is the first in the cloud instance types featuring DDR5 memory which gives 50% extra bandwidth. And last but not least, for the first time, AWS shared that Graviton3 instances have 60% lower energy consumption compared to similar X86 instances.
This preview announcement shows that Graviton has a promising future! Since most software is written in languages that easily compile and run on Arm based processors, I'd encourage you to adopt Graviton as the default platform for running your workloads. Particularly new workloads: make sure you build them on Graviton from the start!
SSD Storage Optimised Graviton2 instances
While Graviton3 promises an exciting future, the existing Graviton2 processors continue to excite with new instance types delivering great price-performance today already. The local storage optimized instance types made their way to Graviton this re:Invent:
The new Im4gn and Is4gen instances are storage optimized and based on the new AWS Nitro SSDs optimized with up to 60% lower latency and 75% less variability in latency. Both instance types offer up to 30TB storage capacity.
What does this subcategory "m" mean in Im4gn? Think of the M-category meaning General Purpose, or an equivalent memory-to-vCPU ratio of 4 : 1. Im4gn gives up to 40% better price performance and up to 44% lower cost per TB compared to I3 instances.
Now, there is no S-category instance types. As a mnemonic, think of "s" as "six", meaning a memory-to-vCPU ratio of 6 : 1. Then the letter "e" can be thought of as "extra capacity". What extra capacity? That depends on the instance type. This is a storage-optimized instance so "e" means extra storage in this context. Now, I can hear you think: "don't Im4gn and Is4gen both go up to 30TB?" The difference is that Is4gen reaches 30TB already at the 8xlarge size whereas Im4gn gets there at the 16xlarge size. Is4gen instances give 15% lower cost per TB and 48% better compute performance compared to I3en instances.
Liz Fong-Jones from Honeycomb has been a consistent early adopter of Graviton2 instances. Here is what she has to say about the new Im4gn and Is4gen instances:
Read the full thread on Twitter for more data points, details and context.
GPU-optimized Graviton2 instances (G5g)
Graviton also made its way to GPU optimized instances with the new G5g instance type, featuring a combination of Graviton2 with NVIDIA T4G Tensor Core GPUs:
The new G5g offers up to 30% lower cost per stream for Android game streaming and can be used as a cost-effective instance type for machine leaning inference in models that are sensitive to CPU performance.
2. AMD Based Instance Types
Within the context of EC2, AMD-based instances are known to give ~10% lower cost compared to Intel based instances. Here is an overview of AMD-based instances on AWS:
Next Generation AMD General Purpose Instances
With re:Invent 2021, AMD is making its way to the next generation instances as well with the new M6a general purpose instances:
M6a instances are powered by the 3rd generation AMD EPYC (Milan) processors delivering up to 35% better price-performance compared to M5a instances and continuing their 10% cost advantage over Intel instances. For scale-up workloads, M6a offers two new instance sizes: 32xlarge and 48xlarge.
A key highlight is that M6a instances are SAP certified. In the previous generation, only C5a instances were SAP certified but not the M5a/R5a instances. Since SAP is known to be memory-hungry, the C5a instances were of limited value in that context. The addition of M6a instances gives SAP customers more options to save 10% cost!
3. Intel Based Instance Types
In the context of Intel, the newly introduced instance types are pre-announcements. Some of them are rather exciting and relevant in case you are planning to make big decisions in the area of SAP in the near future so let's have a look at them.
Here's an overview of the Intel landscape on AWS:
In the newest instance types, you see the letter "i" added after the generation number. This indicates that Intel is no longer considered the de-facto-standard or default instance type. Instead, it is one of three processor options available on a platform that puts the choice in the hands of customers. Still, as you can see above, Intel has the broadest spectrum of instance types and variants available today. No other platform has high-frequency instances, or HDD-based storage optimized instances or block-storage optimized R5 instances. These are real differentiators for workloads with specific requirements.
Pre-announcement: Next Generation (Extra) High Memory
For years, customers had high memory and extra high memory options with the X1 and X1e instance types - most often used for SAP HANA. I am pleased to see the announcement of a new set of (extra) high memory options that are fully modernised Nitro-based instances:
X2idn instances give a 16 : 1 memory-to-vCPU ratio and up to 50% better price performance compared to X1. It comes with local instance storage and up to 100Gbps network bandwidth.
In the context of High Memory instances, the additional "e" in the instance type name means "extra memory". As a result, X2iedn give a 32 : 1 memory-to-vCPU ratio with up to 4TB of RAM and up to 50% better price performance compared to X1. This instance type too comes with local storage and up to 100Gbps network bandwidth.
X2iezn is a bit different from the previous two. Where the first two are targeting SAP HANA in particular, X2iezn is optimized for memory-intensive electronic design automation workloads. The "z" in the instance type indicates a High-Frequency processor, offering an all-core turbo frequency up to 4.5Ghz. The largest instance has 1.5TB memory. This instance type offers up to 55% better price performance compared to X1e.
Pre-announcement: Next Generation Local Storage (SSD) Optimized
Finally, I4i instances will allow Intel to follow in the footsteps of Graviton2 leveraging Nitro SSD in a similar way, offering up to 30% better compute price performance than I3 instances and offering up to 30 TB of local NVMe storage.
4. Specialized Compute
Finally, we have a category of instance types that do not fit well in the Graviton / AMD / Intel bucket for a variety of reasons. These are instance types for specific purposes with only one processor option available. Here is an overview:
Preview: M1 Based Mac2 macOS instances
At re:Invent 2020, AWS introduced the first generation macOS instances, still based on Intel X86 processors. Apple had recently introduced their M1 custom silicon but it was still too early and too short a time frame to bring these to EC2.
Now available in preview: new Mac2 instances that are based on Apple's M1 processor. Practically, this means there is a 2nd flavor Arm processor on EC2 but for very specific purposes. Typically used for iOS / macOS development and CI/CD pipelines.
Preview: AWS Trainium Instances for Deep Learning Training
At re:Invent 2020, AWS pre-announced the AWS Trainium custom silicon chips, purpose-built for Deep Learning. This year, AWS Trainium based Trn1 instances are available for preview:
Trn1 instances come with up to 800Gbps network throughput - which makes them particularly suitable for high-performance compute clusters. When deployed in EC2 UltraClusters, Trn1 can be scaled to tens of thousands of accelerators. Trn1 UltraClusters are 2.5x larger than previous generation EC2 UltraClusters.
Conclusion: Lots of choices across a broad spectrum!
When AWS, AMD and Intel are competing for the best price-performance, the customer wins! AWS gives you the choice to select the best performing processor at the lowest cost for any workload. And with the new announcements from re:Invent 2021 the options further broadened.
Keep in mind: some of these are previews, pre-announcements and for others, it may be early days. Allow some time for new instance types to come to a region near you. Looking forward to an exciting future with more and faster processors!