Professional Documents
Culture Documents
Unit 3
Unit 3
Cloud Computing
Virtualization Concepts
Cloud Virtualization Concepts
• Virtualization Technology: Definition, Understanding and
Benefits of Virtualization
• "Implementation Level of Virtualization,"
• Virtualization Structure/Tools and Mechanisms
• Hypervisor VMware, KVM, Xen.
• "Virtualization: of CPU, Memory, I/O Devices,"
• Virtual Cluster and Resources Management,
• Virtualization of Server,
• Desktop, Network, and Virtualization of data-centre.
Virtualization Technology
• Virtualization is a technology that helps us to install different
Operating Systems on a hardware.
• They are completely separated and independent from each
other.
• In Wikipedia, you can find the definition as – “In computing,
virtualization is a broad term that refers to the abstraction of
computer resources.
• Virtualization hides the physical characteristics of computing
resources from their users, their applications or end users.
• This includes making a single physical resource (such as a
server, an operating system, an application or a storage
device) appear to function as multiple virtual resources. It
can also include making multiple physical resources (such as
storage devices or servers) appear as a single virtual
resource.
Virtualization is often −
• The creation of many virtual resources from one physical
resource.
• The creation of one virtual resource from one or more
physical resource.
What is virtualization?
• Virtualization uses software to create an abstraction layer
over the physical hardware. In doing so, it creates a virtual
compute system, known as virtual machines (VMs).
• This allows organizations to run multiple virtual
computers, operating systems, and applications on
a single physical server — essentially partitioning it into
multiple virtual servers.
• Simply put, one of the main advantages of virtualization is
that it’s a more efficient use of the physical computer
hardware; this, in turn, provides a greater return on a
company’s investment.
What is a virtual machine (VM)?
• In the simplest terms possible, a virtual machine (VM) is a
virtual representation of a physical computer.
• Virtualization allows an organization to create
multiple virtual machines—each with their own operating
system (OS) and applications—on a single physical machine.
• A virtual machine can’t interact directly with a physical
computer, however. Instead, it needs a lightweight software
layer called a hypervisor to coordinate with the physical
hardware upon which it runs.
What is a hypervisor?
• The hypervisor is essential to virtualization—it's a thin
software layer that allows multiple operating systems to run
alongside each other and share the same physical computing
resources.
• These operating systems come as the
aforementioned virtual machines (VMs)—virtual
representations of a physical computer—and
the hypervisor assigns each VM its own portion of the
underlying computing power, memory, and storage.
• This prevents the VMs from interfering with each other.
Cloud Virtualization Architecture
• 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
• More flexible and efficient allocation of resources.
• Enhance development productivity.
• It lowers the cost of IT infrastructure.
• Remote access and rapid scalability.
• High availability and disaster recovery.
• Pay peruse of the IT infrastructure on demand.
• Enables running multiple operating systems.
Drawback of Virtualization
• High Initial Investment: Clouds have a very high initial investment,
but it is also true that it will help in reducing the cost of companies.
• Learning New Infrastructure: As the companies shifted from Servers
to Cloud, it requires highly skilled staff who have skills to work with
the cloud easily, and for this, you have to hire new staff or provide
training to current staff.
• Risk of Data: Hosting data on third-party resources can lead to
putting the data at risk, it has the chance of getting attacked by any
hacker or cracker very easily.
Types of Virtualization
• Today the term virtualization is widely applied to a number
of concepts, some of which are described below −
• Server Virtualization
• Client & Desktop Virtualization
• Services and Applications Virtualization
• Network Virtualization
• Storage Virtualization
Server Virtualization
• It is virtualizing your server infrastructure where you do not have to
use any more physical servers for different purposes.
Client & Desktop Virtualization
• This is similar to server virtualization, but this time is on the user’s
site where you virtualize their desktops. We change their desktops
with thin clients and by utilizing the datacenter resources.
Services and Applications Virtualization
• The virtualization technology isolates applications from the
underlying operating system and from other applications, in order to
increase compatibility and manageability. For example – Docker can
be used for that purpose.
Network Virtualization
• It is a part of virtualization
infrastructure, which is used
especially if you are going to
visualize your servers. It
helps you in creating
multiple switching, Vlans,
NAT-ing, etc.
• The Digaram illustration
shows the VMware schema
−
Storage Virtualization
• This is widely used in
datacenters where you
have a big storage and
it helps you to create,
delete, allocated
storage to different
hardware.
• This allocation is done
through network
connection. The leader
on storage is SAN.
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
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 Structures/Tools and
Mechanisms
• virtualization layer is inserted between the hardware and the OS.
• virtualization layer is responsible for converting portions of the real
hardware into virtual hardware.
• Depending on the position of the virtualization layer, there are
several classes of VM architectures, namely
• Hypervisor and Xen architecture,
• Hardware Virtualization - host-based virtualization.
• Paravirtualization
Hypervisor and Xen Architecture
• CPU Virtualization
• Memory Virtualization
• I/O virtualization
• Para-virtualization
• Virtualization in Multi-Core Processors
Hardware Support for Virtualization
• Modern operating systems and processors permit multiple processes
to run simultaneously. If there is no protection mechanism in a
processor, all instructions from different processes will access the
hardware directly and cause a system crash.
• Therefore, all processors have at least two modes, user mode and
supervisor mode, to ensure controlled access of critical hardware.
• Instructions running in supervisor mode are called privileged
instructions.
• Other instructions are unprivileged instructions. In a virtualized
environment, it is more difficult to make OSes and applications run
correctly because there are more layers in the machine stack.
CPU Virtualization
CPU Virtualization