/
Virtualization

Virtualization

Virtualization is a technology that allows you to create a virtual version of a server. In practice, this means that multiple virtual machines (VMs), each with its own operating system and software, can run simultaneously on a single physical machine. 

Each virtual machine thinks it's real! Applications that communicate with it don't notice any difference from the physical server.

Why you need virtualization

Virtualization helps you use hardware more efficiently by letting you run applications in separate VMs-with the proper operating system and configurations. This is much more cost-effective than filling a physical server with a couple of lightweight websites or trying to host dozens of applications with different system requirements on a single OS. In virtual machines, they work in isolation. 

Another benefit of virtualization is manageability. Virtual machines can be started up in minutes and just as easily deleted when no longer needed. In addition, you can deploy a VM from templates-with all the settings and a set of software, which is very convenient when you need to scale quickly. 

How virtualization works

Virtualization is provided by a special program - hypervisor. The hypervisor creates virtual machines and supports their operation: it distributes physical server resources (RAM, disk space, CPU) among VMs, isolates them from each other, starts and deletes VMs at the user's command.

Hypervisors can be either hardware or software based.The type of virtualization on the hypervisor depends on this parameter.

Hardware virtualization

With hardware virtualization, the hypervisor works directly with the server processor: it is not installed on the host operating system, but is itself a kind of an operating system. The benefits that many administrators love about hardware virtualization include:

Speed - VMs run faster on hardware virtualization because the code runs on the CPU, without additional layers.

Security - There is no host OS, which means there is no other point of failure where a vulnerability could bring down all VMs.

Popular hardware hypervisors for Windows are VMware, for Unix systems - KVM, on the basis of which many solutions such as VMmanager, Virtuozzo are created. Another name for hardware hypervisors is Type I hypervisors.

Software virtualization

With software virtualization, the hypervisor is installed on top of the host operating system-just like regular software. Software hypervisors are relatively easy to use and are often used by developers to debug and test code on different operating systems. Because of the additional layer - the host OS - software virtualization is less fast and secure than hardware virtualization: problems with the host can affect all virtual machines deployed on it, and all operations are slower.

Examples of software hypervisors include VirtualBox (supported for both Windows and Unix-like systems), VMware Workstation for Windows, and Parallels Desktop for MacOS. Software hypervisors are also referred to as Type II hypervisors.

Container virtualization

Container virtualization, like software virtualization, is installed on the host and manages virtual entities - containers. However, the peculiarity of container virtualization is that it does not deploy guest operating systems, but uses the host OS. An example of a container virtualization platform is Docker.

There is Docker in ispmanager. I’ve settled databases in there.They live on a common host, but in separate containers, so they don't conflict with each other, even though they have different tastes.