What Is Virtualization? How VMs and Hypervisors Work
Updated July 15, 2023

Virtualization is the practice of using software to present computing resources as separate, software-defined environments instead of tying each workload to its own physical machine. A single server can therefore run several independent virtual machines (VMs), each with its own operating system, applications, virtual CPU, memory, disk, and network interface.
The key idea is abstraction: software sits between a workload and the physical hardware, then allocates the hardware resources the workload is allowed to use. That makes it possible to consolidate servers, create repeatable test environments, and recover workloads on different hardware. It does not create capacity from nowhere; every VM still competes for the host's CPU, RAM, storage, and network bandwidth.
How virtualization works
A physical computer that provides resources is the host. The isolated systems running on it are guests. The software layer that creates and manages those guests is the hypervisor.
When a VM needs CPU time, memory, disk I/O, or network access, the hypervisor coordinates that request with the host hardware. The VM sees a normal-looking computer, but its hardware is virtual. Administrators can set limits and reservations, take snapshots, clone a tested configuration, or move a workload as their platform supports it.
There are two broad hypervisor designs:
- Type 1 (bare-metal) hypervisors run directly on server hardware. They are common in datacentres because the virtualization layer has direct control of the host resources.
- Type 2 (hosted) hypervisors run as applications on a desktop operating system. They are useful when a developer needs a second operating system for local testing.
For example, a team might run a Linux web server, a Windows line-of-business application, and a test database as separate VMs on one physical host. Each VM can be patched, restarted, and configured independently. A problem inside one guest is contained from the other guests at the VM boundary, although the host and hypervisor still need timely security updates.
Why organizations use virtualization
Virtualization is useful when the flexibility of software-defined infrastructure solves a real operational problem:
- Better use of hardware. Several modest workloads can share a server instead of leaving multiple physical machines underused.
- Faster provisioning. A vetted VM template can be deployed more consistently than building a server by hand every time.
- Safer testing. Developers and administrators can try upgrades or reproduce an issue in an isolated environment without changing a production machine.
- Simpler recovery planning. VM images, configuration, and replication can make it easier to restore a workload to compatible infrastructure. Recovery time still depends on storage, networking, dependencies, and a tested recovery plan.
- Desktop delivery. A virtual desktop infrastructure (VDI) can keep desktop workloads in the datacentre while users connect from managed devices.
These benefits come with trade-offs. VMs consume host resources and add a management layer. Poorly sized hosts, unmanaged snapshots, storage bottlenecks, and VM sprawl can erase the expected savings. Virtualization is most effective when capacity, backups, patching, and access controls are managed deliberately.
Common types of virtualization
Server virtualization
Server virtualization divides a physical server into multiple VMs. It is the form most people mean when they ask “what is virtualization.” Each VM runs a guest operating system and can host a different workload. Common platforms include Hyper-V, VMware vSphere, KVM-based platforms, and cloud virtual-machine services.
Desktop virtualization
Desktop virtualization delivers a desktop operating system from a central server or runs a desktop VM locally. It can make onboarding, patching, and remote access easier, but performance depends heavily on the network and the graphics or peripheral requirements of the user.
Network virtualization
Network virtualization represents switches, routers, firewalls, and network segments in software. VLANs, virtual switches, and software-defined networking are examples. The goal is to create and manage logical networks without recabling the physical network for every change.
Storage virtualization
Storage virtualization pools or abstracts disks and arrays behind a logical storage layer. Administrators can then present volumes, apply policies, and manage capacity without exposing every application to the details of the underlying hardware.
Application and data virtualization
Application virtualization packages or streams an application so it can run in a controlled environment. Data virtualization provides a logical view across data sources without requiring every consumer to know where each dataset is stored. Both aim to reduce coupling, but neither removes the need to manage compatibility, access, and performance.
Virtualization vs. cloud computing
Virtualization is a technology; cloud computing is a delivery model. Cloud providers use virtualization extensively to divide and manage underlying infrastructure, then offer computing, storage, and networking on demand. You can use virtualization in your own office or datacentre without using a public cloud, and you can use cloud services without managing a hypervisor yourself.
Virtual machines vs. containers
VMs and containers both isolate workloads, but they do so at different layers:
| Virtual machines | Containers |
|---|---|
| Include a full guest operating system and its own kernel. | Share the host operating system kernel. |
| Provide a strong boundary for running different operating systems on the same host. | Package an application and its dependencies in a lightweight runtime unit. |
| Usually take more disk space and start more slowly. | Usually start faster and use fewer resources. |
| Fit workloads that need a full OS, legacy software, or a different kernel. | Fit portable application services that can share the host kernel. |
Containers can run inside VMs, which is common in production. The choice is not necessarily VM or container: use the isolation boundary and operational model your workload needs.
Is virtualization right for your workload?
Start with the workload rather than the platform. A VM is often a good fit when you need a complete operating system, must run software written for a different OS, or want a clean environment for testing. Containers are often better for stateless application components that can share a kernel. For a small workload with predictable demand, a dedicated machine or a managed service may be simpler.
Before virtualizing a production workload, measure its CPU, RAM, storage latency, network needs, licensing terms, backup requirements, and recovery objective. Then test a restore. That practical check is more valuable than a generic promise of cost savings.
Further reading
- AWS: What is virtualization? explains virtual machines, hypervisors, and infrastructure virtualization.
- Microsoft Learn: Hyper-V virtualization overview covers practical server virtualization features and use cases.
Related video
faqs.
What is virtualization in simple terms?
Virtualization uses software to divide physical computing resources into separate virtual environments. A single server can run multiple virtual machines, each behaving like its own computer.
What is a hypervisor?
A hypervisor is the software layer that creates and manages virtual machines. It allocates host CPU, memory, storage, and networking resources to each guest VM.
What is the difference between a virtual machine and a container?
A virtual machine includes a full guest operating system, while a container shares the host operating system kernel. Containers are generally lighter; VMs are useful when a complete OS boundary is required.
Is virtualization the same as cloud computing?
No. Virtualization is the technology that abstracts physical resources. Cloud computing is an on-demand way of delivering computing services that often uses virtualization underneath.
What are the main types of virtualization?
The main types are server, desktop, network, storage, application, and data virtualization.
Does virtualization improve security?
Virtual machines provide isolation between guests, which can reduce the blast radius of a workload problem. It is not a substitute for patching the host, hypervisor, guest operating systems, applications, and access controls.
related.
Ruslan Osipov
About the author