Virtualization


In computing, virtualization is the act of creating a virtual version of something, including virtual computer hardware platforms, storage devices, and computer network resources. Virtualization allows you to use a physical machine’s full capacity by distributing its capabilities among many users or environments.

For example, you have three physical servers with dedicated purposes; one is a mail server, another is a web server, and the last one runs internal legacy applications. Traditionally, it was easy to run individual tasks on individual servers; 1 server, 1 operating system, 1 task.

With virtualization, you can split one of the servers into 2 unique ones that can handle independent tasks. As a result, it is the same hardware, and you are using it more efficiently.

The technologies that enabled virtualization – like hypervisors were developed back in year 1960’s.

How Does Virtualization Work?

Software called hypervisors separate the physical resources from the virtual environments—the things that need those resources. Hypervisors can sit on top of an operating system (like on a laptop) or be installed directly onto hardware (like a server), which is how most enterprises virtualize. Hypervisors take your physical resources and divide them up so that virtual environments can use them.

The image is taken from redhat.com

Resources are partitioned as needed from the physical environment to the many virtual environments. Users interact with and run computations within the virtual environment (virtual machine). When the virtual environment is running, and a user requests additional resources from the physical environment, the hypervisor relays the request to the physical system and caches the changes that all happens at close to native speed.

Types of Virtualization

  • Data Virtualization
  • Desktop Virtualization
  • Server Virtualization
  • Operating System Virtualization
  • Network Functions Virtualization

In my next write-up, I will share some details of each virtualization, and look into the differences between virtualization and containerization. Another new term that I learned while reading through these articles is orchestration.

References

Leave a comment