Instance Types
Lesson 6
Just like you have different options when you buy a laptop for the size, the power, the memory, the ram, etc, you have options when choosing an EC2 instance from AWS. In AWS, these options are determined by the instance type
you choose for you EC2 server. Every client and project will have different needs, and you are not expected to know all of the types available. You will only be responsible for being able to choose the best instance type for what your client needs. You can find all of AWS’ instance types listed out here.
Let’s look at a couple of examples for some hands-on learning. Don’t try to remember everything right now! Just follow along and get a feel for the information!
Table of contents
Example 1
You have a client that needs a
general purpose
EC2 server for theirweb application
. They need something withburstable
performance, which means they need something that provides a baseline level of CPU performance with the ability toburst
to higher levels occasionally. Their application needs at least16 GIB of memory
and4 vCPUs
. They haven’t given you any other parameters, other than that they’d like thesave the most money
they can.
If you search through AWS’ instance types, the first thing you should notice is that there are many categories
for EC2 instances, from General Purpose
to Compute Optimized
to Memory Optimized
, etc.
Based on what our client needs in this example, we should look in the General Purpose
category for an instance that fits our needs. In the General Purpose
section, there are many tabs that specify more specific types of instances. We need a type with burstable
performance. Clicking through the tabs (A1
, T4g
, T3
, T3a
, etc) we need something that has burstable
in the description.
There are three types that fit our needs: T3
, T3a
, and T2
. At the bottom of the instance box (underneath the table) is a Use Cases
section. Reading through all of the Use Cases
for these three types, we can land on T2
as being the best fit for our client, because they need to host a web application
on their EC2 instance.
Lastly, we know our client needs at least 16 GIB of memory
and 4 vCPUs
. Looking at the table of EC2 instances, which Instance
could fit our client’s needs?
We see from the table that the t2.xlarge
instance type would fit our client’s needs for a web application!
Example 2
You have another client that needs an EC2 instance to run a
3D graphics processing
software they built themselves. They don’t have a need for a lot of memory and needhardware accelerators
for their software to run smoothly. They need somethingoptimized for graphics-intensive applications
and3D visualizations
. They need at least16 vCPUs
and4 GIB of memory
.
Try this one out yourself by used the keywords/phrases in the example to go search through AWS’ instance types. Read on for the solution.
First, we know that the category will not be General Purpose
, as this client has a custom, graphics-heavy software. We also know they need hardware accelerators
and, clicking through the instance type categories we should find that the only one with hardware accelerators
is Accelerated Computing
.
Now, we need to investigate the Use Cases
and description
sections of the different types of Accelerated Computing
instances. After viewing them all, we should notice that only two types, G4
and G3
are optimized for graphics-intensive
workloads. Upon further investigation into both, we should note that only G3
mentions anything about 3D graphics
.
Lastly, our client has said their software needs at least 16 vCPUs
and 4 GIB of memory
. Only one G4
instance type fits this, the g3.4xlarge
. (While there are larges types that would also work, a good rule of thumb is to save the client the most money, when possible).
Example 3
You just got a new client that needs to perform
real time, big data analytics
on a lot of information. They know they will need alot of memory
to perform these analytic tasks. They want to spend the least amount of money possible, even though they need at least32 vCPUs
and256 GIB of memory
.
Try this one on your own first! If you need help, you can expand the Solution
below.
Solution
Not a lot of information is given from this client, but there is enough!
- We know they need something that is
Memory Optimized
, and that they are performingreal time big data analytics
. - Of the
Memory Optimized
instance types, only theRs
say anything aboutreal time data processing
, so we know it must be one of them. - We also know they want to spend the least amount of money they can.
- Reading the descriptions, we see that the
R6g
delivers40% better price performance
over theR5
. - Investigating each in turn shows that later generations get more performant and cheaper. This means
R6g
is the way to go. - Lastly, we see we must go with the
r6g.8xlarge
because it has the minimumvCPUs
andGIB memory
our client needs for their data analytics.
That’s it!
Next Steps
You’ve now learned a little bit about the types of EC2 instances available! This lesson does not have an option to redo it, but you can read the client descriptions again and try to figure out what instance type the client should use without viewing the given answers.
Don’t worry if you don’t understand all of this yet - you are not expected to memorize instance types! You do need to begin to understand how to navigate through AWS’ list of instance types to determine the right fit for your client. The more building you do, the better understanding you’ll have of this, so don’t worry if it’s not sticking just yet!
Go ahead and move on to the next lesson, Everything Else EC2.