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.
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!
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.
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.
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
ebmgn6e. We'll explain how to interpret these crazy-looking names a little later on.
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.
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.
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.
We offer two types of FPGA instances,
f3. What's the difference?
f1instances have Intel® Arria® 10 GX 1150 FPGAs installed
f3instances 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
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:
g: this is a general purpose instance with a balanced CPU:Memory ratio
c: this is a compute-optimized instance with a higher CPU:Memory ratio (more CPU cores per GB of RAM)
r: this is a memory-optimized instance with a lower CPU:Memory ratio (lots more RAM)
i: this instance has local disks with high I/O performance, good for databases or online data analysis
d: this instance has local disks with high throughput and low cost-per-GB, good for offline data analysis
ebm: this is a bare metal instance, with no virtualization software installed
hfappears in the name: this instance has a high-clock-speed CPU
aappears in the name, as in
g6a: this instance uses an AMD CPU (not yet available on alibabacloud.com, but coming soon!)
eappears in the name: this instance is "enhanced" (better network and disk performance)
neappears in the name: this instance is "network enhanced" (better network performance)
seappears in the name: this instance is "storage enhanced" (better storage performance)
tappears 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
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:
g = General-purpose type
7 = 7th Generation
a = AMD CPU
So, this is a 7th Generation, general-purpose ECS instance with an AMD CPU.
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:
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!
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!
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.
Great! Reach out to me at
firstname.lastname@example.org 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.
JDP - August 12, 2021
JDP - April 16, 2021
JDP - August 27, 2021
JDP - April 23, 2021
JDP - December 30, 2021
JDP - June 2, 2022
Alibaba Cloud provides beginners and programmers with online course about cloud computing and big data certification including machine learning, Devops, big data analysis and networking.Learn More
Powerful parallel computing capabilities based on GPU technology.Learn More
An elastic and horizontally scalable high-performance computing service providing the same computing performance as traditional physical servers including physical isolation.Learn More
An online computing service that offers elastic and secure virtual cloud servers to cater all your cloud hosting needs.Learn More
More Posts by JDP