In the context of IT in general and computing in particular, virtualization refers to the process of creating a functional virtual environment that itself runs over some physical resource.
Scope wise, virtualization is a very broad term as it can apply to a large number of scenarios and deployments. Some of the most common forms of virtualization include hardware, storage and network.
History of Virtualization
The concept of virtualization dates back to 1960s, when computing resources were astronomically costly and reserved for the select few.
Back then, there was no concept of personal computers (PC) as only gigantic mainframe computers used to exist. The scarce number of these machines and a large number of users necessitated virtualization.
- Virtualization for Dummies
- Working of Server Virtualization in Cloud Computing
- dinApp – Overview of Application Virtualization
Types of Virtualization
Given the wide scope of computing, the concept of virtualization can be applied to a variety of scenarios. In this post, we will highlight some of the most common forms.
Also called platform virtualization, it refers to the creation of virtual machines over a much larger physical hardware resource. Each of these virtual machines (VM) has a fully functional operating system. Here is what Wikipedia explains more about hardware virtualization.
Take the example of a physical server (host) with 500 Giga Bytes (GB) of storage. A user can create five virtual machines / guests over this host, each with a storage of 100 GB.
Two terms that are very important in this type of virtualization are the host machine and the guest machine. The actual hardware resource over which VMs are created is called the host.
Any number of VMs that are created virtually over the hardware resource are called guest machines. In this environment, it is not mandatory for the host and guest machines to be running the same operating system (OS).
For instance the host machine may be running on Microsoft Windows OS. However, the guest machines may be running on Linux OS. Some degree of compatibility will be required between operating systems though.
- Top 8 Hybrid Cloud Computing Expectations for 2020
- How to Achieve a Secure Cloud Going Into 2020
- 12 Ways Cloud Computing is Transforming Education
This is a very critical component of any hardware virtualization. Hypervisor is the software that creates virtual machines over the host machines.
Role of the hypervisor does not end at just creating guest machines over the host, rather it is also used to manage and monitor the resources of the entire virtualized environment.
Advantages of Hardware Virtualization
Hardware Virtualization is characterized by convergence of costly computing hardware to a central location and subsequent allocation of these resources to guest machines purely on a need basis.
Due to this inherent benefit, hardware virtualization emerged as a powerful replacement for dispersed computing and storage resources that were not only costly to procure, but also carried high recurring costs.
A centralized architecture also worked in favor of the all important enterprise goal of ensuring fail safe data security. It is much more feasible to secure a single data repository as compared to countless end point devices.
What is a Snapshot?
In the context of hardware virtualization, the term “snapshot” holds a very specific connotation. For any virtual / guest machine, snapshot refers to the state of a VM at any specific point in time.
As all the resources of a VM such as storage, RAM and bios are virtualized, snapshots are taken on a periodic basis and stored. Each snapshot of a VM is in fact a backup that will act as a restore point in any contingency.
Virtualized hardware works in a very dynamic and fragile ecosystem. In addition to problems in the host machine hardware, the infrastructure can run into technical bottlenecks.
When trouble shooting issues in a virtualized environment, things can go wrong very quickly. Snapshots act as a backup and restore mechanism for VMs in case the infrastructure is faced with any vulnerability.
Migration via Snapshots
As explained earlier, each snapshot of a VM is essentially a restore point in case of any contingency. This snapshot can be moved over to a new host machine for a number of reasons.
The entire process which includes stopping a functioning VM, taking its snapshot, moving and restoring that VM over an entirely different host machine is known as migration.
Migration is a relatively routine matter in virtualized environments. To ensure a speedy and seamless migration, the industry’s best practice is to regularly archive snapshots of important VMs.
As a virtualized environment is heavily reliant on the host machine, one cannot rule out a complete hardware failure or breakdown, rendering the entire virtualized environment non serviceable.
To prevent such a scenario, a failover mechanism has be to put in place. In such a rare occurrence, a backup server needs to be put in place that starts acting as a stop gap host machine.
This server is periodically updated with the latest snapshots of all the VMs running over the virtualized environment. If the server contains too dated snapshots, the significance of the failover mechanism will be marginalized.
This is an extended form of conventional virtualization. In this deployment, a hypervisor remains fully functional within another hypervisor.
A nested virtualization further expands the possibilities of a virtualized infrastructure. An example of a nested deployment is addition of a virtualized application layer over a VM.
However, a nested virtualization is subject to hypervisors supporting this infrastructure. The general rule here is that hardware virtualization tier should run a more advanced version of OS than the OS running virtualized apps.
Licensing & Virtualization
Despite the fact that guest machines are running virtualized operating systems, deploying enterprises have to procure an additional license for each virtual instance of an OS.
Still, these licensing costs are marginal when compared to the exorbitant costs of setting up and maintaining on premise hardware / infrastructure.
Another key advantage of using licensed OS is that they are much more stable and secure. Any vulnerabilities therein are regularly addressed via patches and security updates.
This form of virtualization is also known as Virtual Desktop Infrastructure (VDI). This adds a whole new dimension of ease and versatility for the end user.
In case of VDIs, a user does not need to interact directly with the host machine. Instead, a complete intermediary layer is added through which a user can interact by using multiple device platforms.
The link or connection is established via LAN, Wireless LAN or the internet. A user will be able to access and interact with the VM from a smartphone, tablet, laptop or PC, as and whenever convenient.
Any changes or operations performed by the user through any of the above login devices will actually effect changes over the VM residing on the host machine.
VDIs are particularly effective for organizations that want to converge their data and business critical processes at a central location. This also ensures that data security can be beefed up as it is converged at a single point.
Hosted Virtual Desktops (HVD)
It is an even more versatile form of the Virtual Desktop Infrastructure (VDI). In this virtualization model, the VMs are hosted over the cloud in the data centers of a third party called a Cloud Service Provider (CSP).
This deployment model eliminates the need for maintaining a data center on premise. In this way, organizations that go for deploying HVDs firstly save the upfront capital expenditures of setting up an on premise data center.
Secondly, this model also results in additional savings by eliminating the need for recurring operational expenses as data centers are a costly proposition to build in the first place and then maintain later on.
In return for providing storage and compute power, CSPs charge the cloud tenant purely on a usage basis. This way, organizations can rapidly scale their HVDs in line with changing business circumstances.
This is also known as Operating System (OS) level virtualization. The plus point with containers is that they can share common resources and remain fully functional over different computing environments.
In theory, the possibilities for virtualization are limitless. Many modern IT solutions are being developed on the pretext of being capable of running over virtualized environments.
Even some of the conventional solutions are also being transitioned to work in virtualized and cloud native environments due to their inherent benefits.