18th August 2017

Azure Nested Virtualisation

Azure Nested Virtualisation announced!

I’m a little late to pick up on this with client engagements and holidays occurring at the time of the announcement.

Last month Microsoft announced availability of nested virtualisation in Azure. You can enable nested virtualisation on the freshly announced Dv3 and Ev3 VM sizes.  Running on the Intel® Broadwell E5-2673 v4 2.3GHz processor, and the Intel® Haswell 2.4 GHz E5-2673 v3, introducing hyper-threading technology to Azure offerings. With a shift from physical to virtual CPUs that allows Azure to support even larger VM sizes.  The Dv3 and the Ev3 family will be the first VMs to be running on Windows Server 2016 hosts.  Running Windows server 2016, enables Nested Virtualisation via Hyper-V.



With level 2 VMs inside the Hyper-V Hypervisor, that is itself running inside of the level 1 Azure Hyper-V Hypervisor – what we have here is cloud inception.  With even the possibility to virtualise inside the level 2 VM if you can find a use case!

There are some limitations as you would expect.  MAC spoofing isn’t supported on the cloud for security reasons, so you need to create a NAT network for your nested VMs, on which you’ll need to manage a static IP range or provide a DHCP service.  Not a big problem, but something that must be considered as part of any networking design.

Running Nested Virtualisation inside Azure opens some interesting options.

You can now build an Azure Hyper-V host to act as a target for Hyper-V Containers with Docker. Providing you with an isolated virtualisation environment. Handy if you need to run code from unknown or untrusted sources. Indeed, you could use Azure Hyper-V to provide development and test teams with an isolated virtualisation host, minimising any sideways impact and the IaaS cost of spinning up Azure native VMs.

In addition, and perhaps more exciting for some, is the possibility to create an Azure Hyper-V environment to use as a migration target for on-premises Hyper-V VMs.  Whilst migrating Hyper-V VMs into Azure isn’t too taxing, it does come with some limitations, specifically no support for VHDX, which I know has been a pain point for some.  I see no reason why with this configuration there wouldn’t be support for VHDX inside the level 1 Hyper-V Hypervisor.

This is certainly very cool.

With most enterprise customers by market share, utilising VMware for on-premises virtualisation, this isn’t really a service that’s going to revolutionise Azure.  I would suggest that PaaS and serverless architectures, represent the future and the path to the cloud most should be investigating.

However, Is it beyond the realms of possibility that we’ll see vSphere running inside Azure? There are after-all  numerous articles explaining how to install vSphere 6 inside a Hyper-V host, I wonder how long it’ll be before someone has one running in Azure?