What is a virtual machine (VM)?
A virtual machine is a virtual representation, or emulation, of a physical computer.
They are often referred to as a guest while the physical machine they run on is referred to
as the host.
Virtualization makes it possible to create multiple virtual machines, each with their own operating system (OS) and applications, on a single physical machine. A VM cannot interact directly with a physical computer. Instead, it needs a lightweight software layer called a hypervisor to coordinate between it and the underlying physical hardware. The hypervisor allocates physical computing resources—such as processors, memory, and storage—to each VM.
It keeps each VM separate from others so they don’t interfere with each other.
How virtualization works
When a hypervisor is used on a physical computer or server, (also known as bare metal server), it allows the physical computer to separate its operating system and applications from its hardware.
Then, it can divide itself into several independent “virtual machines.”
Each of these new virtual machines can then run their own operating systems and applications independently while still sharing the original resources from the bare metal server, which the hypervisor manages.
Those resources include memory, RAM, storage, etc.
Advantages and benefits of VMs
VMs offer several benefits over traditional physical hardware:
- Resource utilization and improved ROI: Because multiple VMs run on a single physical computer, customers don’t have to buy a new server every time they want to run another OS, and they can get more return from each piece of hardware they already own.
- Scale: With cloud computing, it’s easy to deploy multiple copies of the same virtual machine to better serve increases in load
- Portability: VMs can be relocated as needed among the physical computers in a network. This makes it possible to allocate workloads to servers that have spare computing power.
- Flexibility: Creating a VM is faster and easier than installing an OS on a physical server because you can clone a VM with the OS already installed. Developers and software testers can create new environments on demand to handle new tasks as they arise.
- Security: VMs improve security in several ways when compared to operating systems running directly on hardware. A VM is a file that can be scanned for malicious software by an external program.
Use cases for VMs
VMs have several uses, both for enterprise IT administrators and users. Here are a few options:
- Cloud computing: For the last 10+ years, VMs have been the fundamental unit of compute in cloud, enabling dozens of different types of applications and workloads to run and scale successfully.
- Scale: Support DevOps: VMs are a great way to support enterprise developers, who can configure VM templates with the settings for their software development and testing processes.
- Test a new operating system: A VM lets you test-drive a new operating system on your desktop without affecting your primary OS.
- Investigate malware: VMs are useful for malware researchers that frequently need fresh machines on which to test malicious programs.
- Browse securely: Using a virtual machine for browsing enables you to visit sites without worrying about infection. You can take a snapshot of your machine and then roll back to it after each browsing session.