Virtualization in Cloud Computing Involves
Virtualization in Cloud Computing Involves
• Host Machine: The machine on which the virtual machine is going to be built is
known as Host Machine.
• Guest Machine: The virtual machine is referred to as a Guest Machine.
Benefits of Virtualization
The huge growth in the adoption of virtualization and cloud computing is because of
the various benefits it provides over traditional computing. Some of these benefits
include:
• We can gain better performance and use resources more efficiently in existing
computational resources using CPU utilization.
• Since virtual machines are logically separated from the host system and from
each other, an attack on one won’t bring down the others. This lets us boost
security and availability of VMs.
• We can run many VMs over the same host hardware. This lets us reduce the
costs for operation and maintenance of hardware and software
• VMs provide better reliability and disaster recovery than traditional systems,
hence letting us rest easy in terms of operation capabilities.
• Virtualization is also environment friendly, as lesser physical resources need to
be consumed than a traditional network of a similar scale.
Drawback of Virtualization
Characteristics of Virtualization
i) Managed Execution: The execution of the programs can be controlled, with the
possibility of it being run on various computer environments.
The above figure shows how the various characteristics of virtualization are
implemented in the architecture.
ii) Sharing: Virtualization enables separate computing environments to share the same
hosts. This helps to decrease the number of servers required to be set up, and in effect
reduce power consumption. Resources are shared to decrease the amount of
hardware that is needed to run the system.
iii) Aggregation: While sharing involves multiple computing environments sharing one
host, the opposite is also possible in virtualization. A group of separate hosts can be
consolidated together to appear as one single host to the user. This is called
aggregation of resources, and each consolidated group is called a ‘cluster’.
iv) Emulation: Emulation means using a program or a device to imitate the working of
another program or device. A program/device completely different to the host can be
emulated on the host device through virtualization.
UNIT -2 Virtual Machines and Virtualization of Clusters and Data Centers
v) Isolation: Virtualization enables the virtual machine(VM) or the guest application to
be completely separate from the host machine. An application called the Virtual
Machine Manager, also called hypervisor, acts as the middleman between the guest
and host machines. This lets the harmful actions from either the guest or host from
harming the other.
vi) Portability: As we’ve seen above, the virtual image of the guest OS can be
downloaded and run on different hosts, and can be run safely and moved to other
hosts. The applications can also be run on other hosts without recompilation.
Types of Virtualization
Here are six types of virtualization in cloud computing possible when talking about
virtualization techniques:
Application Virtualization
This is among the types of virtualization in cloud computing that enables users to have
remote access to an application from a server. The server contains all the data and
information of the application running on it, but it can be accessed from another
system in a different geographical area through the internet.
UNIT -2 Virtual Machines and Virtualization of Clusters and Data Centers
Network Virtualization
This is among the types of virtualization in cloud computing that enables us to combine
the various available resources by judiciously separating the available bandwidth into
different channels. This lets us run multiple virtual networks at the same time, with
each channel having different systems communicating.
UNIT -2 Virtual Machines and Virtualization of Clusters and Data Centers
Here, to the client, the different physical server networks that lie on the internet aren’t
visible. This enables the client to view the entire network as one big system.
Desktop Virtualization
This is among the types of virtualization in cloud computing that allows the user’s
operating system to be accessible from a remote server in a far off data center. It
allows the user to access the OS from any system virtually without having to store any
data on one client system. A huge benefit of this is that the user can run many different
operating systems at the same time without having to reboot or change system
settings.
As we can see above, the client can communicate with the servers using the virtual
desktop. The user can now access the OS (virtual desktop) to communicate with the
server from any client system.
Storage Virtualization
This enables the data given as input and generated as output to be stored on a vast
array of servers at a remote data center/s. All the memory storage systems are
controlled by the virtual storage systems. The data from multiple sources are stored as
a common repository.
UNIT -2 Virtual Machines and Virtualization of Clusters and Data Centers
As the above picture shows, data can be stored on multiple physical storage servers
but appear to the user that it is being stored on one single system.
Server Virtualization
This enables one central server to be restructured into multiple smaller virtual servers
that mimic the functioning of the central server. Each virtual server has its own OS and
works in an isolated manner.
With server virtualization, it is now possible to process multiple requests at the same
time without overloading the main server with requests. This also increases the
availability of the server resource as one server failing won’t have an effect on the
functioning of the others.
UNIT -2 Virtual Machines and Virtualization of Clusters and Data Centers
As the figure shows, the data coming from the user can be processed by multiple
different servers, but to the user, it appears as if one single server is processing all its
requests.
Data Virtualization
This enables the various devices to receive and process data without having to know
when and how the data was collected. The data is formatted logically in a way that the
virtual view of the data can be accessed by the various stakeholders without having to
see the background processes that took place to process that data
As we can see in the picture above, the data virtualization allows the data processors
and data consumers to be separate. This lets the consumers receive data from the
sources without having to know when, where or how the data was processed. This
significantly increases security as the client doesn’t know where the data is coming
from.
Uses of Virtualization
• Data Integration:
• Business Integration:
• Service-Oriented Architecture (SOA) Data Services:
• Searching Organizational Data:
UNIT -2 Virtual Machines and Virtualization of Clusters and Data Centers
Implementation Levels of Virtualization using multiple platforms
To tackle this, there exists a hypervisor. What hypervisor does is, it acts as a bridge
between virtual OS and hardware to enable its smooth functioning of the instance.
There are five levels of virtualizations available that are most commonly used in the
industry. These are as follows:
In ISA, virtualization works through an ISA emulation. This is helpful to run heaps of
legacy code which was originally written for different hardware configurations.
A binary code that might need additional layers to run can now run on an x86 machine
or with some tweaking, even on x64 machines. ISA helps make this a hardware-
agnostic virtual machine.
The basic emulation, though, requires an interpreter. This interpreter interprets the
source code and converts it to a hardware readable format for processing.
As the name suggests, this level helps perform virtualization at the hardware level. It
uses a bare hypervisor for its functioning.
This level helps form the virtual machine and manages the hardware through
virtualization.
This way multiple users can use the same hardware with numerous instances of
virtualization at the same time.
UNIT -2 Virtual Machines and Virtualization of Clusters and Data Centers
IBM had first implemented this on the IBM VM/370 back in 1960. It is more usable for
cloud-based infrastructure.
Thus, it is no surprise that currently, Xen hypervisors are using HAL to run Linux and
other OS on x86 based machines.
At the operating system level, the virtualization model creates an abstract layer
between the applications and the OS.
It is like an isolated container on the physical server and operating system that utilizes
hardware and software. Each of these containers functions like servers.
When the number of users is high, and no one is willing to share hardware, this level of
virtualization comes in handy.
Here, every user gets their own virtual environment with dedicated virtual hardware
resources. This way, no conflicts arise.
Library Level
OS system calls are lengthy and cumbersome. Which is why applications opt for APIs
from user-level libraries.
Most of the APIs provided by systems are rather well documented. Hence, library level
virtualization is preferred in such scenarios.
Library interfacing virtualization is made possible by API hooks. These API hooks
control the communication link from the system to the applications.
Some tools available today, such as vCUDA and WINE, have successfully
demonstrated this technique.
UNIT -2 Virtual Machines and Virtualization of Clusters and Data Centers
Application Level
It is generally useful when running virtual machines with high-level languages. Here,
the application sits on top of the virtualization layer, which is above the application
program.
There are different classes of VM architectures based on the position of the virtualization layers, namely Hypervisor
architecture, Para virtualization and Host-based virtualization.
What is a hypervisor?
A hypervisor is a software that you can use to run multiple virtual machines on a single physical
machine. Every virtual machine has its own operating system and applications. The hypervisor
allocates the underlying physical computing resources such as CPU and memory to individual
virtual machines as required. Thus, it supports the optimal use of physical IT infrastructure.
The fundamentals of virtual machines and other virtualization technologies have enabled cloud
computing services in enterprise applications. They allow you to scale computing services
efficiently on limited hardware infrastructure. For example, different business departments can
run different workloads separately by using multiple virtual machines on a single server.
Hardware independence
A hypervisor abstracts the host's hardware from the operating software environment. IT
administrators can configure, deploy, and manage software applications without being
constrained to a specific hardware setup. For example, you can run macOS on a virtual machine
instead of iMac computers.
Efficiency
Hypervisors make setting up a server operating system more efficient. Manually installing the
operating system and related software components is a time-consuming process. Instead, you
can configure the hypervisor to immediately create your virtual environment.
Scalability
Portability
IT teams can allocate memory, networking, processing, and storage resources across multiple
servers as needed. They have the ability to shift workloads between machines or platforms
easily. When an application requires more processing power, the hypervisor provides seamless
access to additional physical resources.
VMM stands for Virtual Machine Monitor, which is a software layer that enables
multiple
virtual machines to run on a single physical machine, also known as a host machine.
The VMM provides a layer of abstraction between the virtual machines and the physical
hardware, enabling them to share resources while maintaining isolation from one
another.
Xen is an open-source virtualization platform that provides a VMM for hosting multiple
virtual machines. The Xen architecture is based on a microkernel design, with a small
hypervisor at its core that provides basic virtualization services, such as CPU and
memory management, and input/output (I/O) virtualization.
The architecture of Xen consists of several key components:
Dom0: This is the domain that has direct access to the physical hardware and
serves as the management domain. It runs a special Linux-based operating
system that provides drivers and management tools for the virtual machines.
DomU: These are the guest domains that run on top of the hypervisor. Each
DomU It is assigned a subset of the host machine's resources, including CPU,
memory, and I/O devices.
Hypervisor: This is the core of the Xen architecture and provides the basic
virtualization services, such as memory and CPU management. The hypervisor is
responsible for managing the allocation of physical resources to the virtual
machines.
Virtual Device Interface (VDI): This is a layer of software that provides virtualizedI/O
devices to the guest domains, allowing them to interact with the physical
hardware through the hypervisor.
Virtual Machine Interface (VMI): This is a set of APIs that allow the guest domains to
communicate with the hypervisor.
The Xen architecture is known for its high performance and scalability, as well as its
ability to support a wide range of operating systems and workloads.
In addition to its core components, Xen also includes several other key features and
UNIT -2 Virtual Machines and Virtualization of Clusters and Data Centers
capabilities, including:
(EC2) service. EC2 provides scalable computing resources in the cloud, allowing users
to launch virtual machines and pay only for the resources they use.
Another example is Citrix, which offers a range of virtualization products based on the
Xen hypervisor, including XenServer and Citrix Hypervisor. These products are used by
organizations to host virtual desktops and servers, as well as to provide cloud-based
services.
In addition, many academic and research institutions use Xen to support their
computing needs. For example, the University of Cambridge in the UK runs a large-
scale
virtualization infrastructure based on Xen, which is used to support a wide range of
research projects.
Overall, Xen is a popular choice for organizations and individuals looking to virtualize
their computing resources, due to its strong security model, support for
paravirtualization, and extensive feature set.