Instance Types and Families
Start course

In this course, you'll learn what Elastic Compute Service (ECS) is, how to use it, and what makes Alibaba Cloud's new 6th generation instances faster and more powerful than their predecessors. You'll also learn how to choose the right type of instance for your workload, and how to save money by understanding the ECS pricing model. Finally, you'll learn how to launch your own ECS instance from Alibaba Cloud's web console.

Learning Objectives

  • Understand the fundamentals of Alibaba ECS
  • Learn the advantages of the sixth-generation ECS hardware
  • Learn the instance types and families in ECS
  • Learn how to choose the right instance type for your workload
  • Understand ECS's different pricing models
  • Learn how to purchase an ECS instance from the Alibaba Cloud console

Intended Audience

  • Solution architects
  • System operators
  • Developers
  • Anyone who wants to learn about Alibaba ECS


To get the most out of this course, you should have a basic understanding of the Alibaba Cloud platform.



ECS instance types and families. So let's first discuss ECS instance naming rules. So every ECS instance type is going to start with the prefix ECS. This is just the product name. You can usually ignore that because all of the ECS instances will of course start with ECS. Then there is the Instance family, which includes the generation and the instance size.

So the instance family will give you an idea what type of hardware the instance is likely to include and what type of workload it's suited for. For instance, here we have hfg. This is a high frequency, general purpose instance, and it is a sixth generation instance. You might in practice and production, see generation four, five and six. You're unlikely to see anything older than that and nothing newer than that has yet been deployed although generation seven is on the way.

Instance size will be at the very end of the instance name. The size indicates how many virtual CPU's the instance has. So in large we'll have two virtual CPU's, in X large we'll have four virtual CPU's and in two X large we'll have eight virtual CPU's. Typically the pricing also doubles as the number of vCPUs doubles. So keep that in mind.

There are a wide spectrum of compute instance families for all different kinds of workloads. The most common are the G, C and R class. G is general purpose, C is compute oriented, and R is memory oriented. There are also a variety of special purpose classes, which we'll talk about later, such as the VGN or GN class, which included TPU, the F3 class, which includes an FPDA and the NPU class, which is designed for AI and machine learning tasks, and includes the Ali NPU, which has accelerator hardware to help with training algorithms like TensorFlow. Then there is also the T6 class all the way on the lower right here, which is a special type of burstable instance that's designed for workloads that normally have very low CPU utilization.

So to take a higher level view of this chart, the items in orange on the left of the chart are traditional x86 hardware. This encompasses our standard ECS virtual machine, our dedicated host products and our Bare-Metal instances, which have no virtualization, and which I will talk about later.

On the right, we have heterogeneous computing in yellow. These are machines that include special purpose hardware like FPJA cards or GPU acceleration. Then on the very far right in gray, we have our HPC or high performance computing line. These are machines that are designed for industrial simulation or genetics or other super computing tasks. They're designed to be clustered together. So they include high-speed convergent ethernet and RDMA support.

We have different ECS configurations. Generally multiple ECS types or families can be run on multiple different ECS configurations. The four that you should know about are ECS VMs. This is the standard ECS virtual machine. This is what most customers buy. But we also have a special configuration called a DDH or dedicated host. So ECS VMs live in a multi-tenant environment. Your virtual machine might be on a physical machine that also has other users as tenants.

So multiple users might have their VMs located on the same physical machine managed by Alibaba Cloud. If you compare that to DDH, DDH's unique feature is that all of the virtual machines running on the physical hardware belong to you. So there's the physical server and the virtualization layer are still managed by Alibaba Cloud, but all of your virtual machines are running together on the same dedicated physical host that belongs only to you. No other users virtual machines will be placed on that host.

Then finally, there's Bare-Metal. So Bare-Metal is a single tenant physical server that has no hypervisor. So if you wanted to directly run a Kubernetes cluster or a container based workload without the overhead of virtualization, Bare-Metal can give you that. If you needed special hardware support, like for Intel VTX or SGX extensions, this would also be a good choice. If you're running software like an Oracle database where you're not allowed to be virtualized because of the terms of the Oracle database license, then Bare-Metal is a good choice.

Oh, also, I shouldn't leave out ECI, although we won't really discuss it in this course. ECI is an elastic container instance. This is a system that allows you to basically run what we call serverless containers. So you can deploy Docker containers onto ECI, and it will automatically allocate ECS virtual machines to run those containers for you. So you don't really have to think about how much hardware you need upfront.

So here is the general recommendations we have for most common workloads. What type of instance should they run on? Well, in general, Apache or Nginx or load balancers can run on the C, G or HFG class instances. These are the compute, general purpose and high-frequency instance types. Middleware services like Spring Cloud, or Dubbo or message queues, again, can run on G6, HFG or C6 even. Although typically we'd recommend G6 because of the higher memory requirements. App servers like Tomcat, Jedi, J boss, these again, can run on G6 or HFG, which is just a high-frequency general purpose instance.

Caches, Redis and Memcache, these are very memory hungry applications. These should run on an R class instance or an HFR, which is a high-frequency high memory instance. Databases should run on an R6 instance, which again is an instance with a lot of memory. Plus, we recommend that you actually choose an R6 E, which is a sixth generation enhanced R type instance, because that will have enhanced SSD attached. 

You really do want a fast disk for a production database. You could also run a database on an I3 or a high 3G instance, which is an IO enhanced instance that has its own local physical disks. Big data, HDFS, MapReduce, Spark. These kinds of workloads should run on a D2S or D2C. These instances are targeted for big data applications that are tuned to run things from the Hadoop ecosystem. AI and ML. You should consider the GN instance types, which have the built in GPU. These are suitable for running TensorFlow, MXnet, Cafe, and other open source, big data and machine learning frameworks.

About the Author
Learning Paths

Alibaba Cloud, founded in 2009, is a global leader in cloud computing and artificial intelligence, providing services to thousands of enterprises, developers, and governments organizations in more than 200 countries and regions. Committed to the success of its customers, Alibaba Cloud provides reliable and secure cloud computing and data processing capabilities as a part of its online solutions.