Migration Optimization Tips

A Guide To Azure Virtual Machine Types

Azure Virtual Machine types are categories of Virtual Machines (VMs) configured to perform general tasks or tasks requiring additional compute, memory, or storage capacities. Within each category, there may also be sub-groups of VMs with additional capabilities to support specific workloads.

When Windows Azure (now Microsoft Azure) first became commercially available in February 2010 there was only one “type” of Virtual Machine—a general purpose VM that only ran on Windows operating systems and had five size options:

  • Extra-small, with a single-core 1.0 GHz CPU, 768 MB of memory, and 20 GB of instance storage.
  • Small, with a single-core 1.6 GHz CPU, 1.75 GB of memory, and 225 GB of instance storage.
  • Medium, with a dual-core 1.6 GHz CPU, 3.5 GB of memory, and 490 GB of instance storage.
  • Large, with a four-core 1.6 GHz CPU, 7 GB of memory, and 1,000 GB of instance storage.
  • Extra-large, with an eight-core 1.6 GHz CPU, 14 GB of memory, and 2,040 GB of instance storage

There are now numerous Azure Virtual Machine types available on the market and each type has a different vCPU-to-memory ratio depending on the nature of the workload being assigned to the VM—and within each type, there can be dozens of configuration options to maximize the choice available to users.

Azure Virtual Machine types now work on five different operating systems (Windows, CentOS, RHEL, SUSE, and Ubuntu), and although some options are region-specific, you are pretty much guaranteed to find an Azure VM to match your workload regardless of the region in which you deploy the workload.

Azure Virtual Machine Types

Compared to 2010, when only five size options were available, there are more than two hundred size options across six types. Our guide to Azure Virtual Machine types explains what each category is and what type of workload is best suited to it.

General purpose VMs

General purpose VMs have a 1 vCPU-to-4 GiB memory ratio and are ideal for testing and development, small- to medium-sized databases, and web servers that experience low to mid volumes of traffic. This type also includes “burstable VMs” that can burst to significantly higher CPU when demand increases.

Compute optimized VMs

Compute optimized VMs have a 1 vCPU-to-2 GiB memory ratio and are suitable for network appliances, batch processes, application servers, and web servers that receive a higher volume of traffic. There are three sub-groups of compute optimized VMs depending on the need for persistent storage.

Memory optimized VMs

The vCPU-to-memory ratio for memory optimized VMs starts at 1 vCPU-to-8 GiB, but goes up to 1 vCPU-to-28 GiB memory for extreme memory optimized VMs. There are 93 memory optimized VMs to choose from for workloads, such as relational database servers and in-memory analytics.

Storage optimized VMs

Storage optimized VMs have the same 1 vCPU-to8 GiB ratio, but have a high disk throughput to reduce latency. Consequently, they are around 20 percent more expensive to run if you use them for Big Data, SQL and NoSQL databases, data warehousing, and large transactional databases.

VMs for Graphics Processing (GPUs)

As the name suggests, this Azure Virtual Machine type is suitable for workloads such as heavy graphic rendering and video editing. Due to their enhanced vCPU-to-memory ratios of up to 25x, these specialized VMs are also ideal for DNA sequencing, protein analysis, and “Monte Carlo” simulations.

High performance compute

The high performance compute Azure Virtual Machine types can be optimized for workloads requiring dense computation (i.e. reservoir simulation), or those with fluid dynamics (i.e. weather modelling). Typically they have vCPU-to-memory ratios of 7x, but there is also an option to deploy high-performance compute VMs with a 14x ratio.

How to best match on-premises workloads to Azure virtual machine types

Unless you have an on-premises workload that is clearly suitable to GPUs, choosing between multiple migration options can be complicated. Often, due to the efficient infrastructure of the Azure cloud, workloads work much faster on Azure than on-premises, so even if you have a full set of on-premises metrics to compare against the Azure Virtual Machine types, you may not find the ideal match.

Our customers use the CloudHealth Platform to analyze on-premises workloads and determine which Azure Virtual Machine types and sizes are most suitable for their workloads, as well as how purchasing Azure Reserved VM Instances will affect total cost of ownership.