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.
When a resource is virtualized, an operating system divides it into one or more execution environments, like when a hard drive is partitioned to create two separate hard drive spaces. Devices, applications, and users are able to interact with the virtual resource as if it were a single logical resource.
Types of virtualization
As mentioned above, many types of technologies can be virtualized, but they all typically fall under one of five 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
- Operating system-level 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
There are several software vendors that enable each of the types of virtualization listed above. Prominent vendors include: