Hypervisor
Hypervisor is software that can virtualise hardware resources into isolated virtual machines. They can also run different operating systems, meaning multiple operating systems run on a single piece of hardware. However, all applications, services, and development environments are operated in isolation.
The main role of a hypervisor is to allocate hardware resources to individual virtual machines. For example, it determines how much RAM, CPU, or disk space a virtualised server will need. The hypervisor itself also consumes server resources.
There are two types of hypervisors. One is called a “native” hypervisor because the virtualisation happens at a hardware level. Therefore, installing unmodified operating systems on the resulting virtual machines is possible. However, a native hypervisor also has its disadvantage since it needs a greater amount of server resources to operate.
The second type of hypervisor is the hosted hypervisor, which virtualises the server on the operating system level (the operating system is installed on the host server). Therefore, the choice of operating system and work with the individual virtual machines is limited, e.g., so-called nested virtualisation is not possible. However, compared to a native hypervisor, a hosted one is more resource-efficient, making it a convenient choice for less demanding projects.
There are a number of hypervisors. Some of the best-known include VMware vSphere, Microsoft Hyper-V, and KVM. In addition, data centres use virtualisation to create virtual private servers. Another resource-efficient way for applications or development environment isolation is containerisation; however, it has limited capabilities.