A few notes about Virtualization

Zandra Monteiro
2 min readDec 27, 2021
man holding a phone

In the traditional model software is installed in an operational system which lies on hardware. So whenever the software demand for more physical infrastructure to support more users or services, the vertical upgrade takes place.

In order to try to solve this issue, the horizontal upgrade appears: computers work together to split tasks and share resources. To fill increasing demands, new computers are added to the cluster, keeping its own operational system structure and, thus, its own processes.

Virtualization comes to separate operational system and hardware by adding a software layer that simulates physical infrastructure. It allows, for example, to run different operational systems on the same machine. The opposite way also happens: because of the virtualization layer, the operational system (in this context called virtual machine) only “sees” one hardware.

Benefits?

Virtualization can reduce investments in hardware, power and physical space. As not all processes demand the same amount of processing (CPU bound), memory (I/O bound) and other resources, those that are not being used can be reduced without harming the process. By optimizing the current resources, there is no need of acquisition of new equipment, costs with maintenance, power and others.

Furthermore, the maintenance of legacy systems is a great challenge faced by many companies. Sometimes an old hardware holds the responsibility of keep an application running with specific settings, even deprecated. The virtualization allows to simulate that obsolete hardware without the risk of a fatal stop. Besides this, once every virtual machine works independently, if there is a problem with one of them, it will not affect the others.

It is also possible to emulate various hardware of different architectures and test applications made to run on specific systems without the need of buying each equipment.

Types:

  • App virtualization: an app can be hosted in only one machine and accessed by a huge number of users, with reduced cost, as the costs are divided among all users.
  • H-based: a software layer called Hypervisor manages the communication of each virtual machine (VM) and the OS host.
  • OS-based: the use of containers improve the management of services and resources in the cloud.

The difference between VM and container is that containers run as an isolated process in the host and share the OS, while the VM has a complete OS for each virtual machine.

To know more about this subject, I recommend this video.

Do you want to read this post in Portuguese? Access this link.

--

--

Zandra Monteiro

Passionate about programming and solving problems using code! Enjoying this amazing journey of becoming a dev, I’ll share here some of it.