Virtualization is a technique to divide the computer resources logically. It’s achieved by abstracting away the underlying complexity of resource segregation. Although an old technology, it’s still a popular technique and highly relevant in this era of cloud computing.
In this tutorial, we’ll discuss various aspects of virtualization such as the concept, its types, and its workings.
2. What Is Virtualization?
Virtualization helps us to create software-based or virtual versions of a computer resource. These computer resources can include computing devices, storage, networks, servers, or even applications.
It allows organizations to partition a single physical computer or server into several virtual machines (VM). Each VM can then interact independently and run different operating systems or applications while sharing the resources of a single computer.
3. How Does Virtualization Work?
Hypervisor software facilitates virtualization. A hypervisor sits on top of an operating system but we can also have hypervisors that are installed directly onto the hardware. Hypervisors take physical resources and divide them up so that virtual environments can use them.
When a user or program issues an instruction to the VM that requires additional resources from the physical environment, the hypervisor relays the request to the physical system and caches the changes.
A virtual machine created by a hypervisor functions as a single data file, and we can move it from one computer to another, open it there, and it works the same as on any other machine. Thus, it provides a lot of flexibility and portability.
4. Types of Hypervisors
Hypervisors are available in two categories: Type 1 and Type 2.
4.1. Type 1 Hypervisors (Bare Metal)
A Type 1 hypervisor is installed directly on top of the physical machine. Type 1 hypervisors are also known as bare-metal hypervisors due to the nature of their installation type.
These categories of hypervisors are more popular and secure than the Type 2 hypervisors.
Type 1 hypervisors have a lower amount of latency and are the most used in the market. Some examples of these hypervisors are VMware ESXi, Microsoft Hyper-V, or open-source Kernel-based VMs (KVMs).
4.2. Type 2 Hypervisors (Hosted)
On the other hand, for Type 2 hypervisors, there is a layer of host OS that sits between the physical server and the hypervisor. For this reason, we call these hypervisors “hosted hypervisors”.
They are less common and mostly used for end-user virtualization.
They are known to have more latency compared to Type 1 due to their hosted nature. Type 2 hypervisors include Oracle VirtualBox or VMware Workstation.
5. Types of Virtualization
Virtualization is classified into several categories based on the resource we virtualize.
5.1. Data Virtualization
With data virtualization, the virtualization software sits in front of multiple data sources and allows them to be treated as a single data source. This facilitates delivering the required data in a specific format.
5.2. Desktop Virtualization
Desktop virtualization lets us deploy simulated desktop environments to many physical machines at once. Unlike traditional desktop environments that are physically installed, configured, and updated on each machine, desktop virtualization allows admins to perform mass configurations, updates, and security checks on all virtual desktops.
5.3. Server Virtualization
Servers are computers designed to process a high volume of specific tasks so that other computers such as laptops and desktops can do a variety of different jobs. Virtualizing a server lets it do more of those particular functions and involves partitioning it so that the components can serve multiple purposes.
5.4. OS Virtualization
Operating system virtualization happens at the OS kernel, and it’s a useful way to run multiple operating systems side-by-side. It reduces hardware costs, increases security, and limits software maintenance (update/patching) costs.
5.5. Network Functions Virtualization
Network functions virtualization separates the network functions such as IP configuration, file sharing, and directory services. Virtualizing networks helps to reduce the number of physical components such as switches, routers, servers, cables, and hubs.
6. Benefits of Virtualization
6.1. Cost Savings
The ability to run multiple virtual machines in one piece of physical infrastructure drastically reduces the footprint and the associated cost. Moreover, as this consolidation is done at the core, we don’t need to maintain as many servers. We also have a reduction in electricity consumption and the overall maintenance cost.
6.2. Agility and Speed
Spinning up a virtual machine is a straightforward and quick approach. It’s a lot simpler than provisioning entirely new infrastructure.
For instance, if we need a development/test region for a team, it’s much faster to provision a new VM for the system administrators. Besides, with an automated process in place, this task is swift and similar to other routine tasks.
In this article, we provided an introduction to virtualization and discussed how it works. We then talked about different hypervisors.
Finally, we discussed different types of virtualization and its benefits compared to traditional non-virtualized computing.