Link Search Menu Expand Document

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

  1. Instance Types
  2. Example 1
  3. Example 2
  4. Example 3
  5. Next Steps

Example 1

You have a client that needs a general purpose EC2 server for their web application. They need something with burstable performance, which means they need something that provides a baseline level of CPU performance with the ability to burst to higher levels occasionally. Their application needs at least 16 GIB of memory and 4 vCPUs. They haven’t given you any other parameters, other than that they’d like the save 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.

instance-type-1

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.

instance-type-2

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?

instance-type-3

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 need hardware accelerators for their software to run smoothly. They need something optimized for graphics-intensive applications and 3D visualizations. They need at least 16 vCPUs and 4 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.

example-2

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.

example-2-2

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 a lot of memory to perform these analytic tasks. They want to spend the least amount of money possible, even though they need at least 32 vCPUs and 256 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!

  1. We know they need something that is Memory Optimized, and that they are performing real time big data analytics.
  2. Of the Memory Optimized instance types, only the Rs say anything about real time data processing, so we know it must be one of them.
  3. We also know they want to spend the least amount of money they can.
  4. Reading the descriptions, we see that the R6g delivers 40% better price performance over the R5.
  5. Investigating each in turn shows that later generations get more performant and cheaper. This means R6g is the way to go.
  6. Lastly, we see we must go with the r6g.8xlarge because it has the minimum vCPUs and GIB 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.