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.
In this definition...
Most virtualization techniques involve a few main components:
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.
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.
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.
As mentioned above, many types of technologies can be virtualized, but they all typically fall under one of the following primary categories:
There are several software vendors that enable each of the types of virtualization listed above. Prominent vendors include:
VMware offers a variety of products that allow the virtualization of practically any x86 or x64 architecture, including spinning up multiple instances of Windows or Linux virtual machines simultaneously. Products span everything from single-PC applications to enterprise server software and hybrid cloud platforms.
Citrix Hypervisor is an open-source desktop, server, and cloud virtualization infrastructure. It consolidates multiple virtual machines (VMs) onto a single physical server. By reducing the number of disk images that need to be managed, it simplifies virtualization management.
Microsoft Azure offers VMs with both Linux and Windows Server distributions. These support running high-performance computing, SQL Server, SAP, Oracle, and other applications. Microsoft also offers single-PC virtualization solutions such as Hyper-V.
Hyper-V by Microsoft is a native hypervisor that can create virtual machines on hardware running Windows. Hyper-V is an optional component of Windows Server 2008 and later as well as the Pro and Enterprise editions of windows, and it is also optional as a freeware edition of Windows server with limited functionality.
Oracle is known for Oracle VM VirtualBox which allows users to run VMs with multiple operating systems including Microsoft Windows, Mac OS X, Linux, and Oracle Solaris simultaneously. Oracle also offers Oracle VM Server for enterprises running server virtualization.
Amazon Web Services offers numerous services for launching Windows and Linux virtual machines and servers in the cloud. Instances are scalable, and fees are based on usage. Free tiers and trials are available for many of the services.
Red Hat offers an enterprise virtualization platform built on Red Hat Enterprise Linux. It is a complete virtualization infrastructure for virtualized servers and workstations. Moreover, Red Hat Virtualization is designed to integrate seamlessly with other Red Hat solutions.
QEMU can be run as a machine emulator or as a virtualizer to run a variety of guest operating systems and programs at near-native speeds. QEMU can also perform emulation for user-level processes, so applications compiled on one architecture can run on another. QEMU is free and open source.