In part 1 of Explaining Azure VM Sizing, we talked about the four common VM series that all MSPs must know, and know well, to maximize their Azure investment. To recap, they were:
- B-series for light use burstable workloads
- D-series for standard, well balanced compute/memory workloads
- E-series are memory focused VM sizes (ie: it has double the amount of memory compared to the D-series machine)
- F-Series are CPU focused VM sizes (ie: it has double the CPUs compared to a D-series machine)
- NV-series are VMs that have GPUs in them to support GPU-based workloads
With those basics in mind, it’s important to really understand the specifics of each VM SKU, specifically focusing on the attributes of each VM.
What Are Attributes?
Attributes are letters that come after the VM family and number of cores. Let’s take for example: D8ads_v5
Just by looking at this sequence, the SKU indicates that it’s a D-series, Standard 8 Core 32GB RAM machine that sports an AMD Milan Chip, that has a NVMe Temp Disk as well as support for Premium Remote Storage.
How to Decode Attributes
Obviously, no one can look at a sequence and know what every character in it means without learning the fundamentals. This Microsoft document shows the total breakdown of how this works. However, to learn the basics, the below subheadings and bullets points break down what each character represents concisely:
[Family] + [Number of Cores] + [Number of Constraint Cores] + [Attributes] + [Version Number]
- The family indicates the family VM size: These will fall under the following:
- B, D, E, F, NV
Number of Cores:
- The number of cores is how many cores the CPU uses to run. These will be one of the following numbers:
2, 4, 8, 16, 32, 64
Number of Constraint Cores:
- This number is usually signified by a “– “symbol and a number of CPU that’s lower than the initial number of cores.
- Take, for example, “E8-4as_v4”. This lower number denotes the number of vCPU’s that VM is constraint to but since the number of cores on this SKU is still 8 cores, you will retain the amount of memory and every other property of that 8 core E series machine, but you are limited to the number of reduced cores.
- The reason for this for SQL workloads as an example, is that a user might want a lot more memory that would typically be in a E8 machine (64GB of RAM) but don’t need the extra CPUs since it is not needed and/or simply don’t want to license them using the SQL Server per core model of licensing. If you can get away with running with less cores, you ought to pay less for the SQL licensing since SQL licensing is charged by the number of vCPU’s and not by the Use CAL model in Azure.
- While there are plenty of attribute options, many of them will not be seen in the most common use cases. Some of the most common attributes are:
- a – AMD chip instead of default Intel
- s – Supports mounting of Premium SSD’s
- d – VM itself comes with Temp Disk which can be used for log storage or Ephemeral OS disk
- This denotes the version of the VM family series. Versions of a VM family can encompass multiple CPU chip architectures. For example, a v3 VM can have one of these Intel chip technologies: 3rd Generation Intel (Ice Lake), Intel (Cascade Lake), Intel (Skylake), Intel (Broadwell), or the Intel (Haswell) processors. Unfortunately, you can’t pick which one you want. Microsoft decides which one you get during the VM allocation process.
How to Decide Which to Pick
This is how you should decide which VM family to start with for your particular VM workload.
- Start with the D – Series for a well-balanced CPU/Memory ratio machine
- Would that workload benefit from having extra memory? If yes, pick an E-Series machine, it’s only 15% more for 2x the memory compared to a D-Series. If not, Stay on D-Series
- Would that workload be very low CPU consumption and a light workload most of the time? If yes, pick a B-Series for the same CPU/Memory ratio but pay 56% less than a D-Series.
- Would that workload require highly intensive CPU more so than RAM? If yes, pick a F-Series, otherwise stay with the D-Series
- Does that workload require GPU capability? If yes, Pick a NV-Series (NVv4 or NVv5) machine
Understanding and decoding VM SKUs is useful knowledge to have. Not only can this understanding save you money and increase your clients’ performance exponentially. Always make sure you are using the latest and greatest VM family and version for the job.