In computing, virtualization is the process of abstracting a resource beyond its physical form. Many types of technologies can be virtualized, including servers, storage devices, networks, and applications, which is why virtualization has become associated with a wide variety of computing technologies.
How does virtualization work?
Most virtualization techniques involve a few main components:
- Host machine: The physical underlying hardware on which virtualization occurs
- Virtual machines (VMs): The individualized units of resources that have been abstracted from the host machine
- Hypervisor: A thin layer of software that creates and runs virtual machines
- Hypercalls: API messages sent between a hypervisor and an operating system
- Containers: Individualized units of software used in application virtualization
When a resource is virtualized, the hypervisor divides it into one or more virtual machines, similar to when a hard drive is partitioned to create two separate hard drive spaces. Devices, applications, and users are able to interact with each VM as independent resources.
History of virtualization
The concept of virtualization began in the early 1960s when the first computers leveraged a technique called time-sharing. This technology allowed multiple users to share a single computer’s resources and enabled simultaneous access to batch processing capabilities. The first time-sharing operating system was called Multics, a predecessor of UNIX and Linux systems.
A few years later, IBM developed the CP/CMS system—the first mainframe operating system that supported virtualization. Enterprises would use these systems to run legacy apps on multiple operating system types and versions. This kind of virtualization also optimized how resources were allocated for various workloads, so organizations didn’t need to maintain more servers than absolutely necessary.
Then, the rise of the internet in the early 2000s further escalated the need for server virtualization. Website hosting required more server capacity than most small businesses or independent bloggers were capable of maintaining, so companies like VMware introduced solutions that allowed customers to rent a portion of a bigger data center. This would later become what we know today as cloud computing.
Benefits of virtualization
Virtualization offers enterprises a number of advantages, which is why it’s become such a prominent trend in the IT industry. Specifically, virtualization allows companies to utilize their resources more efficiently.
Before virtualization, each workload—meaning each application and its resource requirements—needed a separate server environment to operate. Virtualization made it possible for multiple workloads to share resources on the same server without compromising performance or reliability. For this reason, virtualization also means enterprises have reduced capital and operating costs.
Virtualization makes it simpler and faster to provision applications and resources within a broader data center. Plus, when something goes wrong, the disaster recovery process is much quicker. There is minimal downtime, and the impact of a potential outage can be contained to the individual VM.
Types of virtualization
As mentioned above, many types of technologies can be virtualized, but they all typically fall under one of the following primary categories:
- Storage virtualization: Multiple storage devices are interconnected to appear as a single storage unit
- Server virtualization: A physical server is is partitioned into smaller virtual servers
- OS virtualization: Multiple instances of an operating system are contained within a single device
- Network virtualization: A network is decoupled from its hardware and abstracted to run independently
- Application virtualization: An application is installed on a server but can be accessed and used as if it were installed on a user’s local device
- Data virtualization: Data from disparate sources is aggregated to create a single view
- Desktop virtualization: A computer’s desktop environment is separated from the underlying computer hardware, so it can be accessed from other computers
There are several software vendors that enable each of the types of virtualization listed above. Prominent vendors include:
This article was updated by Kaiti Norton.