Table Of Contents
What Are AWS Instances? AWS Instance Families: What Are the Different Types Of AWS Instances? When Should You Use Each Instance Type? What Factors To Consider When Choosing The Right AWS Instance Types For Your Needs How To Choose The Best AWS Instances For Your Needs With CloudZero

You might wonder how companies using Amazon Web Services waste more than $10 billion a year. It’s easy to ask, “why don’t they just reduce their spending?”

Well, it’s because there’s more to it than that. AWS offers a staggering amount of options — over 200 different services, for example. Among those, Amazon Elastic Compute Cloud (EC2) provides a further 300 AWS instance types spread over five unique instance families.

It’s understandable if you find choosing which AWS instance family to use overwhelming. You are not alone either.

Yet, downsizing an instance by one size can reduce its cost by 50%, which is why choosing the right instance size and type is critical to optimizing your AWS costs.

The purpose of this guide is to help you decide which instance type is right for your organization, including when to use each and what factors you should consider.

Table Of Contents

What Are AWS Instances?

An AWS instance is a virtual machine on the AWS platform you can use to run cloud-based applications. So, instead of buying a physical computer or server, you can use the cloud-based environment instead. Renting computing capacity from AWS can improve your costs, time-to-market, and time-to-benefit.

Instances differ in terms of CPU, RAM (memory), storage, and networking power they offer. This is especially true with Amazon EC2.   

The instances are virtualized, so you can dynamically increase or decrease the computing capacity to match the peak and off-peak demands your company generates. It is this auto-scaling feature that gives EC2 its name “Elastic”. EC2 is the most commonly used compute service on AWS, but there are 12 others as well.   

The amount you pay will depend on the type of instance you use on AWS. 

finops-automation-series-thumbnails

AWS Instance Families: What Are the Different Types Of AWS Instances?

We mentioned instances are basically virtual servers. As with any virtual server, AWS instances run on a host machine. AWS offers nearly limitless virtual host machines with various computing resources (CPU, RAM, storage, and bandwidth). 

Different instances have different levels of computing resources, so some are better suited to specific workloads than others. AWS instances are grouped into different families. You can usually recognize instance types by observing their names, which comprise a letter, number, and sometimes an extra letter. 

What do the letters and numbers on AWS instances mean? 

The first letter is usually capitalized and tells what family the AWS instance belongs to. It’s followed by a numeral that tells what generation the instance belongs to. Family characteristics vary, as do generation characteristics. A small-cap letter after that number usually shows how AWS optimized that instance type.

The letters include A, B, C, D, E, F, G, H, M, P, R, T, and X. AWS instance generations range from 1 to 6. For example, C4 refers to AWS instances in the fourth generation of the C family of AWS instances.

Instances on AWS are generally current generation. In addition, there are low-cost alternatives that rely on older generation instances. These include:

AWS Instance Type

Sizes Available

A1

a1.medium; a1.large; a1.xlarge, a1.2xlarge, a1.4xlarge. a1.metal

C1

c1.medium; c1.xlarge

C3

c3.large; c3.xlarge; c3.2xlarge; c3.4xlarge; c3.8xlarge

G2

g2.2xlarge; g2.8xlarge

I2

i2.xlarge; i2.2xlarge; i2.4xlarge; i2.8xlarge

M1

m1.small; m1.medium; m1.large; m1.xlarge

M2

m2.xlarge; m2.2xlarge; m2.4xlarge

M3

m3.medium; m3.large; m3.xlarge; m3.2xlarge

R3

r3.large; r3.xlarge; r3.2xlarge; r3.4xlarge; r3.8xlarge

T1

t1.micro

The latter option is a good option for workloads with low-performance requirements. You can still select the more energy-efficient types to save you money. What you need is a balanced provisioning strategy, though.

Let’s look at the families and generations to which these letters belong so you can tell how to balance your options.

When Should You Use Each Instance Type?

There are five different types of instance types available in AWS. The name of each instance family describes its recommended use case, as shown below: 

  • General Purpose
  • Compute Optimized
  • Memory Optimized
  • Accelerated Computing
  • Storage Optimized

The following is a brief overview of each instance family, including its features and typical and ideal use cases.

1. General Purpose AWS Instances (Mac, T4g, T3, T3a, T2, M7g, M6g, M6i, M6in, M6a, M5, M5a, M5n, M5zn, M4, A1)

A general-purpose instance provides a balanced amount of processing power for a wide variety of scalable use cases:

  • A (a1.medium, a1.large, a1.xlarge, a1.2xlarge, a1.4xlarge, a1.metal) – The Arm-based instances use AWS Graviton processors, are EBS-optimized (which is a high-performance block storage offering), and support Enhanced Networking (up to 10Gbps network bandwidth).
  • Mac (mac1.metal, mac2.metal) – Are available on the AWS Nitro System, and Apple’s Mac mini computers power them. They are ideal for handling all kinds of Apple-based OS workloads on the Xcode IDE.
  • T (T4g, T3, T3a, T2) – Support burstable mode to handle higher CPU usage at any time and for as long as you need. Each T-instance generation offers unique features. In particular, the T4g general-purpose instance type uses AWS Graviton2 processors, which are 40% more efficient than T3 processors. T instances are ideal for web development, testing, and microservices projects.
  • M (M7g, M6g, M6i, M6in, M6a, M5, M5n, M5zn, M5a, M4) – M instances are suitable for small and medium-sized databases and enterprise applications like cluster computing and robust data processing. M3, M2, and M1 instances belong to the older generation. M7g are the latest generation, and offer the best price-performance of any M general purpose instance right now.

Check back regularly to see if Amazon has added any new instances, since it frequently does.

2. Compute Optimized AWS Instances (C7g, C7gn, C6i, C6in, C6a, C6g, C6gn, C5, C5n, C5a, C4 )

These types are ideal for intensive computing use cases, such as:

  • High-performance web servers
  • Media transcoding
  • Scientific modeling
  • Dedicated ad and gaming servers
  • Batch processing workloads

AWS made them more cost-effective even when performing intensive tasks. It is still important to learn how each generation and optimization differs. As an example, like T4g general-purpose instances, C6g and C6gn compute-optimized instances are powered by AWS Graviton2 processors.

3. Memory Optimized AWS Instances (z1d, High-memory, X1, X1e, X2gd, X2idn, X2iedn, X2iezn, R5, R5a, R5b, R5n, R6g, R6i, R6in, R6a, R7g, R7iz)

The R instance family is suitable for running large workloads in memory without lag. Think of memory-intensive data sets, such as those used for data mining, analytics, and similar applications.

The X instance family supports high-performance databases, such as HANA and SAP, for large big data processing and enterprise-grade databases with in-memory databases.

Again, each memory-optimized type is unique. Z1d instances, for example, are the fastest of all cloud instances, while R7 memory optimized instances deliver the best overall price-performance ratio in their class using AWS Graviton3 processors.

4. Accelerated Computing AWS Instances (Vt1, F1, G3, G4ad, G4dn, G5, G5g, Inf1, Inf2, Trn1, DL1, P2, P3, P4)

You can get sustained high-performance from this instance family, which is much better than what is possible with software running on CPUs. To support this, the instance family uses hardware accelerators.

The following are the ideal use cases for each of these instance families:

  • P – These are the most powerful of the bunch, capable of handling operations such as machine learning, seismic analysis, and speech recognition.
  • DL – They feature Gaudi accelerators and are suitable for training deep learning models. They also deliver up to 40% better price-performance than comparable GPU-based instances.
  • Trn – With their AWS Trainium chips, these instances are ideal for high-performance deep learning training and deliver 50% better price-performance over comparable instances on AWS.
  • G – These instances are perfect for graphics-intensive applications, including 3D rendering, video encoding, and app streaming.
  • F – Select this option if you need hardware acceleration for big data analysis, financial analytics, real-time video processing, and genomics research.
  • Inf – These instances are ideal for baseline machine learning operations.
  • Vt1 – These are ideal for live transcoding video at up to 4K UHD resolutions at a low cost

In addition, there are AWS instances that are storage optimized.

5. Storage Optimized AWS Instances (H1, D2, D3, D3en, I3, I3en, I4g, I4i, Is4gen, Im4gn)

The instances in this family come with powerful Intel Xeon E5 processors, are EBS-optimized, and have Enhanced Networking. That means they can efficiently run workloads that require sequential read and write access to large data sets.

  • D – Have large volumes of persistent storage (48 Terabytes per instance) and offer hard-drive-based backups.
  • H1 – This option offers high disk throughput and 16 Terabytes of hard drive storage.
  • I3 – These instances leverage Non-Volatile Memory express (NVMe) SSD-based storage to handle low-latency, high-sequence, and random I/O needs.

In general, storage-optimized instance families are best suited for big data processing clusters, MapReduce workloads, and distributed file systems such as MapR-FS and HDFS.

6. High Performamce Computing (HPC) Optimized Instances (Hpc6id, Hpc6a)

AWS designed HPC instances to deliver the highest price-performance ratio when running HPC workloads at scale. Complex simulations and deep learning workloads that require high-performance processors are ideal use cases for HPC instances.

Hpc6id instances are ideal for data-intensive and memory-bound high-performance computing projects, including finite element analysis (FEA) for crash simulations, structural simulations, and seismic reservoir simulations. Only the 32xlarge size is available.

Hpc6a instances are built for tight-coupled, compute-intensive, and high-performance computing jobs — and cost-efficiently so. Such use cases include computational fluid dynamics, weather forecasting, and molecular dynamics. AWS also designed them for workloads that benefit from improved network throughput along with packet-rate performance. Only the 48xlarge size is available.

Yet, instance families, types, and generations are not the only factors to consider when considering your Amazon EC2 costs.

We’ve outlined a few other things you’ll want to keep in mind.

What Factors To Consider When Choosing The Right AWS Instance Types For Your Needs

Fixed vs. Burstable performance instances; What to know

Instances with burstable performance provide a baseline level of CPU performance, but allow your applications to perform above that baseline when necessary. With baseline performance, you can keep your costs as low as possible, while Burstable Mode enables your system to handle increased load without crashing. Meanwhile, fixed performance instances provide consistent CPU performance.

Some use cases need fast processing for short bursts, but then throttle back at other times, like small databases and web servers. If your T instances are idle, they accumulate CPU credits, which can be used by the CPU when your applications burst more than 20% of a core.

If you’re encoding videos and creating high-volume websites, you’ll want to use a fixed-performance instance type.

What are the available AWS instance sizes?

AWS instance types come in a range of sizes, including:

  • Nano
  • Micro
  • Small
  • Medium
  • Large
  • XLarge
  • 2XLarge
  • 4XLarge
  • 6XLarge
  • 8XLarge
  • 16XLarge
  • 32XLarge

The size of an instance affects its pricing. Consider this:

aws instances

The sizing is paired with an instance family, in this case, the M general-purpose AWS instance type. Yet there are other factors at play here, including the following.

AWS Instance Chipsets

There are three main types of processing cores you will find on AWS: Intel Xeon, AWS Graviton, and AMD EPYC. Among the many features of Intel processors are Turbo Boost and Advanced Vector extensions.

The Graviton2 processors from AWS, however, are 40% more efficient than previous generations. If you have ARM-based workloads, AMD EPYC processors are designed for you.

However, AWS is actively adding different types of processors in the fold, including Gaudo accelerators by Intel’s Habana Labs and AWS’ own Tritanium instances for training deep learning models.

EBS-Optimized Instances

EBS-optimized instances enable EC2 instances to fully use the IOPS provisioned on an EBS volume. They offer dedicated throughput for your EC2 instances and Amazon EBS volumes (500-4,000 Mbps), ensuring that your EBS volumes are performing at their greatest potential.

If you use D2, G3, P2, R6g, C4, C5, C6, M4, M5, and M6g, you get EBS-enabled instances by default, at no extra charges. Your EBS-optimized instances will be billed by the hour if you use them with other EC2 instances.

AWS Relational Database Storage (Amazon RDS) Instances

Aside from Amazon EC2, there are other AWS services with instances worth considering. AWS Relational Database Storage (Amazon RDA) also offers three kinds of instances based on memory requirements and processing power:

  • General Purpose (db.M4, db.M5, db.M6g)
  • Memory Optimized (db.R4, db.R5, db.R6g, db.X1, db.X1e, db.z1d)
  • Burstable (db.T2, db.T3)

There are multiple sizes of RDS instances, much like Amazon EC2 instances. So you’ll need to rightsize them as well in order not to exceed your AWS budget.

What about AWS instance prices?

Amazon EC2 offers four paid pricing tiers and a free trial. The free trial requires you to use only AWS Micro instances, with no more than 750 hours of Linux or Windows t2.micro instances.

If you’re using paid instances, AWS updates its prices frequently, so you’ll need to keep checking its official Amazon EC2 instance pricing page.

As a pointer, here’s how Amazon EC2 pricing works:

On-Demand Instances allow you to scale up or down your compute resources according to your application’s needs.

You may also pay by the hour or per second, so you are not bound by a usage threshold. Just keep in mind that EC2 instances are always running, so until you end them, AWS will continue to charge you per hour or by the second.

This pricing option might be suitable if you have apps that use unpredictable amounts of resources at different times.

Spot Instances let you access Amazon EC2 surplus capacity for up to a tenth of the On-Demand instance cost.

Prices depend on how many unused instances AWS has and how much demand there is for them. They are also usually available during off-peak hours, so you’d need to run your instances at these times to take advantage.

If AWS chooses, it can take back the instances with only a two-minute notice. The good news is you can pause and resume your work later. Better yet, you can choose to use spot instances only with fault-tolerant workloads. Or, you can use a spot instance optimization tool like Xosphere, to automatically move your workloads between spot and on-demand instances whenever they are available at a reasonable price and vice versa.

With an Amazon Savings Plan, you can commit to a specific monthly spending amount rather than to using a particular instance family or type — in exchange for committed use discounts of up to 72% off the On-Demand rate.

Also, you can use your Savings Plan instances with other AWS compute services, including AWS Lambda functions and AWS Fargate.

Dedicated hosts provide you with a dedicated EC2 server.

In this case, you have exclusive use of the physical EC2 server. You can purchase the plan On-Demand. Or, you can buy it in the form of an AWS Reservation for up to 70% off the price of the On-Demand plan. If you are concerned about maintaining compliance, this could be your best plan.

Per Second Billing may be the fairest of the four as you only pay for what you use.

Unlike On-Demand billing, Per-Second billing doesn’t charge you for the seconds or minutes your instances are idle.

How To Choose The Best AWS Instances For Your Needs With CloudZero

Now that we’ve covered the different AWS instance types in detail, you can tell instances are not made equal. Yet, choosing the right AWS instances for your application requirements can still feel overwhelming considering all the options available; instance families, types, and sizes.

We get it. That’s why we built CloudZero Advisor.

CloudZero Advisor is a handy, easy-to-use tool for finding the most suitable AWS instances for your workload. It does this by empowering you to choose your ideal pool of instances based on criteria such as AWS service, region, budget, instance type and size, as well resource type.

cloudzero advisor instances

If you want to truly understand your cloud costs after that, CloudZero collects, analyzes, and shares granular cost insights — more than traditional cost tools. As examples:

  • With CloudZero, you can also collect and report the costs of untagged, untaggable, and shared resources across multiple tenants. No more endless tagging.
  • The CloudZero platform breaks down data into immediately actionable insights, such as costs per customer, per feature, per service, per environment, per team, per Kubernetes namespace label, and per project.
  • View your cost of goods sold (COGS) to determine if you are running on a healthy SaaS gross margin.
  • To avoid surprise costs, CloudZero detects cost anomalies in real-time and sends you timely alerts.
  • CloudZero AnyCost enables you to compare, combine, and act on your multi-cloud costs; AWS, GCP, Azure, Kubernetes, Snowflake, MongoDB, Databricks, New Relic, Datadog, and other cloud costs all in one place.

Yet, reading about CloudZero is nothing like experiencing the platform in action for yourself. and you’ll see why customers like Drift (saved $2.4 million), Remitly, and Malwarebytes use CloudZero.

The Modern Guide To Managing Cloud Costs

Traditional cost management is broken. Here's how to fix it.

Modern Cost Management Guide