Although this technology originated in the early 1960s as a response to the problem of saving computing resources of the computers of that time, it has not lost its relevance. The importance of virtualization is that this technology allows you to improve the efficiency, fault tolerance, flexibility and scalability of computing power, while reducing costs, which will always be relevant in the IT sector. The scope of virtualization is quite extensive, ranging from simple use for running various operating systems and software products designed for them, without the need to change the hardware or operating system, to dividing large systems into smaller parts, which allows you to use the same server capabilities more efficiently. Data centers and clouds can actively use virtualization to achieve the relevance described above. Containers are also based on the virtualization approach, they allow you to run applications in an isolated environment, but unlike virtual machines, containers are just separate processes, not completely independent machines.

HYPERVISORS

A hypervisor is software that allows you to create and run virtual machines. There are three types of hypervisor architecture:

Type 1 hypervisors (native). Runs directly on the computer hardware. This hypervisor controls all virtual machines and the distribution of computing resources. Examples: VMWare ESXi, KVM, XEN, Hyper-V.

Type 2 hypervisors (hosted). Runs as software on top of the operating system. Examples: Oracle VM VirtualBox, VMWare Workstation, KVM.

Hybrid hypervisors. Combines the characteristics of the first and second types. Runs on top of the computer's base operating system. Examples: Xen, Hyper-V.
{{image name="program-image1.png" alt="" title="" }}

MICROSOFT HYPER-V

  • Manufacturer – Microsoft.

  • Free product.

  • You can use the API to create and administer virtual machines. Windows has built-in HCS and WMI APIs. WMI is designed to manage local servers, while HCS is lower-level and is designed to manage a separate virtual machine process.

Pros:

  • Easy to use.

  • Ability to move a running server from one node to another.

  • Remote connection via console.

  • Installation of virtual desktops.

Cons:

There is no support for software from other developers.

Management utilities:

  • Hyper-V Manager. Installed via Windows Features, respectively the official utility from Microsoft.

Utilities for connecting to virtual machines

  • VMConnect

  • The use of this technology can be found in various cloud products. For example: ArubaCloud, DataLine, etc.

VMWARE ESXI

  • Manufacturer – VMWare.

  • Free product. There are paid versions with improved functionality.

  • You can use the REST API to create and manage virtual machines. The API is only available for paid products.

Pros:

  • Easy to use.

  • High density of computing machines.

  • Quite a wide functionality (in paid versions).

Cons:

  • Free version limitations.

  • Payment for each server where this hypervisor is used separately.

Management utilities:

  • vSphere Client and vSphere Web Client.

Utilities for connecting to virtual machines:

  • Built-in vSphere clients.

  • This technology is actively used in the cloud services sector and is one of the most common solutions.

KVM

  • Manufacturer – Red Hat.

  • Free product.

  • The API is a set of system calls for working with virtual machines. Among them are global system calls, virtual machine calls, CPU calls, and individual device calls.

Pros:

Easy to administer using various software.

Quite fast.

Wide support for guest OS.

Resources are distributed between machines independently.

Cons:

  • Difficulty in setting up this hypervisor.

Utilities for management:

  • VMmanager KVM (paid).

  • Virt-Manager, etc.

Utilities for connecting to virtual machines:

  • VNC

  • Although KVM is a relatively young technology than the same XEN, it is already actively supported by such giants as HP and IBM.

QEMU

  • Developer – Fabrice Bellard.

  • Free product.

  • Working with QEMU via command line. There is no separate API as such.

Pros:

  • Open source.

  • Stable and easy to configure.

Cons:

  • Difficult to learn (not very suitable for beginners).

  • Works in tandem with KVM (for virtualization).

  • Rather slow for software emulation.

Utilities for management:

  • Qtemu

Utilities for connecting to virtual machines:

  • VNC

  • Virtual Box uses QEMU for a small part of its functionality

OVIRT

  • Developer – Red Hat.

  • Free product based on the KVM library.

  • There is a REST API, the libvirt library is used.

Pros:

  • Ability to manage virtual machines via a web interface.

  • Ease of adding and removing virtual machines.

  • Autonomous management of virtual machines and hosts.

Cons:

  • Difficult to learn.

  • Storage is network based.

Management utilities:

  • oVirt VM Portal

Utilities for connecting to virtual machines:

  • oVirt Remote Viewer

  • Recently, such companies as CISCO, IBM, INTEL and others have announced their support for the project.

OPENVZ

  • Developer – Parallels.

  • Free product.

  • Virtualization at the operating system level, with support for Linux guest systems only.

  • For integration, it is possible to use LibVirt, or OpenStack API, which supports work with OpenVZ.

Pros:

  • Relatively low memory usage compared to other technologies.

  • Easy to track.

  • Containers have better CPU performance.

Cons:

  • There are restrictions on using the OS.

Utilities for management:

  • OpenVZ Web Panel.

Utilities for connecting to virtual machines:

  • OpenVZ guest tools.

  • OpenVZ is most often used to create containers using the Virtuozzo tool.

XEN

  • Developer – The Xen Project.

  • Free product.

  • There is an API in the form of system libraries, Libvirt, XAPI, command line.

Pros:

  • Full virtualization.

  • Uses Citrix Storage Link as a unique way to store data.

  • Supports multi-core processors.

Cons:

  • Relatively slow, especially at high request rates.

  • XEN integration can be quite problematic.

Utilities for management:

  • Citrix XEN Center.

Utilities for connection to virtual machines:

  • Citrix VM tools.

  • Citrix and Oracle use virtualization from XEN in their products.