Recently, cloud computing has emerged as a promising computing paradigm to offer consumers on-demand storage and processing services. Cloud computing facilitates businesses and enterprises because they are no more required to develop and maintain the Information Technology (IT) infrastructure. Apparently, the provision of on-demand resources, for example storage and processing seem straightforward but in fact this is a complex task with several intricacies. The cloud services and resources are provided to the cloud tenants through the process called virtualization.
The process of sharing a physical resource among the multiple consumers or tenants by creating the virtual servers, devices, and other infrastructure components, for example memory processors, and network etc. is called virtualization. Virtualization is an important aspect of cloud computing and it helps cloud providers virtualize their physical resources for distribution among the multiple providers.
Virtual Machine Monitor (VMM)
The virtualization is accomplished by creating the virtual machines to emulate or virtually represent a particular physical resource. Each virtual machine has its own operating system and the applications to execute. Moreover, to communicate with the hardware, the virtual machines need a program called Virtual Machine Monitor (VMM) or hypervisor. An important characteristic of the VM technology is that several virtual machines can execute on one physical machine. Due to the capability of having multiple virtual machines on single server, the customers are not required to procure the separate physical machines and hence virtualization brings significant savings to the cloud tenants in terms of cost.
The hypervisor encapsulates the functionality to carry out the virtualization related activities, for example allocation of physical resources like storage, memory, network, and processor etc. The machines on which the hypervisors are installed are called Host Machines whereas the virtual machine itself is called the Guest Machine.
The hypervisor lets the physical machines separate their resources from the virtual machines by creating a virtualization layer and each of the created virtual machine is capable of running its own applications and operating system. However, all the virtual machines still share the physical resources of the sever on which they execute. There are several types of hypervisors. Some popular hypervisors are listed here:
- Kernel Based Virtual Machine (KVM)
- Red Hat Enterprise Virtualization (RHEV)
- Microsoft Windows Server 2012 Hyper-V
Types of virtualization
Virtualization in cloud computing can be divided into the following types:
By storage virtualization, we mean that pooling the storage resources from multiple devices such that they appear as single centralized storage resource. The storage devices used in pooling can be from different networks. The notion of storage virtualization offers great deal of benefit to the cloud computing to provide on-demand storage services.
In hardware virtualization, physical resources are, such as processing, memory, and networking services with the help of hypervisor are abstracted. Due to the hardware virtualization different operating systems and applications can be installed to provide the shared access to the resources in the cloud environment.
In server virtualization, a physical server is divided into multiple virtual servers. Again, the hypervisor plays a critical role here to manage multiple virtual servers. The task is done at the cloud provider side and the cloud tenants are relieved of the intricacies of management.
In data virtualization, the data is retrieved from the multiple sources without even having the knowledge about the data location. Moreover, the data retrieved is of heterogenous types that can further be accessed by different clients or tenants as per their requirements with the help of appropriate tools.
In application virtualization, the applications are abstracted in such a way that they appear separate from the underlying operating system. Thus, in the cloud environment, multiple applications can execute virtually regardless of the operating system.
The network virtualization involves combining all the available network resources from various networks and split those into multiple channels separate from each other. Thus, these network resources are made available to the virtual machines.
In conclusion, virtualization ensures efficient and scalable resource provisioning in the cloud environment by reducing the overall operational and management costs.
To read about Cloud Security Framework, click here.