Unit 2: Virtualization and Cloud Computing
2.0 Introduction of Virtualization
Virtualization us a way of allowing a physical resource to be shared among many
users. This physical resource can be any server like application server, database
server etc. another resource can be storage, network, applications or any operating
system. These resources can be shared amongst multiple users as and when
required. So resource sharing is the main motive behind virtualization.
In this way we can define Virtualization as the "creation of a virtual image or
version of something, such as a server, a desktop, a storage device, an operating
system or network resources".
In other words, Virtualization is a technique, which allows to share a single
physical instance of a resource or an application among multiple customers and
organizations. It does by assigning a logical name to a physical storage and
providing a pointer to that physical resource as and when required by the user.
Diagram 2.1: Virtualization
Source: www.educba.com
2.1 Hypervisors
Hypervisors are piece of software used to divide and allocate the resources on
various pieces of hardware. The software or program which provide partitioning,
isolation or abstraction is called virtualization hypervisor.
Hypervisor is a hardware virtualization technique that allows multiple guest
operating systems (OS) to run on a single host system at the same time. A
hypervisor is sometimes also called a virtual machine manager (VMM).
The hypervisor manages the virtualization technique and creates, runs, and
monitors multiple virtual machines (guest) simultaneously, on single computer
hardware (host).
So, hypervisors regulate the virtualization process, creates multiple virtual
machines that allow you to work on several computing instances at once. This is
the key difference between Virtualization and Hypervisors.
There are two types of Hypervisors
2.1 Type-1 Hypervisor:
This hypervisor runs directly on hardware or bare metal. This hypervisor runs
directly on underlying host system. It is also known as “Native Hypervisor” or
“Bare metal hypervisor”. It does not require any base server operating system. It
has direct access to hardware resources.
Examples of Type 1 hypervisors include VMware ESXi, Citrix XenServer and
Microsoft Hyper-V hypervisor.
2.2 Type-2 Hypervisor
This hypervisor works as a host operating system runs on underlying host system.
It is also known as ‘Hosted Hypervisor”. Basically a software installed on an
operating system. Hypervisor asks operating system to make hardware calls.
Example of Type 2 hypervisor include VMware Player or Parallels Desktop.
Hosted hypervisors are often found on endpoints like PCs.
Diagram 2.2: Type 1 and Type 2 Hypervisor
Resource: https://developer.ibm.com/articles/cl-hypervisorcompare/
Diagram 2.3: Difference between Type 1 and Type 2 Hypervisors
Source: https://www.hitechnectar.com/blogs/hypervisor-type-1-vs-type-2/
3.0 Types of Virtualization
Following are the types of virtualization
1. Hardware Virtualization.
2. Server Virtualization.
3. Storage Virtualization.
4. Operating system Virtualization.
Let us see these types in detail
3.1 Hardware Virtualization
Here hardware components of a computer machine (i.e. processor, memory and
other hardware resources.) is virtualized and made available to different users.
For making Virtual machine there is a software or virtual machine
manager (VMM) is required to be installed on the hardware system (physical
machine) is known as hardware virtualization. This software is also called as
hypervisor.
The main job of hypervisor is to control and monitoring the processor, memory
and other hardware resources.
Diagram 2.4: Hardware Virtualization
Source: http://download.parallels.com/doc
According to the above figure hardware virtualization has a base layer which is
called as a hypervisor. This layer is loaded directly on the bare server and acts as
an intermediary between the server hardware and virtual machines. To allocate
hardware and resources to virtual machines, Server Bare Metal virtualizes all
hardware on the server. Once virtualized, hardware and resources can be easily
assigned to virtual machines. Based on the virtual hardware, a virtual machine runs
its own complete copies of an operating system and applications.
Following are the benefits of the hardware virtualization.
Helps in creating multiple virtual machines with different operating systems
on a single physical computer.
Helps in managing several physical servers at a time using Management
Console, an integrated GUI-based multi-server and cross-platform
management tool.
Run several guest operating systems and their applications simultaneously
on a single physical computer without rebooting.
Consolidate and virtualize the computing environment, reduce hardware
costs, lower operating expenses, and increase productivity.
Use open APIs and SDK to extend management integration with in-house
and third-party applications.
3.2 Server Virtualization
In this type of virtualization a single physical server is divided into multiple servers
and allocated to multiple users. Load balancing also is required to be done.
In server virtualization a virtual machine is created by a software or virtual
machine manager (VMM) is directly installed on the Server system is known as
server virtualization.
Diagram 2.5: Server Virtualization
Source: https://tr.nec.com/en_TR/emea/products
As per the diagram 2.5, Server virtualization is a technology for partitioning one
physical server into multiple virtual servers. Each of these virtual servers can run
its own operating system and applications, and perform as if it is an individual
server. This makes it possible, for example, to complete development using various
operating systems on one physical server or to consolidate servers used by multiple
business divisions. This concept can be explained as follows.
Following are the Key Benefits of Server Virtualization:
Higher server ability
Cheaper operating costs
Eliminate server complexity
Increased application performance
Deploy workload quicker
Diagram 2.6: Server Virtualization
Source: https://www.energystar.gov/products
As per diagram 2.6 Server virtualization offers a way to consolidate servers by
allowing you to run multiple different workloads on one physical host server. A
"virtual server" is a software implementation that executes programs like a real
server. Multiple virtual servers can work simultaneously on one physical host
server. Therefore, instead of operating many servers at low utilization,
virtualization combines the processing power onto fewer servers that operate at
higher total utilization.
3.2.1 Types of Server Virtualization
There are Three Kinds of Server Virtualization:
Full Virtualization: in this type of full virtualization a hypervisor as a
software directly communicates with a physical server's disk space and
CPU. The hypervisor monitors the physical server's resources and keeps
each virtual server independent and unaware of the other virtual servers. It
also relays resources from the physical server to the correct virtual server as
it runs applications. The biggest limitation of using full virtualization is that
a hypervisor has its own processing needs. This can slow down applications
and impact server performance.
Para-Virtualization: Para-virtualization involves the entire network
together as a cohesive unit. Since each operating system on the virtual
servers is aware of one another in para-virtualization, the hypervisor does
not need to use as much processing power to manage the operating systems.
OS-Level Virtualization: Unlike full and para-virtualization, OS-level
visualization does not use a hypervisor. Instead, the virtualization capability,
which is part of the physical server operating system, performs all the tasks
of a hypervisor. However, all the virtual servers must run that same
operating system in this server virtualization method.
3.3 Storage Virtualization
Storage virtualization is the collection (called as pooling) of physical storage from
multiple storage devices into what appears to be a single storage device. Now after
pooling storage capacity is fully available for allocation and that is managed from a
central console. The technology relies on software to identify available storage
capacity from physical devices and to then aggregate that capacity as a pool of
storage that can be used in a virtual environment by virtual machines (VMs).
Storage virtualization is the technology of abstracting physical data storage
resources to be made available appear as if they were a centralized resource.
Virtualization masks the complexities of managing resources in memory,
networks, servers and storage.
Following are some of the reasons shows why we storage virtualization in Cloud
Computing implements:
If this virtualization implements in IT environment it will improve the
management of the storage. As each and everything will properly store and
manage there won’t be any congestion and the task will perform quickly.
There will be very less downtime as the storage availability is better. All
these problems eliminate with the help of an automated management system.
Storage virtualization will provide better storage utilization as storing most
information in a particular place can cause loss of data, congestion, and any
other problems. So, properly dividing storage and storing data can be useful.
3.3.1 Types of Storage Virtualization
Following are five types of storage virtualization in Cloud Computing;
Hardware Assisted Virtualization
Kernel Level Virtualization
Hypervisor Virtualization
Para-Virtualization
Full Virtualization
3.3.1.1. Hardware Assisted Virtualization
Hardware assisted virtualization requires hardware support. It is similar to full
Para-virtualization. Here, the unmodified OS can run as hardware support for
virtualization and we can also use to handle hardware access requests and protect
operations.
3.3.1.2. Kernel Level Virtualization
It runs a separate version of the Linux Kernel. Kernel level allows running multiple
servers in a single host. It uses a device driver to communicate between main
Linux Kernel and the virtual machine. This virtualization is a special form of
Server Virtualization.
3.3.1.3. Hypervisor Virtualization
A hypervisor is a layer between the Operating system and hardware. With the help
of hypervisor multiple operating systems can work. Moreover, it provides features
and necessary services which help OS to work properly.
3.3.1.4.. Para-Virtualization
It is based on hypervisor which handles emulation and trapping of software. Here,
the guest operating system is modified before installing it to any further machine.
The modified system communicates directly with the hypervisor and improves the
performance.
3.3.1.5. Full Virtualization
This virtualization is similar to Para-Virtualization. In this, the hypervisor traps the
machine operations which is used by the operating system to perform the
operations. After trapping the operations, it emulates in particular software and the
status codes returned.
3.4 Operating System Virtualization
As we known that, cloud technology, virtualization plays an important role to
make things easy and efficiently done, virtualization also need to be done at the OS
level also. With the technique of virtualized OS, nothing is required to be pre-
installed or permanently loaded on the local storage device. Everything runs from
network using a virtual; simulation & that virtual disk is a disk-image (file) that
remotely stored on a server i.e. Storage Area Network (SAN) or Non-Volatile
Attached Storage (NAS).
Operating system level virtualization is a type of virtualization technology which
work on OS layer. Here the kernel of an OS allows more than one isolated user-
space instances to exist. Such instances are called containers/software containers or
virtualization engines. In other words, OS kernel will run a single operating system
& provide that operating system's functionality to replicate on each of the isolated
partitions.
Operating system Virtualization is used for the following proposes
Used for virtual hosting environment.
Used for securely allocation of finite hardware resources among a large
number of distrusting users.
System administrator uses it to integrate server hardware by moving services
on separate hosts.
To improvised security by separating several applications to several
containers.
These forms of virtualization don't require hardware to work efficiently.
Following steps are used to apply OS virtualization
Connect to OS Virtualization Server
Connect to virtual disk
Then connect this virtual disk to the client
OS is streamed to the client
If further additional streaming is required, it is done
3.5 Role of Virtualization in enabling the cloud
Virtualization is the backbone of Cloud Computing; Cloud Computing brings
efficient benefits as well as makes it more convenient with the help of
Virtualization, not only this, it also provides solutions for great challenges in the
field of data security and privacy protection. Virtualization is the imitation of
hardware within a software program. The role of multiple computers is allowed on
a single computer. In a file or a web server, the usage of purchase, maintenance,
depreciation, energy and floor space is double, but by creating virtual web or file
server all of our objectives are fulfilled like the use of hardware resources to its
maximum, flexibility, improvement in security, reduced cost. Efficient use of
resources, increased security, portability, problem free testing, easier
manageability, increased flexibility, fault isolation, rapid deployment are the
benefits of virtualization.
3.6 Benefits and challenges to Cloud architecture.
Following are benefits and challenges of cloud architecture
Cost:
It is observed that operational expenditure is easier to approve than capital
expenditure, especially related to the following points:
No hardware or computing resources lingering on balance sheet
No depreciation
No need for lengthy justification
No monthly review of system utilization
No need to refactor computing resources after project
completion
For the cost of a cappuccino a day, a user can access his own
dedicated server
Choice
Choice as a benefit shows no boundaries in most cases, and will only be limited by
your operating expense budget. We have the ability to choose from an extensive
set of services for any business need, including:
Software as a service (SaaS)
Infrastructure as a service (IaaS)
Platform as a service (PaaS)
Business Process as a service (BPaaS)
We can also easily have a global reach with the ability to choose the geographical
location of your data center, choose your network access (private, hybrid or public)
and choose your bandwidth throughput.
Scale: Flexibility and elasticity
Holiday online shopping is a great example of the scaling power behind cloud
technology, as retailers must prepare for online activities to support well on 1,000
times more consumers connecting to their web sites than during regular months. In
other cases, a company may need temporary computing power to track consumer
sentiment toward its products. Cloud can provide the following to help meet these
needs:
Elastic web farm to support 1,000 or 10,000 users based on
business need
The ability to move from private to public networks on a
whim to test new applications
The ability to temporarily expand storage to support a
marketing campaign or event
Speed
One of the key differentiators for a company relates to its ability to be first to
market, such differentiators correlate to speed of execution for which following
examples can be considered.
Virtual resources adapt more easily to business objectives
requirements
Rapid expansion of bandwidth speed as needed
Access to solid-state drive (SSD) technology on-demand
enhances application speed
No red tape—cloud effortlessly adapts to technology landscape
changes
Integration
As far as current use of cloud computing technology is considered, we can predict
that, the major cloud providers will create an interconnected Internet super
highway on which data will travel, communicate and collaborate interactively in
the delivery of services that cannot be fathomed today. Cloud will help to enable
this by:
Providing countless application programming interfaces (APIs)
for the consumption of third party services
Think of OData, JSON, JSONP, XML for API data access
Providing flexible access to traditional SQL or NoSQL
databases
Providing analytic platforms for countless business needs
6. Audit and compliance
Audit and compliance is probably one of the biggest burdens on any IT
organization. Fortunately, cloud can help in the following ways:
Cloud vendors’ service level agreements (SLAs) ensure that all
audits and compliance activities are logged, monitored and
audited to your satisfaction
Regardless of business security requirements, most cloud
vendors abide to industry standards to support Sarbanes &
Oxley, ISO2001, ITIL, SAE116, SaS Type I & II, HIPAA, PCI
and more
Cloud providers are regularly audited by third party
organizations to ensure that security standards are met
7. Business Continuity Planning (BCP)
BCP truly showcases one of the many benefits of cloud and how it can serve as an
extension of IT and your business. BCP enables:
Disaster recovery with cold or hot backup
Disaster recovery with high-failover or high-redundancy
Data deduplication and backup
Testing and verification of recovery procedures
Diagram 2.7: Cloud Benefits
Source: https://www.ibm.com/blogs/cloud-computing
3.7 Visualizing Virtualization, Managing Virtualization,
Taking Virtualization into the Cloud
Before migrating from traditional technology to cloud technology, budget
pressures and rapidly evolving technology are required to visualize and to take
right decision is a crucial to enterprise services such as desktop virtualization. End-
users require more fluid access to their content across locations, devices, and
organizations. Thin, zero, and mobile client user devices are making it hard to keep
track of the boundaries between desktop hardware and the software and data that
bring them to life.
Since the 2010 launch of the Apple iPad, touch screen tablet computing has now
rocketed into a prominent role in most enterprise desktop roadmaps. Regardless of
device, the virtual desktop is the electronic connection point for end- users.
The traditional legacy desktop as shown in the diagram 2.8, runs the hardware and
software installed primarily on the local computer, along with any locally stored
data. A Virtual Desktop has the software and data stored remotely from cloud-like
resources. The Virtual Desktop can then be accessed from a variety of devices, and
can be configured for connected or disconnected operation. Desktop elements
include: Operating System (Ex: Windows 7), User Profiles (favorites and settings),
Applications (Ex: Microsoft Office), Data (Home directories and application data).
Diagram 2.7: Cloud Benefits
Source: https://www.baesystems.com
Because of visualization of virtualization, users get better services. The more user
profiles, applications, and data that are virtualized and hosted in a cloud-like
resource. We can improve security when the threat surface is reduced with
information protected at the secure core of the enterprise. Centralization also
improves supportability and typically makes automation easier. Profiles,
applications, and data stored can then be delivered to a mobile workforce with end-
users accessing their enterprise experience across locations, devices, and
organizations. These are excellent reasons for desktop virtualization.
So similar type of other virtualization gives benefits to the user while cloud
migration.
3.8 Summary.
Virtualization helps in hiding 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 the usual goal of virtualization is to centralize administrative tasks
while improving scalability and workloads. The advantages of utilizing a
virtualized environment include the following: Lower costs. Virtualization reduces
the amount of hardware servers necessary within a company and data center.
There are two types of Hypervisors: Type-1 Hypervisor: This hypervisor runs
directly on hardware or bare metal. This hypervisor runs directly on underlying
host system. It is also known as “Native Hypervisor” or “Bare metal hypervisor”. It
does not require any base server operating system. It has direct access to hardware
resources. And Type-2 Hypervisor: This hypervisor works as a host operating
system runs on underlying host system. It is also known as ‘Hosted Hypervisor”.
Basically a software installed on an operating system. Hypervisor asks operating
system to make hardware calls.
3.9 References.
3.9.1 Books
Cloud Computing: Principles and Pardigms by Rajkumar Buyya, James
Broberg and Andrzej M.Gos cinski, Wiley, 2011.
Cloud Computing implementation, management and security by John W.
Rittenhouse, James E Ransome,CRC Press, Taylor & Francis group,2010
Cloud computing a practical approach by Anthony T. Velte, Toby J. Velte
Robert Elsenpeter, Tata Mc Graw Hill edition, 2010.
Cloud Application Architecture by George Reese, Oreilly publishers
Cloud computing and SOA convergence in your enterprise, by David
S.Linthicum, Addison- Wesley
Cloud Services For Dummies, by Judith Hurwitz, Marcia Kaufman, and Dr.
Fern Halper, John Wiley & Sons, Inc.
3.9.2 Websites
https://opensource.com/resources/virtualization
https://www.vmware.com/in/solutions/virtualization.html
https://www.redhat.com/en/topics/virtualization/what-is-virtualization
https://www.ibm.com/cloud/learn/virtualization-a-complete-guide
https://www.networkworld.com/article/3234795/what-is-virtualization-
definition-virtual-machine-hypervisor.html
https://www.javatpoint.com/virtualization-in-cloud-computing
https://www.w3schools.in/cloud-virtualization/os-virtualization/
3.10 Exercise.
Q.1. What Is Server Virtualization? What is a Virtual Machine?
Q.2. Explain the types of Virtualization
Q.3. what are the benefits of virtualization?
Q.4. Explain Different types of server software’s VMware provides?
Q.5. Explain Memory and storage virtualization
Q.6. Specify the key components of VM infrastructure?
Q.7. what is the usage of virtualization platform in implementing cloud?
Q.8. Why do We Need Virtualization in Cloud Computing?
Q.9. Explain classification or taxonomy of virtualization at different levels.
Q.10. Explain the architecture of Hyper-V and discuss its use in cloud
computing.
Q.11. what are the characteristics of virtualization environment.
Q.12. Explain pros and cons of virtualization.
Q.13. Explain Programming Language Level Virtualization.
Q.14. Explain Application Level Virtualization.
Q.15. Explain with graphical representation, the two types of hypervisors.