Google takes virtual machines to a different level with nested virtualizations
Google recently announced it has brought nested virtualization on Compute Engine virtual machine instances. The feature takes virtual machines to a meta level, enabling users to run virtual machine instances within a virtual machine instance.
Nested virtualization is a method of running a hypervisor inside a virtual machine. As part of the process, a host-hypervisor runs on physical hardware, while an outer guest virtual machine runs on the host-hypervisor. An example would be running a Hyper-V within a VMware ESXI, where the former hosts regular workloads like Windows Server 2016 running a web server.
As to the benefits of nested virtualization, Compute Engine Product Manager Scott Van Woudenberg wrote in a company blogpost: “Nested virtualization makes it easier for enterprise users to move their on-premises, virtualized workloads to the cloud without having to import and convert VM images. Dev/test and CI/CD workloads that need to validate software in multiple environments are a good match for nested virtualization.”
He went on to state this feature is beneficial because it provides affordable cloud-based disaster recovery solutions, and is ideal for companies that want to setup virtual environments for technical training and certification courses. Nested virtualization can also be helpful in running multiple hypervisors on the same host server. In addition, it can be useful in experimenting with server setups, testing configurations and shedding light on software products. Although, not all hypervisors can nest with other hypervisors.
The new feature is currently beta, requiring a virtual machine to run on an Intel Haswell or newer CPU. Users run a typical virtual machine and install a KVM-compatible hypervisor on that instance. Google does not support non-KVM hypervisors like Xen, ESX and Microsoft’s Hyper-V. The features only work for Linux instances.
Google isn’t the only company leveraging nested virtualization. Microsoft added virtual nesting to Azure Stack earlier this year using the Hyper-V. Moreover, Amazon Web Services (AWS) provides the ability to run nested virtual machines using third-party tools like Oracle’s Ravello.