Virtualisation has changed the way we think about computing, but many people are still confused about what it is and how it works. Here is your quick Q&A guide to get up to speed.
Virtualisation is a way of running lots of operating systems (OSs) on the same physical computer in isolation from each other. It solves a key problem for server computing: efficiency.
Before virtualisation, a server typically just ran one OS. Running more than one application in that OS often affected reliability, because programs might interfere with each other. That's not a big problem on a Windows desktop, because if a bad combination of programs crashes your OS you just reboot. On a server, the same crash could affect hundreds of people. So admins would restrict servers to running a single application that often wouldn't use all the hardware's resources. It was wasteful.
Virtualising a server enables admins to run multiple operating systems on the same physical hardware. That means they can run more applications, which increases their use of memory and CPU resources.
Before virtualisation, the OS interfaced directly with the computer hardware. Virtualisation introduced another component: the hypervisor. This is a small program that handles interactions between the computer and a virtual machine (VM) containing a guest operating system. Whenever an OS running in a VM wants to access computing resources such as memory or CPU power, it thinks it's asking the computer. In reality it's asking the hypervisor, when interacts with the computer on its behalf. This enables the hypervisor to coordinate interactions with several VMs at once, each running their own OS, without affecting each other.
Virtualisation is a crucial technology for cloud computing, which runs lots of virtual machines on its physical hardware. Cloud service providers couldn't offer their flexibility and scalability without this technology. They offer virtualisation at scale, and at different levels. You can get an entire VM at your disposal (infrastructure as a service), or just the software services you need such as databases and development environments without getting direct access to the computer (platform as a service). Even the web-based apps (software as a service) that you use online rely on virtualised devices under the hood.
However, you can also run virtualisation just on your own servers, without all the extra tools that cloud service providers offer. The cloud needs virtualisation, but virtualisation doesn't need the cloud.
There are several ways to enhance your computing operation with virtualisation. Here are a few:
Cost savings You can use virtualisation to squeeze more life out of an older server by making more efficient use of it, saving your money by postponing your hardware investment. You can also use it to better manage your computing resources.
Better backups Virtual machines are effectively just files, which means you can manipulate them easily. Virtualisation software lets you make snapshots of entire machines for easy backup and restoration.
Fast deployment Spinning up an OS is faster than ordering a new physical server. When a user needs a new OS for a temporary task, you can provision one in seconds on a virtualised system.
Use more software The software you want to use may be too old for current OS versions, or may run on an entirely different OS. Running in a VM is a fast and easy way to keep it operating.
Both Windows and Linux support virtualisation directly within the OS. Windows uses Hyper-V, which is available both on Windows 10 and Windows Server. Linux includes the kernel-based virtual machine (KVM). You can also use third-party virtualisation systems that provide extra features. These include VMware ESXi, and (on Linux) Proxmox.
Virtualisation's cost and management benefits are so compelling that it's difficult to find companies not using it in one form or another, whether it's on-site or by default in the cloud. If you haven't made the leap yet, it's worth investigating this technology.