×
Community Blog Friday Blog - Week 19 - Choosing The Right ECS Instance Type

Friday Blog - Week 19 - Choosing The Right ECS Instance Type

Learn how to choose the right ECS instance type, no matter what kind of workload you're running. Or - if you've only got 2 minutes to spare - just con.

By Jeremy Pedersen

Hey guys! Welcome back for the 19th installment in our weekly blog series. Have you ever wondered how to choose the right ECS instance type? In this week's blog, we'll take a look at how to cut through the noise and choose the best instance type for your workload. We even made a handy chart! Let's dive in.

Choosing the right stuff

If you've been through Alibaba Cloud's ECS documentation, in particular the Instance families page, you've probably noticed that there are a lot of different ECS instance types.

Each is suited to a particular workload. There are instance types with high CPU:Memory ratios for compute-heavy tasks. There are instances with extra RAM for memory-heavy tasks. There are instances with GPU cards, instances with FPGAs attached, even instances with special network hardware.

So, how do you choose? We'll get into the details a little later, but for the TL;DR crowd, here's the chart!

choosing_ecs

Chart not big enough? You can get an even higher resolution copy here.

Still a little complex, but now it's not quite as bad, right? Let's break it down type-by-type and explain (briefly) the features that each instance family (type) offers.

Note: I did not include the t6 instance type. This is a low-cost instance type that's good for "bursty" workloads with low average CPU usage. If you want to run a CI/CD pipeline, build service, or do simple testing and development, then t6 is a good choice. Actually, if you are just experimenting with Alibaba Cloud, t6 may be your best choice! It's a great way to test things out, but not a great choice for high-load applications, so think about choosing another type like g6 when your usage starts to grow.

Dedicated Hardware

Some users have applications that need to be run in a private, isolated environment.

Sometimes, this is because of security or compliance requirements. Other times, it's to meet the terms of a commercial software license, or because a user wants to run their own virtualization software, like VMWare. Whatever the case, there are ECS instance types that can help.

Bare Metal

The Elastic Bare Metal or EBM instance type is designed for users that need direct access to the hardware, with no virtualization.

If you need to run your own virtualization tools, like VMWare or Microsoft's Hyper-V, EBM instances are a good choice.

EBM instances will have ebm at the beginning of their name. Common EBM instance types include ebmgn7 and ebmgn6e. We'll explain how to interpret these crazy-looking names a little later on.

Dedicated Host (DDH)

The Dedicated Host (often shortened to DDH) is an isolated physical machine that runs only your ECS instances. So technically speaking, DDH is not an ECS instance type: it's a dedicated server where you run ECS instances.

The DDH instance type you choose will determine what types of ECS instance you can launch on the DDH host.

You can learn more about DDH here. Dedicated Hosts are a good choice for users with strong security and isolation requirements, and for users who have stable, long-term workloads they want to run. This is because Dedicated Hosts let you overprovision CPU resources. Say your Dedicated Host has 128 vCPU cores. When creating VMs, you can treat the Dedicated Host as having - say - 256 vCPU cores instead. This way, you can launch 128 ECS VMs each with two vCPU cores. This is a great way to lower your cost-per-ECS-VM, if your ECS VMs have low average CPU utilization.

Special Hardware

Some applications call for special hardware. Graphics and Machine Learning applications need GPU hardware. Blockchain, compression, and transcoding applications sometimes need FPGAs. Alibaba Cloud has ECS instance families that offer several different types of GPU and FPGA hardware.

GPU instances

Need a GPU? Look for any instance with gn at the start of the instance name. These are the GPU-equipped instances. These instances will have access to one or more NVIDIA GPU cards installed.

If the instance name starts with vgn, this means the instance has a "virtualized" GPU. These types of instances give you access to 1/2, 1/4, or 1/8th of the capacity of the installed GPU. These types give you more affordable access to GPU hardware, for lightweight applications.

Look at the chart above for a breakdown on when to choose which type. You can find GPU-type instances offering NVIDIA T4, P4, and P100 GPUs.

FPGA Instances

We offer two types of FPGA instances, f1 and f3. What's the difference?

  1. f1 instances have Intel® Arria® 10 GX 1150 FPGAs installed
  2. f3 instances have Xilinx 16nm Virtex UltraScale+ VU9P FPGAs installed

I only list f3 instances in the chart (above) because this is by far the more popular type. But if you're an Intel person, you can always choose the f1 type!

Everything Else (Intel and AMD x86)

If you don't need special-purpose GPU or FPGA hardware, or a dedicated hardware environment, then you can choose from one of the many many standard x86 instance families. But how can you choose? It's all in the name. Taking a close look at the name of an instance will tell you a lot about what it's designed for:

  1. Instance name starts with g: this is a general purpose instance with a balanced CPU:Memory ratio
  2. Instance name starts with c: this is a compute-optimized instance with a higher CPU:Memory ratio (more CPU cores per GB of RAM)
  3. Instance name starts with r: this is a memory-optimized instance with a lower CPU:Memory ratio (lots more RAM)
  4. Instance name starts with i: this instance has local disks with high I/O performance, good for databases or online data analysis
  5. Instance name starts with d: this instance has local disks with high throughput and low cost-per-GB, good for offline data analysis
  6. Instance name starts with ebm: this is a bare metal instance, with no virtualization software installed
  7. hf appears in the name: this instance has a high-clock-speed CPU
  8. a appears in the name, as in g6a: this instance uses an AMD CPU (not yet available on alibabacloud.com, but coming soon!)
  9. e appears in the name: this instance is "enhanced" (better network and disk performance)
  10. ne appears in the name: this instance is "network enhanced" (better network performance)
  11. seappears in the name: this instance is "storage enhanced" (better storage performance)
  12. t appears at the end of the name, as in g6t: this instance has TPM (Trusted Platform Module) security support

Instances will also have a number in their name, such as 5, 6, or 7. This is the instance's generation number. Higher is better: higher generation numbers indicate newer hardware.

Let's try out our new knowledge on a couple of different instance famillies:

  1. g7a

g = General-purpose type
7 = 7th Generation
a = AMD CPU

So, this is a 7th Generation, general-purpose ECS instance with an AMD CPU.

  1. ebmc6a

ebm = Bare Metal
c = Compute-optimized type
6 = 6th Generation
a = AMD CPU

This is a 6th Generation, compute-optimized EBM (Bare Metal) ECS instance, with an AMD CPU.

Getting it? Great! Let's try two more:

  1. hfr7

hf = High CPU clock speed
r = Memory-optimized type (more RAM per CPU core)
7 = 7th Generation

So this is a 7th Generation, memory-optimized instance with a high frequency CPU. Since there is no a in the name, we know it's an Intel CPU.

Ok, last one!

  1. ebmgn6e

ebm = Bare Metal
gn = GPU-equipped
6 = 6th Generation
e = enhanced (better network/disk performance)

So this is a 6th Generation, GPU-equipped Bare Metal instance with enhanced network and disk performance. Whew!

Wrapping it up

This should be enough to get you started down the path to becoming an ECS-choosing wizard! Use the knowledge wisely.

One important thing to keep in mind as you embark on your cloud journey: one of the best things about the cloud is that you can try things out before making a major commitment. If you're not sure what type of instance will run your workload best, try out several different type first, using the Pay-As-You-Go billing mode, then switch to Subscription or Reserved Instance (RI) billing later, when you're sure you've chosen the right type. This will ensure better cost-savings over the long term.

I've Got A Question!

Great! Reach out to me at jierui.pjr@alibabacloud.com and I'll do my best to answer in a future Friday Q&A blog.

You can also follow the Alibaba Cloud Academy LinkedIn Page. We'll re-post these blogs there each Friday.

Not a LinkedIn person? We're also on Twitter and YouTube.

0 0 0
Share on

JDP

71 posts | 157 followers

You may also like

Comments

JDP

71 posts | 157 followers

Related Products