A virtual machine (VM) is a digital environment that operates as a virtual compute resource on a physical server. It uses software to run and deploy applications instead of a physical computer system. One server, or host, can have many VMs, or guests, running at the same time. Each VM has its own operating system, as well as memory, storage, CPU and network interfaces that run independently of any other VMs on the hardware host—so a physical PC could run a MacOS or Linux VM without issues, for example.
VMs make it possible to have a variety of operating systems running at the same time on a single computer. Each VM runs independently of the others and offers an end-user experience that matches the experience of using a non-virtual machine, or a single operating system that’s tied to a single physical machine. End users can use applications on a VM just as they would on their dedicated hardware computer system. In fact, most end-users who access computing systems remotely wouldn’t even know whether they were working with a VM or a dedicated computer system.
VMs rely on virtualization, which is a technology that allows a single physical server or computer workstation to host numerous virtual environments. The host machine uses a piece of software called a hypervisor to manage and separate out the host’s compute, networking, and storage resources into a single pool to distribute to each VM as needed.
For example, if a VM is running and the user (or application) instructs the VM to do something that would require more resources than it currently has, the hypervisor would quickly identify the need and reassign part of the host’s pool or shared resources to meet demand.
Because they essentially act as a “computer within a computer,” VMs allow organizations to have dozens of separate computer systems on a single machine. Each VM can run in an application window on top of the existing OS of the host machine. Users can change configurations and make updates to a VM OS just as they would on a dedicated computer. They can also install or delete applications onto the VM. Virtual machines include a number of common files, such as logs, configurations, NVRAM settings, and a virtual disk file.
Virtualization technology has been around for a long time, but VMs have become increasingly common as remote work and end-user computing grew in popularity. Today, VMs are used for many reasons in both on-premises and cloud environments. Use cases include:
There are two basic types of virtual machines:
These virtual machines emulate an entire computer system, much as we’ve described in previous sections. They are located in isolated partitions of a physical server or computing workstation and have their own operating systems, configurations, applications and services that run independently of each other. This type of VM requires a hypervisor that allocates resources to each VM from a single shared pool. Some examples of system VMs include Nutanix AHV, VMware Fusion and the open source Xen.
Sometimes referred to as application VMs or managed runtime environments (MREs), process VMs are set up to temporarily run a single process as an application — to run Java programs, for example, or the Microsoft .NET Framework. These virtual machines are essentially runtime environments for that specified process and they are not dependent on any platform. They work by providing a high degree of abstraction that serves to “hide” the host’s operating system and other hardware. Process VMs are temporary; they are created when a user starts the specific process and they are destroyed once that process is complete.
Public cloud providers are are increasingly incorporating cloud computing technologies, including virtualization and VMs, to enhance flexibility and scalability across workloads. This effort aims to better support various applications on multiple operating systems.
A VM in the cloud works the same as a VM on a server in an organization’s data center—the only difference is that the cloud VM is hosted in a cloud service provider’s data center instead of yours.
Cloud VMs typically come in two different varieties:
A single-tenant VM is designed to be used by a single customer (typically an organization). These VMs can be either a dedicated host or dedicated instance.
Also called public VMs, multi-tenant VMs are shared by multiple customers across a multi-user physical infrastructure. Each customer’s data is isolated from everyone else’s but the customers share a single set of applications, databases, and server resources. While it doesn’t offer the same high degree of separation and customization that some customers prefer, it is highly scalable and cost-effective because it is typically available at a lower price than single-tenant VMs.
VMs offer a wealth of advantages over physical host machines, but they also come with a few challenges:
Organizations use VMs for a lot of smart reasons, many of which we’ve covered in previous sections. While VMs were initially used as early as the 1960s to isolate data for each user that shared a large mainframe computer, today they’re used more by enterprises to increase hardware utilization, reduce their physical hardware footprint, and save on costs for equipment and physical operations.
Virtual desktop infrastructure (VDI) is also a major driver for VM use in enterprises. VDI platforms allow employees to access their desktops from remote locations and devices—a definite plus as remote and hybrid work models become ever more popular.
As organizations increasingly move workloads to the cloud, they are using cloud-based VMs to create hybrid environments and build infrastructure alongside their existing on-premises legacy environments.
The security benefits of using VMs is another plus, as the separated VMs provide an extra layer of protection when systems are infiltrated.
Add to all the other benefits a great potential for cost savings and extreme scalability, and it’s clear to see why VMs have become critical components in modern enterprise IT infrastructure.
Organizations have a lot of options when it comes to choosing a virtualization platform. Most platforms have simplified processes for creating and deploying new virtual machines. In fact, many solutions come with convenient setup wizards or templates that make it fast and easy to get started.
While many virtualization platforms are designed for enterprises and offer a lot of advanced features and customization options, you can also find simple virtualization platforms that don’t cost a thing. One example is the open-source VirtualBox from Oracle.
Trusted by more than 20,000 users, Nutanix knows virtualization. Our virtualization and VM solutions provide the advanced, enterprise-grade features and capabilities you need to make virtualization easy across your entire IT ecosystem—whether it’s on-premises, on the edge, in multiple clouds, or all of the above.
With Nutanix AHV, you get a secure platform built for today’s hybrid multicloud that offers high workload availability, fully optimized performance and utilization, and lifecycle management across your entire stack.
Nutanix VDI leverages the power of Nutanix Cloud Platform to make end-user computing simple by integrating compute, virtualization, storage, networking, and security.