Unit 3

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

UNIT 3 RESOURCE VIRTUALIZATION

Structure

3.0 Introduction
3.1 Objectives
3.2 Virtualization and Underlying Abstraction
3.3 Characteristic Features of Virtualization
3.3.1 Advancement in Security
3.3.2 Managing of Execution
3.4 Advantages of Virtualization
3.5 Machine or Server Level Virtualization
3.6 Hypervisor
3.7 Full Virtualization
3.8 Para-Virtualization
3.9 Other Virtualization Techniques
3.9.1 Network Virtualization
3.9.2 Storage Virtualization
3.9.3 Desktop Virtualization
3.9.4 Operating System Virtualization
3.9.5 Data Virtualization
3.9.6 Application Virtualization
3.10 VMware Vs XenServer
3.11 Summary
3.12 Solutions/Answers
3.13 Further Readings

3.0 INTRODUCTION
Cloud Computing has gained immense popularity due to the availability of
scalable Infrastructure as a Services, Platform as a Service, and Software as a
Services. This is a framework where different kinds of services related to
networks, computing resources, storage, development platform, and
application are provisioned through the internet. In this respect, the basic
information of cloud computing is already discussed in the previous unit.

In this unit, we will discuss the basics of virtualization, its advantages, and its
underlying abstraction. It is to be noted that virtualization is the fundamental
technology that helps to create an abstraction layer that hides the intricacy of
the underlying hardware. The virtualization technique provides a secure and
isolated environment for any user application such that one running application
does not affect the execution of another application. Further, in this unit, we
will learn about server-level virtualization and explore different hypervisor-
based virtualization approaches. We will also discuss operating system-level
virtualization, network virtualization, storage virtualization, and desktop
virtualization. Finally, a brief comparison will be done on hypervisors like
XenServer and VMware.

1
Cloud Computing
Fundamentals and
Virtualization 3.1 OBJECTIVES
After going through this unit you should be able to:

• describe virtualization and its advantages;


• understand the concept of machine or server-level virtualization;
• learn about the hypervisor-based virtualization approaches;
• understand the basics of the operating system, network, storage, and
desktop virtualization; and
• compare among XenServer and VMware.

3.2 VIRTUALIZATION AND UNDERLYING


ABSTRACTION

Virtualization is a key technology that creates an abstraction to hide the


complexity of computing infrastructure, storage, and networking. Though
virtualization technology has been around for the last 50 years, its popularity
has increased with the advancement of cloud computing. In a cloud
environment virtualization allows maximum customization and control over
hardware resources and enables the utilization of hardware resources to their
maximum capacity.
Virtualization allows the creation of an abstract layer over the available system
hardware elements like processor, storage, memory, and different customized
computing environments. The computing environment which is created is
termed virtual as it simulates an environment similar to a real computer with an
operating system. The use of the virtual version of the infrastructure is smooth
as the user finds almost no difference in the experience when compared to a
real computing environment. One of the very good examples of virtualization
is hardware virtualization. In this kind of virtualization, customized virtual
machines that work similarly to the real computing systems are created.
Software that runs on this virtual machine cannot directly access the
underlying hardware resources. For example, consider a computer system that
runs Linux operating system and simultaneously host a virtual machine that
runs Windows operating system. Here, the Windows operating system will
only have access to hardware that is allocated to virtual machines. Hardware
virtualization plays an important role in provisioning the IaaS service of cloud
computing. Some of the other virtualization technologies for which virtual
environments are provided are networking, storage, and desktop. The overall
environment of virtualization may be divided into three layers: host layer,
virtualization layer, and guest layer. The host layer denotes a physical
hardware device on which the guest is maintained. The virtualization layer
serves as an intermediary, crafting a virtual setting mirroring a real computer
environment for running guest virtual applications. Here guests always
communicate through the virtualization layer and it may denote a virtual

2
Resource
machine or any other virtual application. A diagrammatic representation of the Virtualization

virtualization environment is shown in Fig 1.

Figure 1: Virtualization Environment

From the above discussion, it should be noted that in reality, the virtualization
environment is a software program, and hence virtualization technology has
better control and flexibility over the underlying environment. The capability
of software to imitate a real computing environment has facilitated the
utilization of resources in an efficient way. In the last few years, virtualization
technology has drastically evolved and the current version of technology
allows us to make use of the maximum benefit that virtualization provides.

3.3 CHARACTERISTIC FEATURES OF


VIRTUALIZATION

In this respect some of the important characteristic features of virtualization


can be discussed as follows:

3.3.1 Advancement in Security: In reality, more than one guest virtual


machine runs on a single host machine and on each virtual machine
different virtual applications are executed. Further, it is very important
to run each virtual machine in isolation such that no two applications
running on different virtual machines interfere with each other. In this
respect, virtual machine manager (VMM) plays an important role by
managing virtual machines efficiently and providing enough security.
The operations of the different virtual machines are observed by VMM
and filtered accordingly such that no unfavorable activity is permitted.
Sometimes it becomes important to hide some sensitive or important
data of the host from other guest applications running on the same

3
Cloud Computing
Fundamentals and system. This kind of functionality is automatically provided by the
Virtualization
virtualization environment.

Figure 2: Features Provided by Virtualization Environment

3.3.2 Managing of Execution: In addition to the features like security,


sharing, aggregation, emulation, and isolation are also considered to be
important features of virtualization. The explanation of these features are as
follows:

o Sharing: Virtualization technology allows the execution of more than


one guest virtual machine over a single host physical machine. Here,
the same hardware resources are being shared by all the guest virtual
machines. Here sharing of existing hardware resources and using
individual physical machines to their optimum capacity help to
minimize the requirement of a number of servers and the power
consumption.
o Aggregation: Virtualization technology allows to combine, the
resources of different independent host machines and seems to guest
as one virtual host. The cluster management software is one of the
very good examples of distributed computing. Cloud computing
environments also make use of these features.
o Emulation: Virtualization environment allows different guest
applications to run on top of the host physical machine. Here the
underlying virtualized environment is a software program and hence
can be controlled more efficiently. Further, based on the requirement
of guest application or program the underlying environment can be
adjusted or modified for smooth execution.
o Isolation: Virtualization environment enables guest virtual machines
to run in isolation such that no virtual machine running on the same
host physical machine interferes with each other. The guest virtual
application accesses the underlying resources through the abstraction
layer. The virtual machine manager monitors the operation of each
guest application and try to prevent vulnerable activity operation if
any.

4
Resource
Virtualization technology is adopted by different areas of computing. Further, Virtualization
based on the requirements and uses different virtualization techniques were
developed and each technique has its own unique characteristics. In this regard
Fig 3 shows a detailed classification of virtualization techniques. We will be
discussing some of the techniques in detail in the later sections.

Figure 3: A Classification of Virtualization

 Check Your Progress 1

1) Explain the importance of virtualization in cloud computing?


…………………………………………………………………………
…………………………………………………………………………

2) How security is achieved through virtualization?


…………………………………………………………………………
…………………………………………………………………………
3) Emulation and isolation are important features of virtualization. Justify
the statement.

…………………………………………………………………………
…………………………………………………………………………

3.4 ADVANTAGES OF VIRTUALIZATION

As discussed earlier, virtualization creates an abstracted layer over the


available hardware elements, such as a processor, storage, and memory
allowing them to disperse over several Virtual Computers, also known as
5
Cloud Computing
Fundamentals and Virtual Machines (VMs). The importance of virtualization was realized when
Virtualization
IT industries were facing difficulty to overcome the problem of x86 servers
which enable running of only a single operating system and application. The
virtualization technology paved the way for the existing IT industry by
maximizing the utilization of individual servers and enabling them to operate
at their maximum capacity. In this regard Fig 4 Shows the difference in
traditional and virtual architecture. Further when we compare the older
virtualization technique with the current version then we will notice that the
older virtualization technique used to support only a single CPU and it was
slow. Further, the current version of virtualization techniques has improved a
lot and it was found that virtual machines may execute server applications as
well as bare metal computer systems.

Figure 4: Traditional Vs Virtual Architecture

In order to improve performance, and to maximize the availability and


reliability of the service, virtualization allows virtual machines to move from
one host machine to another and this is called a virtual machine migration. The
migration of virtual machines is achievable as the underlying environment is
virtual. The virtual machine migration can be achieved offline or live. In case
of offline migration the guest virtual machine is temporarily stopped and after
copying the image of the virtual machine’s memory to the destination host
machine virtual machine is restarted. Next in the case of live migration an
active virtual machine is moved from one host machine to another. It should
also be noted that virtualization technology prefers to migrate virtual machines
from one host machine to another when some kind of load balancing is
required. The type of virtual machine is chosen based on the requirement, that
is if downtime is permissible then offline migration is preferred, or else live
migration is preferred.

Virtualization allows for more efficient use of underlying resources, resulting


in a higher return on a company's hardware investment. Some other advantages
of virtualization may also be highlighted and it can be summarized as follows:

6
Resource
• Reducing Power Need: Virtualization helps to run more than one Virtualization
operating system and application on a single physical system. This
allows to reduce the requirement of more servers and hence reducing
the requirement of energy for running and cooling the physical
machines.

• Lower Cost: Virtualization of hardware or software resources help to


maximize the utilization of individual resources without compromising
with the performance. Thus the extra investment on the servers is
minimized by running more than one operating system and application
on a single server. In addition to this, the requirements for extra space
are also reduced. In this way virtualization technology is helping IT
industries to achieve maximum benefit at a minimal cost.

• Better Availability: Virtualization technology allows to overcome the


problem of sudden downtime due to hardware fault or human-induced
fault. That is virtualization provides a fault-tolerant environment in
which applications are run seamlessly. Virtualization allows better
control and flexibility over the underlying environment when compared
to the standalone system. Further, during the time of fault or system
maintenance, virtualization technology may use live migration
techniques to migrate virtual machines from one server to another. Any
application or operating system crash results in downtime and lowers
user productivity. As a result, administrators can use virtualization to
run many redundant virtual computers that can readily handle this
situation. However running numerous redundant Physical Servers, on
the other hand, will be costly.

• Resource Efficiency: We may run numerous applications on a single


server with virtualization, each with its own virtual machine, operating
system, and without sacrificing the Quality of Services like reliability
and availability. In this way, virtualization allows efficient use of the
underlying physical hardware.

• Easier Management: In software-defined virtual machines, it is much


easier to implement any new rule or policy, making it much easier to
create or alter policies. This may be possible as virtualization
technology provides better control over the virtual environment.

• Faster Provisioning: The process of setting up hardware for each


application is time-consuming, requires more space, and costs more
money. Further provisioning a virtual machine (VM) is faster, cheaper,
and efficient and can be managed smoothly. Thus virtualization
technology may help to create the required configured virtual machines
in minimum time and may also be able to scale up or scale down the
required demands in minimum time. Here it should be noted that the
problem of scalability may also be handled efficiently by virtualization
techniques.

• Efficient resource management: As discussed earlier, virtualization


provides better control and flexibility when compared to traditional
architecture. Virtualization allows IT administrators to create and
7
Cloud Computing
Fundamentals and allocate the virtual machine faster and live- migrate the virtual machine
Virtualization
from one server to another when required to increase the availability
and reliability of the services. In order to manage the virtualized
environment, there are a number of virtualization management tools
available and the selection of appropriate tools may help to manage the
virtual resources efficiently. This tool may help to seamlessly migrate
the virtual machine from one system to another with zero downtime.
This may be required when any server needs maintenance or is not
performing well.

• Single point Administration: The virtualized environment can be


managed and monitored through single virtualization management
tools. However, the selection of efficient tools that provide all the
virtualization services properly is important. The appropriate tool will
help to create and provision virtual machines efficiently, balance the
workload, manage the security of the individual virtual machines,
monitor the performance of the infrastructure, and guarantee to
maximize the utilization of the resources. Here all the different services
can be administered by a single tool.

In the next section, let us study machine or server level virtualization.

3.5 MACHINE OR SERVER LEVEL


VIRTUALIZATION

Server virtualization is a technique to divide a physical server into various


small virtual servers and each of these independent virtual servers runs its own
operating system. These virtual servers are also called virtual machines and the
process of creation of such virtual machines is achieved by hypervisors like
Microsoft Hyper-V, Citrix XenServer, Oracle VM, Red Hat’s Kernel-based
Virtual Machine, VMware vSphere. Here it should be noted that each virtual
machine runs in isolation on the same host physical machine and are unaware
of any other virtual machine running on the same host physical machine. To
achieve this kind of functionality and transparency different kinds of
virtualization techniques are used. Further, there are different types of server-
level virtualization and they are as follows:

• Hypervisor
• Para Virtualization
• Full Virtualization
• Hardware-Assisted Virtualization
• Kernel level Virtualization
• System-Level or Operating System Virtualization

3.5.1 Advantages

There are numerous advantages associated with server virtualization. Some of


them are as follows:

8
Resource
• In the case of server virtualization, each virtual machine may be Virtualization
restarted independently without affecting the execution of other
virtual machines running on the same host physical machine.
• Server virtualization can partition a single physical server into
many small virtual servers and allows to utilize the hardware of the
existing physical servers efficiently. Therefore this minimizes the
requirement of the extra physical servers and the initial investment
cost.
• As each small virtual server executes in isolation, if any virtual
machine faces any kind of issues then it will not affect the
execution of other virtual machines running on the same host
physical machine.

3.5.2 Disadvantages
In addition to some of the advantages server virtualization also have some
disadvantages and they are as follows:

• In the case of a host physical machine, the server faces any


problem and it goes offline then all the guest virtual machines will
also get affected and will go offline. This will decrease the overall
uptime of the services or applications running on an individual
virtual machine.
• Server virtualization allows the running of many numbers of virtual
machines on the same physical server, this may reduce the
performance of the overall virtualized environment.
• Generally, server virtualization environments are not easy to set up
and manage.

3.6 HYPERVISOR

Hypervisor is also known as Virtual Machine Monitor. The hypervisor can be


seen as an emulator or simply a software layer that can efficiently coordinate
and run independent virtual machines over single physical hardware such that
each virtual machine has physical access to the resources it needs. It also
ensures that virtual machines have their own address space and execution on
one virtual machine does not conflict with the other virtual machine running on
the same host physical machine.

Prior to the notion of Hypervisor, most computers could only run one operating
system at most and this increased the reliability of the services and applications
because the entire system's hardware had to handle requests from a single
operating system. However, the demerit of this idea is that the system cannot
utilize all of the computing capacity. However, using a hypervisor minimizes
the need for space, energy, and maintenance. The hypervisor is also referred to
as a virtual machine monitor and it helps to manage virtual machines and their
physical resource demands. It isolates virtual machines from one another by
logically provisioning and assigning computing power, memory, and storage.
9
Cloud Computing
Fundamentals and Thus at any point of time if any virtual machine operation is vulnerable then it
Virtualization
will not affect the execution of another machine.

Figure 5: Type-1 Hypervisor

There are basically two types of hypervisors:

(i) Type-1 or Bare Metal Approach


(ii) Type-2 or Hosted Approach
Hypervisors enable virtualization because they translate requests across virtual
and physical resources. Type-1 hypervisors may also be embedded into the
firmware around the same layer as the motherboard basics input/output system
(BIOS). This helps the host operating system to access and use the
virtualization software.

(i) Type-1 or Bare Metal Hypervisor

This is also termed as “Bare metal” hypervisor. This type of hypervisor runs
directly on the underlying physical resources. For running this kind of
hypervisor operating system is not required and it itself acts as a host operating
system. These kinds of hypervisors are most commonly used in virtual server
scenarios (See Fig 5).

Pros: These types of Hypervisor are highly effective as they can directly
communicate with physical hardware. It also raises the level of security, and
there was nothing in between them that could undermine security.

Cons: To administrate different VMs and manage the host hardware, a Type 1
hypervisor frequently requires a separate administration system.

Examples:

Hyper-V hypervisor: Hyper-V is a Microsoft-designed hypervisor for use on


Windows systems. It is classified as a Type 1 hypervisor, although it differs
from other Type 1 hypervisors in that it does not install on Windows and
instead runs directly on the actual hardware as the Host OS. As a result, it
gains a performance edge.

10
Resource
Citrix XenServer: It is a commercial Type 1 Hypervisor that supports Linux Virtualization

and Windows OS. It was developed by IBM and is generally known as Citrix
hypervisor. Xen supports virtualization technologies such as Intel VT and
AMD-V hardware-assisted environments. It also supports paravirtualization,
which alters the guest OS to work with the hypervisor, improving performance.

ESXi hypervisor: VMware ESXi (Elastic Sky X Integrated) is a bare-metal


hypervisor mainly designed for server virtualization in the Data Center. It can
efficiently manage the group of Virtual machines.

VSphere hypervisor: Customers can download VMware ESXi for free as part
of the Free vSphere hypervisor, which also offers basic server virtualization.
Large businesses will purchase a more comprehensive vSphere solution that
includes a VMware's vCenter Server license. It is a separate server used to
manage the vSphere environment on physical hosts.

(ii) Type-2 or Hosted Hypervisor

This hypervisor is not compatible with the hardware it is running on. It runs as
a program on a computer's operating system. This type of hypervisor takes the
help of an operating system to deliver virtualization-based services. Type-2
hypervisors are best suited for endpoint devices such as personal computers
that run an alternative operating system known as Guest OS. Type-2
hypervisors frequently provide a different toolkit that enhances the connection
between Guest and Host operating systems (See Figure 6.).

Pros: A type-2 hypervisor allows for rapid and easy access to a Guest OS
while the main operating system runs on the host physical machine. This kind
of facility immensely helps the end-user in their work. For example, a user can
use Cortana to access their favorite Linux-based tool (in Windows, only found
a speech dictation system ).

Cons: Type-2 hypervisors can cause performance overhead because they


always need a host operating system in between the guest Operating system
and underlying physical device. It also poses latency concerns and a potential
security risk if the Host OS is compromised.

Figure 6: Type-2 Hypervisor

11
Cloud Computing
Fundamentals and Examples:
Virtualization

• VMware Workstation: It is the product of VMware focused on


Linux and Windows users, and its free Version (Player) allows
it to run a single guest OS while its paid version(Pro) allows
users to run multiple operating systems on a single personal
computer.
• Oracle VM Virtual Box
• Windows Virtual PC
• Parallels Desktop

 Check Your Progress 2

1. Explain online (line) and offline virtual machine migration.


…………………………………………………………………………
…………………………………………………………………………

2. Write any three advantages and disadvantages of Server Virtualization.


…………………………………………………………………………
…………………………………………………………………………
3. Compare Type-1 and Type-2 Hypervisors.

…………………………………………………………………………

…………………………………………………………………………

3.7 FULL VIRTUALIZATION

Full virtualization is a technique to run an application or operating system


directly on a VM without any alteration and it seems to the operating system
that it is running on the real physical hardware. In order to achieve this, the
virtual machine manager provides an environment that fully imitates the
complete real hardware. In other words, full virtualization is a strategy for
creating a virtual machine environment that entirely imitates the physical
hardware. All the software can run on the underlying devices executed in the
Virtual machine. One of the important benefits with respect to full
virtualization is that it allows the execution of the unaltered guest operating
systems in isolation. These kinds of features provide extra security and enable
the running of different unmodified operating systems in the same
environment. For example in the case of operating design, newly developed
code for experiments can run alongside previous versions of operating systems
in isolated virtual machines. The virtual machine manager helps each virtual
machine to obtain all of the existing services of the underlying physical

12
Resource
system. The virtual machine completely isolates the guest operating system Virtualization

from the underlying hardware.

A binary translation and direct execution are used together to accomplish full
virtualization. The hardware CPU runs non-sensitive commands at normal
speed for full virtualization hypervisors. Operating system-related instructions
are interpreted on the fly for further use. As similar kinds of guest operating
system instances can execute on virtualized or real physical systems, the full
virtualization technique delivers the most required isolation and security
solution for virtual instances running on the virtual environment (see Fig 7).

Further, binary translation is a method of establishing full virtualization that


does not necessitate hardware virtualization. It entails looking for “unsafe”
instructions in the virtual guest's executable code, translating them into "safe"
equivalents, and running the translated code. If we talk with respect to
VMware hypervisor, both direct execution and binary translation techniques
may be used to virtualize an operating system.

Figure 7: Software Assisted Full Virtualization Technique

Currently, enterprises make use of two types of full virtualization techniques:

• Software Assisted Full Virtualization

Software-assisted full virtualization uses binary translation when


trapping and virtualizing the execution of instruction sets as shown in
Fig 7. The binary translation also emulates the hardware by utilizing
software instruction sets. Following is the list of software under this
type:

• VMware workstation (32-bit guests)


• Virtual PC
• VirtualBox (32-bit guests)
• VMWare Server

13
Cloud Computing
Fundamentals and
• Hardware-Assisted Full Virtualization
Virtualization

On the other hand, hardware-assisted virtualization eliminates the need


for binary translation. Instead, the original hardware is directly
interrupted by the virtualization technology found on the X86
Processors (Intel VT-x and AMD-V). Depending on the guest OS’s
instructions, privileged instructions can be executed directly on the
processor.

Figure 8: Hardware-Assisted Full Virtualization Technique

This type of full virtualization can use either of the two hypervisor types.

3.8 PARA-VIRTUALIZATION

Para-virtualization is a virtualization approach for computing devices that


enables virtual machines (VMs) to get an interface comparable to the
underlying or guest hardware. This strategy seeks to increase the VM's
performance (OS) by altering the guest operating system. The guest OS is
updated within para-virtualization. It recognizes that it is executing in a
virtualized environment on top of something like a hypervisor (the VM's
hardware) rather than on actual hardware.

Para-virtualization, which means “alongside virtualization”, refers to


communication between the guest OS and the hypervisor to improve
performance and efficiency. As shown in Fig 9 para-virtualization entails
replacing non-virtualizable instructions, with hyper calls connecting directly,
with the hypervisor's virtualization layer. Other essential kernel tasks,
including memory management, interrupt handling, and timekeeping, have
hyper-call interfaces provided by the hypervisor.

Full virtualization, in which the unmodified OS is unaware that it is virtualized


and sensitive OS calls are captured using binary translation, is not the same as
para-virtualization. Para-virtualization's value proposition is decreased
virtualization overhead. However, the performance advantage of para-
14
Resource
virtualization over full virtualization varies substantially depending on the Virtualization

workload.

Para-virtualization's compatibility and portability are limited because it cannot


support unmodified operating systems (e.g., Windows 2000/XP). Because it
necessitates profound OS kernel alterations, para-virtualization can cause
substantial support and maintainability concerns in production situations. The
open-source Xen project, for example, uses a modified Linux kernel to
virtualize the processor and memory and proprietary guest OS device drivers to
virtualize the I/O.

While the more complex binary translation support required for full
virtualization is complicated, changing the guest OS to enable para-
virtualization is reasonably straightforward. For years, VMware has deployed
para-virtualization approaches in VMware tools and optimized virtual device
drivers throughout the VMware product range. The VMware tools service
gives access to the VMM Hypervisor's backdoor, which can do tasks like time
synchronization, logging, and guest termination.

VMXnet is a hypervisor-sharing para-virtualized I/O device driver. It can take


advantage of the capabilities of the host device to increase throughput while
lowering CPU usage. The VMware tools service and the VMXnet device
driver are not CPU para-virtualization solutions, which should be noted for
clarity. They are minor, non-intrusive adjustments that do not require any
changes to the guest OS kernel.

VMware is assisting development in the future. In the future, VMware will


assist in creating para-virtualized Linux versions to enable proofs of concept
and product development.

Figure 9: Para-Virtualization

15
Cloud Computing
Fundamentals and
Virtualization 3.9 OTHER VIRTUALIZATION TECHNIQUES

Virtualization techniques can be used to get the functions of many different


types of physical infrastructure and all the benefits of a virtualized
environment. Following are some of the other types of virtualization
techniques:

3.9.1 Network Virtualization

Network virtualization is the process of converting a hardware-dependent


network into such a software-based network. The underlying purpose of
network virtualization is to virtualize network routing protocol, forwarding,
and different addressing schemes. Further, network virtualization will also
allow every form of IT virtualization to create a layer of abstraction between
virtual hardware and the activities that use it. Network virtualization, in
particular, allows network functionalities, hardware resources, and software
resources to be offered as a virtual network, independent of hardware. It is
used to join virtual machines (VMs), partition a physical network, or merge
many physical networks. IT can improve digital service providers' overall
performance, flexibility, and reliability.

3.9.2 Storage Virtualization

Storage virtualization (sometimes referred to as software-defined storage or


virtual SAN) is the process of combining different physical massive volumes
of data from SANs into a virtualized storage device. The pool may combine
disparate storage gear from multiple networks, manufacturers, or data centers
into a unified logical perspective and control it through a single window.
Virtualizing storage removes the storage management software from the
underlying physical infrastructure to give more flexibility and sustainable
pools of storage resources. Furthermore, it may abstract storage hardware
(arrays and discs) into online storage pools. Figure 10 shows the storage
virtualization.

Figure 10: Storage Virtualization

16
Resource
3.9.3 Desktop Virtualization Virtualization

In this type of virtualization, a software-based virtualized version of users’


workstations is created such that the virtual environment may be accessed from
any place remotely. This type of virtualized environment may enable any user
to connect themselves through any devices having network connectivity. A
very important element of digital workspace includes desktop virtualization. In
a desktop virtualization environment, mostly virtual machines are used to run
the workload. Further, it should be also noted that, in this type of virtualization
technique, all the information and data of end-users are present in the server.
Thus risk involved with respect to loss of any user data is minimum if devices
are lost. There are a number of ways through which desktop virtualization may
be implemented. However, the most acceptable ones are local and remote
desktop virtualization.

3.9.4 Operating System Virtualization

Operating system virtualization is a modified version of a standard operating


system that allows several users to access and use different applications. This
entire procedure should be completed on a single machine at a time. The
virtual vision environment within operating system virtualizations accepts
commands from any client operating it and does various tasks within the same
machine while running various applications. Whenever an operating system
virtualization occurs, a program does not interfere with another even though
they run on the same computer. An operating system's kernel allows for the
existence of several segregated user-space instances. Software containers, or
virtualization engines, are what these instances are referred to as. Operating
system Virtualization is of two types (i) Linux Virtualization and (ii) Windows
Virtualization.

● Linux Operating System virtualization: To virtualize Linux


computers, VMware Workstation software is utilized.
Furthermore, to install any software using virtualization, the user
must first install VMware software.

● Windows Operating System Virtualizations: This sort of


virtualization is similar to the previous in that it requires the
installation of VMware software before any other software can be
installed.

3.9.5 Data Virtualization

Modern organizations collect data from several sources and store it in different
formats. They might also store data in different places, such as in a cloud
infrastructure and an on-premises data center. Data virtualization creates a
software layer between this data and the applications that need it. Data
virtualization tools process an application’s data request and return results in a
suitable format. Thus, organizations use data virtualization solutions to

17
Cloud Computing
Fundamentals and increase flexibility for data integration and support cross-functional data
Virtualization
analysis.

3.9.6 Application Virtualization

Application virtualization pulls out the functions of applications to run on


operating systems other than the operating systems for which they were
designed. For example, users can run a Microsoft Windows application on a
Linux machine without changing the machine configuration. To achieve
application virtualization, follow these practices:

• Application streaming: Users stream the application from a remote


server, so it runs only on the end user's device when needed.

• Server-based application virtualization: Users can access the remote


application from their browser or client interface without installing it.

• Local application virtualization: The application code is shipped with


its own environment to run on all operating systems without changes.

3.10 VMware Vs XenServer

Citrix’s XenServer and VMware's vSphere are server virtualization platforms.


Server virtualization is the process of partitioning a physical server into
multiple unique and isolated virtual servers. Every virtual server can
independently run its own operating system.

To hide server resources from server users, server virtualization is utilized.


This includes different OSs, CPUs, Processors, etc. The idea of server
virtualization is frequently used in IT infrastructure to reduce costs by making
better use of already available resources.

VMware vSphere is also a type-1 hypervisor, a set of server virtualization


products that includes virtualization, management, and interface layers for
different virtual machines. It consists of vCenter Server, vCompute, vStorage,
vNetwork, and other infrastructure and applications services.

XenServer is an open-sourced product from Citrix. It's a platform for bare


metal (type-1 hypervisor) server virtualization. Which can efficiently control
integrated operating systems, networking configurations, and workloads. Citrix
XenServer enables the creation and management of virtualized server
infrastructure. Let us see some differences between them in the following
Table 1:

18
Resource
Table 1: VMware vSphere Vs Citrix XenServer Virtualization

VMware vSphere ESXi Citrix XenServer Hypervisor


Hypervisor

VMware is generally used by small Citrix XenServer is a virtualization


and mid-sized businesses. VMware platform that is utilized by individuals
requires a proprietary license and is as well as small and medium businesses.
Provided per-processor basis. XenServer is Open source and also
provides per-server licensing. However,
the free version also includes almost all
the features.

Features like dynamic resource The features like dynamic resource


allocation is supported allocation is not supported

VMware has 128 Virtual CPUs Citrix XenServer has 32 Virtual CPUs
(VCPUs) per Virtual machine. It per Virtual machine. It can only run on
can run on either Intel-Vt or AMD- Intel-Vt or AMD-V intelligent systems.
V intelligent devices.

Only MS-DOS and FreeBSD are Citrix XenServer supports various host
supported as hosts in VMware OS such as Win NT Server, Win XP,
vSphere. As a guest OS, VMware Linux ES, e.t.c. Citrix XenServer also
vSphere supports MS-DOS, Sun supports various guest operating
Java Desktop System, and Solaris systems, but not MS-DOS, Sun Java
X86 Platform Edition. Desktop Environment, or Solaris X86
platform edition. To run, it will need
AMD-V competent hardware.

Support Failover and Live Doesn’t support Failover or even Live


migration. migration.(* Newer version supports
Live migration but not that efficiently).
Supports Dynamic Resource
allocation and Thin Provisioning. Supports only Thin Provisioning.

The graphic support is not The graphic support is exhaustive and


exhaustive. had better support than VMware.

19
Cloud Computing
Fundamentals and
Virtualization
BusyBox is used by the VMware It provides almost all the required
server management system for features and ability to create and
managing the environment. manage the virtualization environment
and it uses XenCenter for managing the
environment.

 Check Your Progress 3

1. What is the difference between Full Virtualization and Para-Virtualization?

……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………

2. Describe briefly Network and Storage Virtualization?


.……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………

3. State True or False for the following statements:

a. Full virtualization is a technique to run an application or operating


system directly on a VM without any alteration and it seems to the
operating system that it is running on the real physical hardware.

b. A binary translation and direct execution are used together to


accomplish full virtualization.

c. Para-virtualization, which means “alongside virtualization”, refers to


communication between the guest OS and the hypervisor to improve
performance and efficiency.

d. Native virtualization is also called as Hardware-Assisted


Virtualization

e. Network virtualization is the process of converting a software-


dependent network into such a hardware-based network.

3.11 SUMMARY

In this we have studied most important aspect of Cloud Computing namely


Virtualization.

Virtualization is the fundamental technology that helps to create an abstraction


layer over the available System hardware elements like processor, storage, and

20
Resource
memory. Virtualization allows to hide the intricacy of the underlying Virtualization

environment and provides a secure and isolated environment for any user
application. The created computing environment is virtual and it simulates an
environment similar to a real computer. The use of the virtual infrastructure is
smooth as the user finds almost no difference in the experience when
compared to a real computing environment. In this regard, a detailed overview
of virtualization is given in this unit. We have discussed some very important
topics related to virtualization like advantages of virtualization, different
virtualization techniques, and its characteristics with an example. For further
clarity of existing virtualization techniques like full virtualization and para-
virtualization, we have compared the two very well-known hypervisors Citrix
XenServer and VMware.

3.12 SOLUTIONS/ANSWERS

Check Your Progress 1

1. Cloud Computing is a framework where different kinds of services


related to networks, computing resources, storage, development
platform, and application are provisioned through the internet. Further,
Virtualization is the fundamental technology that creates an abstraction
to hide the complexity of computing infrastructure, storage, and
networking. The virtualization technique provides a secure and isolated
environment for cloud users such that the computing environment of
one user does not affect the computing environment of another user.

2. In the case of virtualization more than one guest virtual machine runs
on a single host machine, and on each virtual machine different virtual
applications are executed. Further, it is very important to run each
virtual machine in isolation such that no two applications running on
different virtual machines interfere with each other. In this respect,
virtual machine manager (VMM) plays an important role by managing
virtual machines efficiently and providing enough security. The
operations of the different virtual machines are observed by VMM and
filtered accordingly such that no unfavorable activity is permitted.
Sometimes it becomes important to hide some sensitive or important
data of the host from other guest applications running on the same
system. This kind of functionality is automatically provided by the
virtualization environment with the help of VMM.

2. In the case of emulation, the virtualization environment allows different


guest applications to run on top of the host physical machine. Here the
underlying virtualized environment is a software program and hence
can be controlled more efficiently. Further, based on the requirement of
guest application or program the underlying environment can be
adjusted or modified for smooth execution.

21
Cloud Computing
Fundamentals and In case of isolation, the virtualization environment enables guest virtual
Virtualization
machines to run in isolation such that no virtual machines running on
the same host physical machine interfere with each other. The guest
virtual application accesses the underlying resources through the
abstraction layer. The virtual machine manager monitors the operation
of each guest application and tries to prevent vulnerable activity
operation if any.

Check Your Progress 2

1. Virtualization maximizes the availability and reliability of the service,


by allowing virtual machines to move from one host machine to
another and this is called a virtual machine migration. The migration of
virtual machines is achievable as the underlying environment is virtual.
The virtual machine migration can be achieved offline or live. In case
of offline migration the guest virtual machine is temporarily stopped
and after copying the image of the virtual machine’s memory to the
destination host machine virtual machine is restarted. Next in the case
of live migration an active virtual machine is moved from one host
machine to another. It should also be noted that virtualization
technology prefers to migrate virtual machines from one host machine
to another when some kind of load balancing is required.
2. The advantages associated with server virtualization are as follows:

i. In the case of server virtualization, each virtual machine may be


restarted independently without affecting the execution of other
virtual machines running on the same host physical machine.
ii. Server virtualization can partition a single physical server into
many small virtual servers and allows to utilize the hardware of
the existing physical servers efficiently. Therefore this
minimizes the requirement of the extra physical servers and the
initial investment cost.
iii. As each small virtual server executes in isolation, if any virtual
machine faces any kind of issues then it will not affect the
execution of other virtual machines running on the same host
physical machine.

The disadvantages associated with server virtualization are as


follows:
i. In the case of a host physical machine, the server faces any
problem and it goes offline then all the guest virtual machines
will also get affected and will go offline. This will decrease the
overall uptime of the services or applications running on an
individual virtual machine.
ii. Server virtualization allows the running of many numbers of
virtual machines on the same physical server, this may reduce
the performance of the overall virtualized environment.
iii. Generally, server virtualization environments are not easy to set
up and manage.

22
Resource
Virtualization
3. Type-1 Hypervisor: This is also termed as “Bare metal” hypervisor.
This type of hypervisor runs directly on the underlying physical
resources. For running this kind of hypervisor operating system is not
required and it itself acts as a host operating System. These kinds of
hypervisors are most commonly used in virtual server scenarios. The
examples are Hyper-V hypervisor, Citrix XenServer, and ESXi
hypervisor.

Type-2 Hypervisor: This hypervisor is not compatible with the


hardware it is running on. It runs as a program on a computer's
operating system. This type of hypervisor takes the help of an operating
system to deliver virtualization-based services. Type 2 hypervisors are
best suited for endpoint devices such as personal computers that run an
alternative operating system known as Guest OS. An example is
VMware Workstation.

Check Your Progress 3

1. Full virtualization is a technique to run an application or operating


system directly on a VM without any alteration and it seems to the
operating system that it is running on the real physical hardware. In
order to achieve this, the virtual machine manager provides an
environment that fully imitates the complete real hardware. In other
words, full virtualization is a strategy for creating a virtual machine
environment that entirely imitates the physical hardware. Every
software can run on the underlying devices executed in the Virtual
machine. One of the important benefits with respect to full
virtualization is that it allows the execution of the unaltered guest
operating systems in isolation. These kinds of features provide extra
security and enable the running of different unmodified operating
systems in the same environment.

Paravirtualization is a virtualization approach for computing devices


that enables virtual machines (VMs) to get an interface comparable to
the underlying or guest hardware. This strategy seeks to increase the
VM's performance (OS) by altering the guest operating system. The
guest OS is updated within paravirtualization. It recognizes that it is
executing in a virtualized environment on top of something like a
hypervisor (the VM's hardware) rather than on actual hardware.

2.
a. True
b. True
c. True
d. True
e. False

3. Network virtualization is the process of converting a hardware-


dependent network into such a software-based network. The underlying

23
Cloud Computing
Fundamentals and purpose of network virtualization is to virtualize network routing
Virtualization
protocol, forwarding, and different addressing schemes. Further,
network virtualization will also allow every form of IT virtualization to
create a layer of abstraction between virtual hardware and the activities
that use it. Network virtualization, in particular, allows network
functionalities, hardware resources, and software resources to be
offered as a virtual network, independent of hardware. It is used to join
virtual machines (VMs), partition a physical network, or merge many
physical networks. IT can improve digital service providers' overall
performance, flexibility, and reliability.

Storage virtualization (sometimes referred to as software-defined


storage or virtual SAN) is the process of combining different physical
massive volumes of data from SANs into a virtualized storage device.
The pool may combine disparate storage gear from multiple networks,
manufacturers, or data centers into a unified logical perspective and
control it through a single window. Virtualizing storage removes the
storage management software from the underlying physical
infrastructure to give more flexibility and sustainable pools of storage
resources. Furthermore, it may abstract storage hardware (arrays and
discs) into online storage pools.

3.13 FURTHER READINGS

1. Cloud Computing: Principles and Paradigms, Rajkumar Buyya,


James Broberg and Andrzej M. Goscinski, Wiley, 2011.
2. Mastering Cloud Computing, Rajkumar Buyya, Christian Vecchiola,
and Thamarai Selvi, Tata McGraw Hill, 2013.
3. Essentials of cloud Computing: K. Chandrasekhran, CRC press,
2014.
4. R. Buyya, C. Vecchiola,, and S. T. Selvi, S. T, Mastering Cloud
Computing: Foundations and Applications Programming. Newnes,
2013.

24

You might also like