Virtualization in Cloud Computing
It has been quite a long-time span since virtualization has been a part of the IT infrastructure now, and now-a-days this technique can be applied to a wide range of system layers, including operating system-level virtualization, hardware-level virtualization and server virtualization.
Looking back in the history Virtual machines have been used in several mainframe functionalities since 1960s, most notably the IBM 360/67, became an established essential in the mainframe world during the 1970s. And with the introduction of Intel’s 386 in 1985, VMs gained momentum in the microcomputers and other electronic devices. Contemporary VMs, implemented in microprocessors with the requisite hardware support and with the aid of both hypervisors and OS-level implementations, are essential to the productivity of computation everywhere.
The cloud's virtualization mainly deals with the server virtualization and how it works and why it is termed so?
Still many IT professionals think that Virtualization is just Virtual Machine and their associated Hypervisor. In a broader context, virtualization is the technology to make software seems to be and behave like hardware, by configuring additional resources like server, storage device, network or operating system on one bare metal machine. The main purpose for which the concept of virtualization was invented is to efficiently manage and handle the tasks by radically transforming traditional computing to make it even more resource efficient and productive.
There are several approaches or ways to virtualize cloud servers and these are:
- Grid Approach: where the processing workloads are distributed among different physical servers, and their results are then collected as one.
- OS - Level Virtualization: Here, multiple instances of an application can run in an isolated form on a single OS
- Hypervisor-based Virtualization: which is currently the most widely used technique
Type of Cloud Virtualization:
The basic categories of virtualization are as follows:
- Desktop Virtualization,
- Application Virtualization,
- Server Virtualization,
- Storage Virtualization, and
- Network Virtualization.
The virtualization of the desktop, which sometimes is referred to as Virtual Desktop Infrastructure (VDI), is where a desktop operating system (OS), such as Windows 7, will run as a virtual machine on a physical server with other virtual desktops. It leads to the availability of applications, both single-user and collaborative.
The processing of multiple virtual desktops occurs on one or a few physical servers, typically at the centralized data center. The copy of the OS and applications that each end user utilizes will typically be cached in memory as one image on the physical server.
In today’s VDI marketplace, there are two dominate vendors vying to become the leader in the desktop virtualization marketplace, i.e.
Both vendors have the ability to project graphic displays with rapid response from the mainframe. The desktops also come with a mouse, and both solutions make the end-user’s experience feel that the remote desktop is local. Thus, the performance of the remote desktop and how the end-user accesses their applications should be no different than if they were using a physical desktop.
Both VMware Horizon View and Citrix Xen Desktop each have a strong footprint and are the most-utilized choices for desktop virtualization in business today.
Application virtualization encapsulates an application from the underlying operating system on which it is executed and enables access to an application without needing to install it on the target device. Application virtualization uses software to package an application into a “single executable and run anywhere” type of application. The software application is separated from the operating system and runs in what is referred to as a “sandbox.” Virtualizing the application allows things like the registry and configuration changes to appear to run in the underlying operating system, although they really are running in the sandbox.
There are two types of application virtualization:
- Remote: A remote application will run on a server, and the client uses some type of remote display protocol to communicate back to the client machine.
- Streaming of the application: Here, you can run one copy of the application on the server, and then have many client desktops access and run the streaming application locally. By streaming the application, the upgrade process is easier, since you just set up another streaming application with the new version and have the end users point to the new version of the application.
Some of the application virtualization products in the marketplace are
- Citrix XenApp,
- Novell ZENworks Application Virtualization, and
- VMware ThinApp,
Server virtualization allows for many virtual machines to run on one physical server. The virtual servers share the resources of the physical server, which leads to better utilization of the physical server resources. The resources that the virtual machines share is
- Storage, and
All these resources are provided to the virtual machines through the hypervisor of the physical server. The hypervisor is the operating system and software that operate on the physical box.
Each virtual machine runs independently of the other virtual machines on the same box. The virtual machines can have different operating systems and are isolated from each other.
The server virtualization offers a way to consolidate applications that used to run on individual physical servers, and now with the hypervisor software runs on the same physical server represented by virtual machines. Server virtualization is what most people think of when they think of virtualization, due to VMware’s vSphere, which has a large percentage of the marketplace.
In addition, some of the other vendors are,
- Citrix XenServer,
- Microsoft’s Hyper-V, and
- Red Hat’s Enterprise Virtualization.
Storage virtualization is the process of grouping physical storage using software to represent what appears to be a single storage device in a virtual format. Correlations can be made between storage virtualization and traditional virtual machines, since both take physical hardware and resources and abstract access to them.
There is a difference between a traditional virtual machine and a virtual storage. The virtual machine is a set of files, while virtual storage typically runs in memory on the storage controller that is created using software.
A form of storage virtualization has been incorporated into storage features for many years. Features such as Snapshots and RAID take physical disks and present them in a virtual format. These features can provide a format to help with performance or add redundancy to the storage that is presented to the host as a volume. The host sees the volume as a big disk, which fits the description of storage virtualization.
The storage array vendors have implemented storage virtualization within the operating system of their respective arrays. This type of storage virtualization is called internal storage virtualization. In addition, there is external storage virtualization that is implemented by Veritas and many other storage vendors.
Network virtualization is using software to perform network functionality by decoupling the virtual networks from the underlying network hardware. Once you start using network virtualization, the physical network is only used for packet forwarding, so all the management is done using the virtual or software-based switches.
When VMware’ ESX server grew in popularity, it included a virtual switch that allowed enough network management and data transfer to happen inside of the ESX host. This paradigm shift caught the eye of Cisco, so when VMware was upgrading to vSphere 4.0, Cisco helped to write the code for VMware’s new Distributed Switch. This helped Cisco learn how to work and design network virtualization, and an internal movement was started to write all the Cisco switches to be software-based administrative entities.
The network virtualization marketplace is really in its infancy with many startups and options to choose from currently. Cisco and many startup companies are vying for control in this area of virtualization, which has huge potential.
The vendors in network virtualization are the hypervisor’s internal virtual switch. In addition, third-party vendors, such as Cisco and IBM, have developed virtual switches that can be used by hypervisors such as ESXi.
How Virtualization works in Cloud Computing
Virtualization plays a significant role in cloud technology and its working mechanism. Virtualization changes the hardware-software relations and is one of the foundational elements of cloud computing technology that helps utilize cloud computing capabilities to the full.
Usually, what happens in the cloud - the users not only share the data that is in the cloud like an application but also share their infrastructures with the help of virtualization.
Here, Virtualization is used mainly to provide applications with standard versions for the cloud customers & with the release of the latest version of an application the providers can efficiently provide that application to the cloud and its users and it is possible using virtualization only. Using this virtualization concept, all servers & software other cloud providers require those are maintained by a third-party, and the cloud provider pays them on a monthly or yearly basis.
The cloud often includes virtualization products as a part of their service package. The difference is that a true cloud provides the self-service feature, elasticity, automated management, scalability and pay-as-you-go service that is not inherent to the technology.
If a company decides on whether to apply this technology in a company’s IT infrastructure or not, It’s always recommended to make an in-depth analysis of its specific needs and capabilities, which is better handled by specialists who can address costs, scalability requirements and security needs and implement continuous development.
But also remember that all these techniques and services are not omnipotent or all-inclusive solutions. Like any other technology, tool or service a business adopts, things can always change.