- Why Change?
Discover the power of cloud cost intelligence.
Give engineering a cloud cost coach.
Learn more about CloudZero's pricing.
Request a demo to see CloudZero in action.
Learn more about CloudZero and who we are.
Got questions? We have answers.
Speak with our Cloud Cost Analysts and get the answers you need.Get in touch
How SeatGeek Decoded Its AWS Bill and Measured Cost Per CustomerRead customer story
Enable engineering to make cost-aware development decisions.
Give finance the context they need to make informed decisions.
Decentralize cloud cost and mature your FinOps program.
Discover the best cloud cost optimization content in the industry.
Browse helpful webinars, ebooks, and other useful resources.
Learn how we’ve helped happy customers like SeatGeek, Drift, Remitly, and more.
5 Tactical Ways To Align Engineering And Finance On Cloud SpendRead blog post
AWS instances are available in a multitude of capabilities. Learn more about each instance type and the best time to use each.
If you've heard that companies using AWS waste more than $10 billion a year, you might wonder how. That an organization might lose so much money is also easy to dismiss, especially when AWS usage can be reduced, right?
Well, it's not that simple. AWS offers a staggering amount of options — over 200 different services. Among them, Amazon Elastic Compute Cloud (EC2) provides a further 300 AWS instance types spread over five unique instance families.
If you find the decision to choose which family of AWS instances to use overwhelming, we understand and you’re not alone:
Just downsizing an instance by one size can reduce its cost by 50%, so being able to choose the right instance type and size is critical to enhanced cost optimization.
To help you make the best choice for your organization, this guide covers the different instance types in full detail, including when to use each and factors to consider when making a final decision.
Table Of Contents
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.
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.
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. C4, for example, refers to AWS instances in the fourth generation of the C family of AWS instances.
Instances on AWS are generally current generation. Additionally, there are low-cost alternatives that rely on older generation instances, including:
The latter option is a good option for workloads with low-performance requirements. You can still select the more energy-efficient types since they can save you money. What you need is a balanced provisioning strategy.
Let's look at the families and generations to which these letters belong now.
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:
The following is a brief overview of each instance family, including its features and typical and ideal use cases.
A general-purpose instance provides the right amount of processing power for a wide variety of scalable use cases:
AWS frequently adds new instances, so make it a routine to check back regularly to see if it has made any updates.
These types are ideal for intensive computing use cases, such as:
AWS made them more cost-effective even when used to perform intensive work. Even then, you need to learn how each generation and optimization differs. For example, like the T4g general-purpose instances, more modern and efficient AWS Graviton2 processors power C6g and C6gn compute-optimized instance types.
If you want large workloads running in memory without lag, you can use the R instance family. Think of memory-intensive data sets, such as those used in 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 R6g and X2gd family instances are the most efficient because they use AWS Graviton processors.
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:
Last but not least, we have the storage optimized family of AWS instances.
The instances in this family come with powerful Intel Xeon E5 processors, are EBS-optimized, and have Enhanced Networking so they can run workloads that require sequential read and write access to large data sets.
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.
When considering your AWS EC2 spending, instance families and generations are not the only factors to consider.
Here is a brief overview of what else you need to keep in mind.
Burstable performance instances provide a baseline level of CPU performance but let you “burst” above the baseline when your applications need to. Fixed performance instances, on the other hand, let you have consistently high CPU performance.
Small databases, web servers, and developer projects are some of the use cases that need bursts of fast processing but throttle down at other times. Whenever your T instances are idle, they accumulate credits in the CPU, so that when your applications need to burst more than 20% of a core, the CPU can use that credit balance.
For high-volume websites and video encoding, it's best to use the fixed-performance instance types.
All AWS instance types come in a myriad of sizes, including:
The size of an instance is typically one of the most important factors for instance pricing, and is described as follows:
The sizing is paired with an instance family, in this case, the M general-purpose AWS instance type. There are other factors at play here, which we'll discuss in a moment.
There are three 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.
EBS-optimized instances help EC2 instances to use the IOPS provisioned on an EBS volume fully. They offer dedicated throughput for your EC2 instances and Amazon EBS volumes (500-4,000 Mbps), ensuring the best performance of your EBS volumes.
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. Otherwise, you will be billed by the hour whenever you use one of your EBS-optimized instances with another EC2 instance.
EC2 is not the only service whose instances are worth considering. AWS Relational Database Storage (Amazon RDA) also offers three kinds of instances based on memory requirements and processing power:
There are multiple sizes of RDS instances, just like Amazon EC2 instances. So, you'll want to rightsize them as well to avoid exceeding your AWS monthly budget.
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 their prices frequently, so you'll need to keep checking back. So, here's how Amazon's EC2 prices work:
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 EC2 customers access Amazon EC2 spare capacity for up to a tenth of the ON-DEMAND instance price.
Prices depend on how many unused instances there are 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.
However, AWS can take back the instances within a two-minute notice if they choose. The good news is you can pause and resume your work later.
You can commit to a specific monthly spend instead of an instance family when you choose the Amazon Savings Plan.
You can also use the Savings Plan you commit to with other instances on AWS, Lambda functions, or Fargate.
Dedicated hosts provide you a dedicated EC2 server.
Here, the physical EC2 server is dedicated to your use. You can purchase the plan On-Demand. Or, you can buy it as a 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.
Perhaps the fairest of the four is Per Second Billing as you only pay for what you use.
Rather than paying for every hour that your instances run using On-Demand billing, Per-Second Billing doesn't charge you for the seconds or minutes your instances are idle.
We hope that this overview of AWS instance types helps you choose which ones are right for your computing needs. Yet, we understand how confusing and difficult a choice this can be.
We designed CloudZero to help you make sense of your complicated cloud spend and AWS bill. By pulling insights from multiple AWS services, and other sources such as Kubernetes and Snowflake, CloudZero enables you to distinguish between instances, so you can tell where your AWS spending is going. .