0% found this document useful (0 votes)
138 views

Unit 2 Virtualization

The document discusses six types of virtualization: application, network, desktop, storage, server, and data virtualization. It also covers the implementation levels of virtualization in cloud computing including instruction set architecture level, hardware abstraction level, operating system level, library level, and application level.

Uploaded by

arunkrishnas.21
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
138 views

Unit 2 Virtualization

The document discusses six types of virtualization: application, network, desktop, storage, server, and data virtualization. It also covers the implementation levels of virtualization in cloud computing including instruction set architecture level, hardware abstraction level, operating system level, library level, and application level.

Uploaded by

arunkrishnas.21
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

Types of Virtualization

1. Application Virtualization
2. Network Virtualization
3. Desktop Virtualization
4. Storage Virtualization
5. Server Virtualization
6. Data virtualization

Types of Virtualization
1. Application Virtualization: Application virtualization helps a user to have
remote access to an application from a server. The server stores all personal
information and other characteristics of the application but can still run on a
local workstation through the internet. An example of this would be a user who
needs to run two different versions of the same software. Technologies that use
application virtualization are hosted applications and packaged applications.
2. Network Virtualization: The ability to run multiple virtual networks with each
having a separate control and data plan. It co-exists together on top of one
physical network. It can be managed by individual parties that are potentially
confidential to each other. Network virtualization provides a facility to create and
provision virtual networks, logical switches, routers, firewalls, load
balancers, Virtual Private Networks (VPN) , and workload security within days or
even weeks.
Network Virtualization

3. Desktop Virtualization: Desktop virtualization allows the users’ OS to be


remotely stored on a server in the data center. It allows the user to access their
desktop virtually, from any location by a different machine. Users who want
specific operating systems other than Windows Server will need to have a
virtual desktop. The main benefits of desktop virtualization are user mobility,
portability, and easy management of software installation, updates, and
patches.
4. Storage Virtualization: Storage virtualization is an array of servers that are
managed by a virtual storage system. The servers aren’t aware of exactly
where their data is stored and instead function more like worker bees in a hive.
It makes managing storage from multiple sources be managed and utilized as a
single repository. storage virtualization software maintains smooth operations,
consistent performance, and a continuous suite of advanced functions despite
changes, breaks down, and differences in the underlying equipment.
5. Server Virtualization: This is a kind of virtualization in which the masking of
server resources takes place. Here, the central server (physical server) is
divided into multiple different virtual servers by changing the identity number,
and processors. So, each system can operate its operating systems in an
isolated manner. Where each sub-server knows the identity of the central
server. It causes an increase in performance and reduces the operating cost by
the deployment of main server resources into a sub-server resource. It’s
beneficial in virtual migration, reducing energy consumption, reducing
infrastructural costs, etc.
Server Virtualization

6. Data Virtualization: This is the kind of virtualization in which the data is


collected from various sources and managed at a single place without knowing
more about the technical information like how data is collected, stored &
formatted then arranged that data logically so that its virtual view can be
accessed by its interested people and stakeholders, and users through the
various cloud services remotely. Many big giant companies are providing their
services like Oracle, IBM, At scale, Cdata, etc.
Implementation Levels Of Virtualization In Cloud Computing

Implementation Levels of Virtualization In Cloud Computing

It is not simple to set up virtualization. Your computer runs on an operating


system that gets configured on some particular hardware. It is not feasible or easy
to run a different operating system using the same hardware.

To do this, you will need a hypervisor. Now, what is the role of the hypervisor? It
is a bridge between the hardware and the virtual operating system, which allows
smooth functioning.

Talking of the Implementation levels of virtualization in Cloud Computing., there


are a total of five levels that are commonly used. Let us now look closely at each
of these levels of virtualization implementation in Cloud Computing.

1) Instruction Set Architecture Level (ISA)


ISA virtualization can work through ISA emulation. This is used to run many
legacy codes written for a different hardware configuration. These codes run on
any virtual machine using the ISA. With this, a binary code that originally needed
some additional layers to run is now capable of running on the x86 machines. It
can also be tweaked to run on the x64 machine. With ISA, it is possible to make
the virtual machine hardware agnostic.

For the basic emulation, an interpreter is needed, which interprets the source code
and then converts it into a hardware format that can be read. This then allows
processing. This is one of the five implementation levels of virtualization in Cloud
Computing..

2) Hardware Abstraction Level (HAL)


True to its name HAL lets the virtualization perform at the level of the hardware.
This makes use of a hypervisor which is used for functioning. The virtual machine
is formed at this level, which manages the hardware using the virtualization
process. It allows the virtualization of each of the hardware components, which
could be the input-output device, the memory, the processor, etc.

Multiple users will not be able to use the same hardware and also use multiple
virtualization instances at the very same time. This is mostly used in the cloud-
based infrastructure.
3) Operating System Level
At the level of the operating system, the virtualization model is capable of creating
a layer that is abstract between the operating system and the application. This is an
isolated container on the operating system and the physical server, which uses the
software and hardware. Each of these then functions in the form of a server.

When there are several users and no one wants to share the hardware, then this is
where the virtualization level is used. Every user will get his virtual environment
using a dedicated virtual hardware resource. In this way, there is no question of
any conflict.

4) Library Level
The operating system is cumbersome, and this is when the applications use the API
from the libraries at a user level. These APIs are documented well, and this is why
the library virtualization level is preferred in these scenarios. API hooks make it
possible as it controls the link of communication from the application to the
system.

5) Application Level
The application-level virtualization is used when there is a desire to virtualize only
one application and is the last of the implementation levels of virtualization in
Cloud Computing. One does not need to virtualize the entire environment of the
platform.

This is generally used when you run virtual machines that use high-level
languages. The application will sit above the virtualization layer, which in turn sits
on the application program.

It lets the high-level language programs compiled to be used at the application


level of the virtual machine run seamlessly.

Virtualization types

 Paravirtualization is virtualization in which the guest operating system (the one being
virtualized) is aware that it is a guest and accordingly has drivers that, instead of issuing
hardware commands, simply issue commands directly to the host operating system. This also
includes memory and thread management as well, which usually require unavailable privileged
instructions in the processor.
 Full Virtualization is virtualization in which the guest operating system is unaware that it is in
a virtualized environment, and therefore hardware is virtualized by the host operating system so
that the guest can issue commands to what it thinks is actual hardware, but really are just
simulated hardware devices created by the host.
 Hardware Assisted Virtualization is a type of Full Virtualization where the microprocessor
architecture has special instructions to aid the virtualization of hardware. These instructions
might allow a virtual context to be setup so that the guest can execute privileged instructions
directly on the processor without affecting the host. Such a feature set is often called
a Hypervisor. If said instructions do not exist, Full Virtualization is still possible, however it
must be done via software techniques such as Dynamic Recompilation where the host
recompiles on the fly privileged instructions in the guest to be able to run in a non-privileged
way on the host.
Difference between Full Virtualization and
Paravirtualization


1. Full Virtualization: Full Virtualization was introduced by IBM in the year 1966. It is
the first software solution for server virtualization and uses binary translation and direct
approach techniques. In full virtualization, guest OS is completely isolated by the virtual
machine from the virtualization layer and hardware. Microsoft and Parallels systems are
some examples of full virtualization.
2. Paravirtualization: Paravirtualization is the category of CPU virtualization which
uses hypercalls for operations to handle instructions at compile time. In
paravirtualization, guest OS is not completely isolated but it is partially isolated by the
virtual machine from the virtualization layer and hardware. VMware and Xen are some

examples of paravirtualization.
The difference between Full Virtualization and Paravirtualization are as follows:
S.No
. Full Virtualization Paravirtualization

In Full virtualization, virtual machines


In paravirtualization, a virtual machine
permit the execution of the
does not implement full isolation of OS but
instructions with the running of
rather provides a different API which is
unmodified OS in an entirely isolated
utilized when OS is subjected to alteration.
1. way.

While the Paravirtualization is more secure


Full Virtualization is less secure.
2. than the Full Virtualization.

Full Virtualization uses binary


While Paravirtualization uses hypercalls at
translation and a direct approach as a
compile time for operations.
3. technique for operations.

Full Virtualization is slow than Paravirtualization is faster in operation as


4. paravirtualization in operation. compared to full virtualization.

Full Virtualization is more portable Paravirtualization is less portable and


5. and compatible. compatible.

Examples of full virtualization are Examples of paravirtualization are


6. Microsoft and Parallels systems. Microsoft Hyper-V, Citrix Xen, etc.

The guest operating system has to be


It supports all guest operating
modified and only a few operating systems
systems without modification.
7. support it.
S.No
. Full Virtualization Paravirtualization

Using the drivers, the guest operating


The guest operating system will issue
system will directly communicate with the
hardware calls.
8. hypervisor.

It is less streamlined compared to


It is more streamlined.
9. para-virtualization.

It provides less isolation compared to full


It provides the best isolation.
10. virtualization.

What Is CPU Virtualization In Cloud Computing?


A single CPU can run numerous operating systems (OS) via CPU
virtualization in cloud computing. This is possible by creating virtual machines
(VMs) that share the physical resources of the CPU. Each Virtual Machine
can’t see or interact with each other’s data or processes.

CPU virtualization is very important in cloud computing. It enables cloud


providers to offer services like –

 Virtual private servers (VPSs)


 Cloud storage (EBS)
 Cloud computing platforms (AWS, Azure and Google Cloud)
Consider an example to understand CPU virtualization. Imagine we have a
physical server with a single CPU. We want to run two different operating
systems on this server,

Windows & Linux. So it can easily be done by creating two Virtual Machines
(VMs), one for Windows and one for Linux.

The virtualization software will create a virtual CPU for each VM. The
virtualization software will create a virtual CPU for each VM. The virtual CPUs
will execute on the physical CPU but separately. This means the Windows
Virtual Machine cannot view or communicate with the Linux VM, and vice
versa.

The virtualization software will also allocate memory and other resources to
each VM. This guarantees each VM has enough resources to execute. CPU
virtualization is made difficult but necessary for cloud computing.

How CPU Virtualization Works? In Step By Step Process


Step 1: Creating Virtual Machines (VMs)

 Let’s take an example you have a powerful computer with a CPU, memory, and other
resources.
 To start CPU virtualization, you use special software called a hypervisor. This is like the
conductor of a virtual orchestra.
 The hypervisor creates virtual machines (VMs) – these are like separate, isolated worlds within
your computer.
 The “virtual” resources of each VM include CPU, memory, and storage. It’s like having multiple
mini-computers inside your main computer.
Step 2: Allocating Resources

 The hypervisor carefully divides the real CPU’s processing power among the VMs. It’s like
giving each VM its own slice of the CPU pie.
 It also makes sure that each Virtual memory (VM) gets its share of memory, storage, and other
resources.
Step 3: Isolation and Independence

Each VM operates in its own isolated environment. It can’t see or interfere


with what’s happening in other VMs.

Step 4: Running Operating Systems and Apps

 Within each Virtual Machine, you can install & run different operating systems (like Windows, Linux)
and applications.
 The VM thinks it’s a real computer, even though it’s sharing the actual computer’s resources with other
VMs.
Step 5: Managing Workloads

 The hypervisor acts as a smart manager, deciding when each VM gets to use the real CPU.
 It ensures that no VM takes up all the CPU time, making sure everyone gets their turn to work.
Step 6: Efficient Use of Resources
 Even though there’s only one physical CPU, each VM believes it has its own dedicated CPU.
 The hypervisor cleverly switches between VMs so that all the tasks appear to be happening
simultaneously.

Advantages Of CPU Virtualization In Cloud Computing

1) Efficient Resource Utilization


CPU virtualization lets one powerful machine handle multiple tasks
simultaneously. This maximizes the use of h/w resources and reduces wastage.

2) Cost Savings
By running multiple virtual machines on a single physical server, cloud providers
save on hardware costs, energy consumption, and maintenance.

3) Scalability
CPU virtualization allows easy scaling, adding or removing virtual machines
according to demand. This flexibility helps businesses adapt to changing needs as
per requirements.

4) Isolation and Security


Each Virtual Machine (VM) is isolated from others, providing a layer of security.
If one VM has a problem, it’s less likely to affect others.

5) Compatibility and Testing


Different operating systems (OS) & applications can run on the same physical
hardware (h/w), making it easier to test new software without affecting existing
setups.

Disadvantages Of CPU Virtualization In Cloud Computing:

1) Overhead
The virtualization layer adds some overhead, which means a small portion of CPU
power is used to manage virtualization itself.
2) Performance Variability
Depending on the number of virtual machines and their demands, performance can
vary. If one VM needs a lot of resources, others might experience slower
performance.

3) Complexity
Handling multiple virtual machines and how they work together needs expertise.
Creating and looking after virtualization systems can be complicated.

4) Compatibility Challenges
Some older software or hardware might not work well within virtualized
environments. Compatibility issues can arise.

5) Resource Sharing
While CPU virtualization optimizes resource usage, if one VM suddenly requires a
lot of resources, it might impact the performance of others.

You might also like