Cloud admins must choose the right instance type to ensure high performance at the lowest possible cost. Amazon EC2 offers a wide range of instance families and types, which are grouped into broad categories.
Within those families, certain EC2 instance types -- including the compute-optimized C6g, C6gd and C6gn instances; the general-purpose M6g, M6gd and T4g instances; and the memory-optimized R6g and R6gd instances -- are powered by the latest generation of AWS Graviton processors, called AWS Graviton2.
To choose the right AWS Graviton2 instance types, consider their unique capabilities and then map those capabilities to workload requirements.
The evolution of Graviton processors
Released in 2020, AWS Graviton2 processors are based on 64-bit Arm Neoverse cores. Unlike the commercially available processors from Intel, AMD and Nvidia that power other EC2 instance types, the Graviton2 processors are Arm-based and custom-built by AWS.
These processors are designed to deliver more efficient compute capabilities in terms of power consumption, parallel processing and overall cost. These advantages are acknowledged by other cloud vendors, such as Oracle, which rolled out Arm-based cloud instances in May 2021.
AWS unveiled the first-generation AWS Graviton processors in 2018, and they powered the cloud provider's general-purpose A1 EC2 instances. The more recent AWS Graviton2-powered instances support a wider range of options, from general-purpose instances to ones that are optimized for memory- or compute-intensive workloads.
This gives developers more flexibility to choose more combinations of vCPU and memory and find the right EC2 instance type for a particular application.
Select the right instance type
The different categories of AWS Graviton2 instance types include:
- General purpose. Some applications require a balanced distribution of compute and CPU. These apps are typically a good fit for general purpose M6g instance types.
- Memory optimized. These are well suited to data analysis software, or other applications that use significant in-memory caching and database engines.
- Compute optimized. These are best for compute-intensive applications, such as web servers, gaming, content processing and machine learning.
Specialized instance types
For more specialized use cases, such as machine learning inference, consider options such as EC2 Inf1 instances, which are based on AWS Inferentia processors. While these instances might be better suited for specialized machine learning applications, their hourly cost is higher than equivalent C6g instances. However, the performance benefits of Inf1 instances could offset the additional cost.
Execute load tests to evaluate an application's specific needs for compute, memory, storage and networking, and identify the right mix of resources.
Before migrating to the latest generation of Graviton instances, perform thorough functional tests for each application and make sure there are no OS, library or agent incompatibilities. Graviton processors are compatible with existing operating systems available in EC2 Amazon Machine Images, such as Amazon Linux 2, Red Hat Enterprise Linux, Ubuntu, Debian and SUSE, but Graviton EC2 instances do not support Windows as an OS or components written on x86 architecture.
Graviton2-based instances are available in a range of AWS offerings, including Amazon Elastic Kubernetes Service, Relational Database Service and OpenSearch Service (formerly Elasticsearch Service). Performance is expected to be higher than previous-generation instances, so IT teams supporting large clusters might be able to achieve the same level of customer experience with fewer servers, which is a more cost-effective model. Application owners should prioritize cost or performance when choosing the right amount of Graviton processors.