Last Update: Sep 04, 2024 | Published: Apr 13, 2017
This post will explain how to select an Azure virtual machine (VM) series and size. This article includes updates to past versions of this post such as N-, H-, and L-Series VMs, as well as using the Azure Compute Unit (ACU) measurement to compare processor performance.
Azure is McDonald’s. It is not a Michelin Star restaurant. You cannot say, “I’d like a machine with 4 cores, 64GB RAM, and a 200GB C: drive.” That simply is not possible in Azure. Instead, there is a pre-set list of series of machines. Within those series, there are pre-set sizes.
The C: drive is always 127GB unless you upload your own template. No matter what the pricing pages claim as the disk size, it is actually the size of the temp drive. Any data you have goes into a data drive, which you specify the size of. Therefore, you control the cost. Remember that the storage (OS and data disks) costs extra!
There are two things to consider here. The first is common sense. The machine will need as much RAM, CPU (see the ACU section later in this article), and disk space as your operating system and service(s) will consume. That is no different than how you sized on-premises physical or VMs in the past.
The other factor of cloud-scale computing is that you should deploy an army of ants, not a platoon of giants. Big VMs are extremely expensive. A more affordable way to scale is to deploy smaller machines. Smaller machines can share a workload. They also can be powered on/off where billing starts/stops based on the demand or you can use the Scale Sets feature.
Microsoft created the concept of an ACU to help us distinguish between the various processor and VM series options that are available to us in Azure. The low-spec Standard A1 VM has a baseline rating of 100 and all other machines are scored in comparison to that machine. A VM size with a low number offers low-compute potential and a machine with a higher number offers more horsepower.
Note that some scores are marked with an asterisk. This represents a VM that is enhanced using Intel Turbo technology to boost performance. The results from the machine can vary depending on the machine size, the task being done, and other workloads also running on the machine.
Browse to the HPE or Dell sites and have a look at the standard range of rack servers. You will find DL360s, R420s, DL380s, R730s, and so on. Each of these is a series of machines. Within that series, you will find a range of pre-set sizes. Once you select a series, you find the size that suits your workload. The per-hour price is charged per minute of running. You will see this price listed. Let’s take a look at the different series of Azure VMs. Please remember that not all of the series are in all regions.
In the server world, Dell replaced the R720 with an R730. We stopped buying R720s and starting buying R730s. HPE replaced the DL380 G6 with a DL380 G7. That was replaced with the Gen 8. We stopped buying the older machine and started buying the newer machine.
The same thing happens in Azure. As the underlying Azure fabric improves, Microsoft occasionally releases a new version of a series. For example, the Dv2-Series replaced the D-Series. The Standard Av2-Series replaced the Standard A-Series.
The older series is still available but it usually makes sense to adopt the newer series. Late in 2016, Microsoft changed pricing so that the newer series was normally more affordable than the older one.
If you are reading this post, then you are deploying new services/machines. You should be using the latest version of a selected series. I will not detail older/succeeded series of machines in this article.
A code is normally used in the name of a VM to denote a special feature in that VM size. Examples of such codes are:
A is the start of the alphabet and this is the entry level VM.
This is the lowest and cheapest series of machines in Azure. The A-Series (Basic and Standard) uses a simulated AMD Opteron 4171 HE 2.1GHz virtual processors. This AMD processor was designed for core-scale with efficient electricity usage, rather than for horsepower. It is fine for lighter loads like small web servers, domain controllers, and file servers.
The Basic A-Series machines have some limitations:
I like this series for domain controllers because my deployments are not affected by the above. It keeps the costs down.
This is the most common machine that I have encountered in Azure. Using the same hardware as the Basic A-Series, the Standard Av2-Series has some differences:
These are the machines I use the most. They are priced well and offer good entry-level worker performance. If I find that I need more performance, then I consider Dv2-Series or F-Series.
D is for Disk in the D-Series.
The key feature of the Dv2-Series machine is disk performance. It can offer more throughput (Mbps) and speed (IOPS) than an F-Series VM. It is considered an excellent storage performance series for workloads such as databases.
Additional performance is possible because this is the first of the Azure machines to offer an Intel Xeon processor, the Intel Xeon E5-2673 v3 2.4GHz CPU. It can reach 3.1GHz using Intel Turbo Boost Technology 2.0.
The Dv2-Series also offers an S-option which supports Premium Storage. Microsoft recommends the DSv2-Series for SQL Server workloads. That has led to some of my customers asking questions when they get their first bill. Such a blanket spec generalization is unwise. Some SQL workloads are fine with HDD storage and some will require SSD. If you need lots of IOPS, then Premium Storage is the way to go. Do not forget that you can aggregate Standard Storage data disks to get more IOPS.
G is for Goliath.
The G-Series VMs offer much more RAM per core than any of the other VMs in Azure. They go all the way up to 448GB RAM based on hosts with a 2.0GHz Intel Xeon E5-2698B v3 CPU. If you need a lot of memory, then these are the machines to choose.
The G-Series also offers more data disk capacity and performance than the much more affordable Dv2-Series.
The F-Series name reminds me of a pickup truck and I think of an all-rounder with great horsepower.
The F-Series uses the same Intel Xeon E5-2673 v3 2.4GHz CPU as the Dv-2 Series with the same 3.1GHz turbo boost. It does have a slightly lower disk performance.
Microsoft talks about this being a good series for web servers that require performance. I see the F-Series as being the choice when you need something with more CPU performance than an A-Series machine. It does not have as much focus on disk performance as the Dv2-Series.
The N name stands for NVIDIA and that is because the hosts will have NVIDIA chipsets. They are presented directly to the VMs using a new Hyper-V feature called Discrete Device Assignment (DDA).
There are two versions of the N-Series:
The H is for SAP Hana or high-performance computing (HPC).
The H-Series VMs are sized with a large number of cores and run on hardware with Intel Haswell E5-2667 V3 3.2GHz processors and DDR4 RAM.
There are two core scenarios for the H-Series:
If you want low-latency storage, then the L-Series is for you.
We do not have too much detail but it appears that the Ls-Series runs on the same host hardware as the G-Series. Keep in mind, this is often referred to as the L-Series. The focus is not on a scale as it is on the G-Series. The focus is on low-latency storage.
The VMs of the Ls-Series use the local SSD storage of the hosts for data disks. This offers a much faster read time than can be achieved with Premium Storage (SSD) storage that is shared by many hosts across a network. This is much like a flash-based SAN.
This is a very niche machine series. It is expected that this type will be used for workloads where storage latency must be as low as possible, such as NoSQL.
Microsoft has announced that a new series and a successor to an existing series are both on the way. Microsoft refers to these machines as being the “next generation of Hyper-Threaded virtual machines.”
Both of these series will be based on hardware with Intel Broadwell E5-2673 v4 2.3GHz processors, which enables machine sizes up to 64vCPUs.