Understanding the componentry of Virtual Machines can at first appear quite complex due to the flexible nature and number of components.
This guide is designed to give a brief overview of the components both contextually and graphically in order to try to simplify and give a core understanding. Whether you are familiar with physical infrastructure or already have some understanding of virtualisation, this overview will help your understanding of virtual machines in the cloud.
Virtual Machines created using Azure Resource Manager are very similar to on-premise hypervisors.
The general architecture of a deployed Virtual Machine is depicted below.
Each virtual machine consists of one or more Disks (one of which being the operating system disk) and one or more Network Interface Cards (NICs). All disks are required to be stored in a storage account within the same region as the virtual machine.
Network Interface Cards (NICs) are specified for virtual machines which dictate which virtual network subnet the NIC is connected to. As with disks, multiple NICs can be specified for each VM, however, at least one must be defined and must be connected to an existing virtual network. It is not possible to create a standalone virtual machine that is not connected to a virtual network in the Azure Resource Manager (ARM) model.
IP addresses are assigned to NIC’s automatically from its connected virtual network’s subnet but can also be defined statically if required.
Each virtual machine must be created in a resource group, but it need not be the same resource group as the storage account, virtual network or load balancer(s).
Load Balancers, similar to virtual machines are first class citizens in Azure Resource Manager. Load balancers can be given an internal (Virtual Network) IP Address or external public IP Address on its front end, its back-end is mapped to one or more NICs from one or more virtual machines to provide NAT or load balancing services.
When deploying a Virtual Machine on Azure there are a few different hardware options available depending on your requirements which are referred to as “Generations” or “Series”.
Series | Functionality | Relative Performance Factor |
A | Runs on a variety of processors from Intel to AMD. | 1 |
Av2 | Runs on a variety of processors. The size is throttled, based on hardware to offer consistent performance. | 1 |
D | Faster CPUs and higher memory per core when compared with the A series. Include SSD Temporary Disk. | 1.6 |
Dv2 | Faster CPU’s (~35% faster than D Series)
Based on 2.4Ghz Xeon E5-2673 v3 Haswell or 2.5GHz Intel Xeon E5-2673 v4 Broadwell processors with Intel Turbo Boost Technology 2.0. |
2.1 – 2.5 |
Dv3 | Based on 2.4GHz Intel Xeon E5-2673 v3 Haswell or 2.3GHz Intel Xeon E5-2673 v4 Broadwell processors in a hyper-threaded configuration. | 1.6 – 1.9 |
Ev3 | Based on 2.3GHz Intel Xeon E5-2673 v4 Broadwell processors in a hyper-threaded configuration. | 1.6 – 1.9 |
F | Same CPU’s as Dv2, however cheaper due to smaller SSD Temporary Disk. | 2.1 – 2.5 |
Fv2 | Based on 2.7 – 3.7GHz Intel Xeon Platinum 8168 processors. Includes small sized SSD temporary disks. | 1.95 – 2.1 |
G | Highest memory per CPU ratio running Intel Zeon E5 V3 processors. | 1.8 – 2.4 |
H | High-performance generation, utilising 8 or more cores of Intel Xeon E5-2667 v3 Haswell processors. Supports RDMA networking using FDR InfiniBand technology. | 2.9 – 3 |
L | Storage optimised generation based on Intel Xeon E5 v3 processors. | 1.8 – 2.4 |
M | Memory optimised generation offering up to 3.8TB of memory. Processors feature Intel Hyper-Threading technology. | 1.6 – 1.8 |
DS/DSv2/DSv3/
Ev3/FS/FSv2/GS |
Ability to use Premium Storage (SSD) | As Above by Series |
Note: The relative performance factor is provided to indicate the differences in each core’s power between the series.
Some of the Generations can utilise Premium Storage. Premium Storage disks are stored in Premium Storage Accounts which store all the data on Solid State Disks (SSD) for improved performance. Premium disks have different performance attributes depending on the size of disk provisioned.
Premium Storage Disk Type | P10 | P20 | P30 |
Disk size | 128 GB | 512 GB | 1024 GB (1 TB) |
IOPS per disk | 500 | 2300 | 5000 |
Throughput per disk | 100 MB per second | 150 MB per second | 200 MB per second |
Note: Sizes of disks will be rounded up to the closest disk type, e.g. 129GB disk will be a P20.
All Virtual Machines deployed are of a fixed hardware configuration which differs by series. In most cases the sizes vary in the following hardware attributes:
As you might expect, each configuration is also priced differently as are the generations.
As an example, the table of A Series configurations is shown below, the other series specifications can be found on https://docs.microsoft.com/azure/virtual-machines/windows/sizes.
Size | CPU cores | Memory | NICs (Max) | Max. disk size | Max. data disks (1023 GB each) | Max. IOPS (500 per disk) | Max network bandwidth (Mbps) |
Standard_A0 | 1 | 768 MB | 1 | Temporary = 20 GB | 1 | 1×500 | 100 |
Standard_A1 | 1 | 1.75 GB | 1 | Temporary = 70 GB | 2 | 2×500 | 500 |
Standard_A2 | 2 | 3.5 GB | 1 | Temporary = 135 GB | 4 | 4×500 | 500 |
Standard_A3 | 4 | 7 GB | 2 | Temporary = 285 GB | 8 | 8×500 | 1000 |
Standard_A4 | 8 | 14 GB | 4 | Temporary = 605 GB | 16 | 16×500 | 2000 |
Standard_A5 | 2 | 14 GB | 1 | Temporary = 135 GB | 4 | 4X500 | 500 |
Standard_A6 | 4 | 28 GB | 2 | Temporary = 285 GB | 8 | 8×500 | 1000 |
Standard_A7 | 8 | 56 GB | 4 | Temporary = 605 GB | 16 | 16×500 | 2000 |
It is difficult transposing your current infrastructure into a virtual machine environment and knowing whether your choice might save you money but cripple your application or increase your costs with no considerable gain. In the cloud, you can’t select an arbitrary number of cores or ram.
The cost of investment to outsource the one-off creation of your architecture is minimal when weighed up against what could potentially go wrong.
If you’d like to speak to someone about architecture, please give us a call on 0203 697 0302 or get in touch.
*specification accurate at time of print (31 Dec 2018)