Back

What is virtualization? (Review of concepts and definitions)

Image Slider

February 5, 2020

By Jordan ASSOULINE, DevOps Expert and Technical Evangelist, SQUAD

Definitions

According to the "official" definition (https://fr.wikipedia.org/wiki/Virtualisation), virtualization consistsof"running operating systems—in which case it is referred to as system virtualization—or applications—in which case it is referred to as application virtualization—on a host machine in an isolated environment."

It is therefore a computer mechanism that involves running multiple systems, servers, or applications on the same physical server. In short, it is a mechanism for sharing the technical resources of a physical server.

To better understand virtualization, it is also necessary to redefine (if necessary) what an operating system is. An operating system, or "OS," is software that controls hardware devices and receives instructions from the user themselves... or from other software and applications. The OS is the interface between the computer hardware (network card, storage system, sound card, USB ports, etc.) and the user. To facilitate this interface, applications are often used to act as intermediaries between the user and the operating system.


How did server virtualization come about?

... Because "yes!" when we say "virtu," we are indeed talking about "virtualization," and, in essence, we are referring to "server virtualization."

Let's go back in time for a moment. In the 1970s, each service was hosted on a different server. It therefore only used a fraction (unprofitable) of the processor or RAM of the machine on which it depended.

The main idea behind virtualization is to distribute the use of a physical machine's CPU and RAM among several isolated services within virtual machines hosted on the same physical server. It should be noted that a machine is never loaded to 100% capacity in order to avoid any downtime.

This practice requires a new approach to machine operation. Machines are no longer dedicated to a single operation but integrate several functions and services. This requires a system to manage the various virtual machines that can be hosted on a single physical system.

It is called a hypervisor... and two concepts of virtualization then emerge, categorizing hypervisors as type 1 or type 2.


Virtualization with type 1 hypervisors

This is a dedicated operating system, permanently installed on the system and designed specifically to perform virtualization tasks. It acts as the machine's operating system. To perform its roles, it creates miniature partitions (or subsystems), particularly for Hyper-V. Each of these systems uses the physical machine's hardware via the hypervisor, which manages the dispatch between hardware resources and the needs of the VMs (Virtual Machines).

The four best-known Type 1 hypervisor solutions are:

  • VMWARE ESXI or Microsoft Hyper-V on the licensing side,
  • and Xen (on the decline) or Proxmox in open source. Note: Proxmox also allows container management.

Virtualization with a type 2 hypervisor 

Type 2 hypervisors are not operating systems but software, more specifically emulators. This additional software to an OS comes atthe third level, after the hardware and the OS.

Type 2 hypervisors generate virtualized operating systems that behave like an OS.

The main players in this category are VMWARE Workstation on the licensed side and QEMU and VirtualBox on the open-source side.

It should be noted that emulators of this type generally incorporate other functions and uses.


In conclusion, virtualization boils down to methods and tools for optimizing the hardware usage of servers. There is no mention of the cloud at this stage, even though misuse of language is common in this area.