0% found this document useful (0 votes)
23 views84 pages

Virtulization

The document outlines the course structure for 'Introduction to Cloud Computing' with a focus on virtualization. It covers key concepts such as types of virtualization, benefits, limitations, and enabling technologies, along with detailed explanations of virtual machines, hypervisors, and various virtualization types including server, storage, network, and data virtualization. Additionally, it discusses the need for virtualization and its impact on performance, resource allocation, and IT infrastructure costs.

Uploaded by

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

Virtulization

The document outlines the course structure for 'Introduction to Cloud Computing' with a focus on virtualization. It covers key concepts such as types of virtualization, benefits, limitations, and enabling technologies, along with detailed explanations of virtual machines, hypervisors, and various virtualization types including server, storage, network, and data virtualization. Additionally, it discusses the need for virtualization and its impact on performance, resource allocation, and IT infrastructure costs.

Uploaded by

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

Subject Name : Introduction to Cloud Computing

Subject Code : BDA20030

Unit No. : IV

Unit Name : Virtualization


Dr. Sumit Gupta
Department of Computer Science & Applications
1
Course Structure

2
Assessment Structure

3
Course Outcomes

4
Course Contents

5
Course Contents

6
Resources

7
Content – Unit 4

 Cloud Computing enabling technologies

 Need for Virtualization

 Pros and Cons of Virtualization

 Type of Virtualization

 Virtual Machine

 VM monitoring services

 Hypervisors

8
Cloud Computing Enabling Technologies

 Cloud Computing can be possible only when we use some technologies that make it
compatible for end user and service provider.

 These technologies are –


 Virtualization
 Service Orientated Architecture (SOA)
 Utility computing
 Web 2.0

9
Basics of Virtualization

• Virtualization is the "creation of a virtual (rather than actual) version of something, such
as a server, a desktop, a storage device, an operating system or network resources".

• A virtual machine (VM) is created on a physical host device. The VM behaves exactly like
a physical device would and can run different OSs from the host.

• 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 when demanded.

• VMs are also named guest machines. Multiple guest VMs can run on a host device and
each VM behave like independent device.
Basics of Virtualization

Basic Terminologies of Virtualization

• Host machine: The machine on which the virtual machine is going to be built
is known as Host Machine.

• Virtual machine: The virtual machine is referred to as a Guest Machine. A


virtual machine can be defined as the computer of a virtual type that operates
over a hypervisor.

• Hypervisor (Virtual Machine Monitor/Manager (VMM)): This can be


defined as the software or program that creates & runs the virtual machines
software used to create virtualization on physical machines .
Need of Virtualization

 Enhance Performance
 Access to more resources
 Shortage of space
 Eco-friendly initiatives
How does Virtualization work?

• Virtualization works by partitioning the host device's resources between VMs. This
partitioning is performed by software known as a hypervisor. There are two kinds of
hypervisors: bare-metal ones that are installed directly on the host hardware and hosted ones
that need some kind of OS to run on the host.

• A hypervisor acts as the intermediary between the VMs and the host device. When a VM is
created, the hypervisor allocates some host resources, like the CPU and memory, to it. If the
VM needs more resources while operating, the hypervisor allocates more host resources.

• Similarly, the disk storage of the host device is simulated as virtual storage on the VM.
When the VM tries to locate any files in its virtual storage, the hypervisor translates this
request to locate the files in the actual physical storage of the host.
Type of Virtualization
Type of Virtualization

• Type 1 hypervisor : A type 1 hypervisor, or bare-metal hypervisor, is a hypervisor


program installed directly on the computer’s hardware instead of the operating system.
Therefore, type 1 hypervisors have better performance and are commonly used by
enterprise applications. KVM uses the type 1 hypervisor to host multiple virtual machines
on the Linux operating system.

• Type 2 hypervisor: Also known as a hosted hypervisor, the type 2 hypervisor is installed
on an operating system. Type 2 hypervisors are suitable for end-user computing.

• The hypervisor pulls resources from the layers below and partitions them into virtual
instances. For this reason, the hypervisor is also known as the virtualization layer. Guest
OSs operate on top of the hypervisor. Often, the guest OSs aren't aware of themselves and
behave like independent devices. Applications are hosted on each guest OS on a VM. This
layer is known as the application layer.
Benefits of Virtualization

• Flexibility: More flexible and efficient allocation of resources.


• Enhance development productivity.
• Economical: 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
• Eliminate the risk of system failure
Limitations of Virtualization

• Time-intensive process: The transition of the existing hardware setup to a


virtualized setup requires an extensive time investment, and hence this can be
regarded as a time-intensive process.

• 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

Full virtualization
• Full virtualization refers to the ability to
run a program, most likely an operating
system, directly on top of a virtual
machine and without any modification, as
though it were run on the raw hardware.
• To make this possible, virtual machine
managers are required to provide a
complete emulation of the entire
underlying hardware.
Types of Virtualization

Full virtualization
• The principal advantage of full
virtualization is complete isolation - leads
to enhanced security, ease of emulation of
different architectures, and coexistence of
different systems on the same platform.
• Whereas it is a desired goal for many
virtualization solutions, full virtualization
poses important concerns related to
performance and technical implementation.
Types of Virtualization

Full virtualization
• A physical host server’s resources are divided up to create multiple virtual
machines that are completely separated from each other and act independently
without any knowledge of the other VMs on the host.
• The hypervisor for this type is often called a bare-metal hypervisor because it is
installed directly onto the physical hardware and acts as a layer between the
hardware and the VMs and their unique operating systems.
• The only possible downside to this type is that the all-important hypervisor comes
with its own resource needs and can sometimes cause a slowdown in performance.
• With full virtualization, the host server does not need to have an operating system.
Types of Virtualization
Types of Virtualization

Para-virtualization
• In this type, VMs aren’t completely unaware
of each other on the host server. While the
VMs are isolated to a degree, they still work
together across the network.
• Because the VMs do some of the work of
allocating resources themselves, the
hypervisor requires less processing power to
manage the entire system.
Types of Virtualization
Para-virtualization
• Para-virtualization requires the host server to
have an operating system and it must work
together with the hypervisor through hypercall
commands, which then allows the hypervisor
to create and manage the VMs.
• This type emerged in response to the
performance issues experienced by early bare-
metal hypervisors. Instead of being installed
directly onto the bare physical hardware of the
host server, the hypervisor becomes a layer
between the host server’s OS and the VMs.
Today, para-virtualization is less commonly
used because modern servers are now being
designed to more effectively support and work
with bare-metal hypervisors.
Types of Virtualization
Types of Virtualization

Partial virtualization
 Partial virtualization provides a partial emulation of the underlying hardware, thus
not allowing the complete execution of the guest operating system i.e. incomplete
isolation.
 Partial virtualization allows many applications to run transparently, but not all the
features of the operating system can be supported, as happens with full virtualization.
Types of Virtualization

Reference : Understanding Virtualization: A Comprehensive Guide


Types of Virtualization

Virtualization comes in various forms, each designed to address specific challenges and requirements in modern IT
environments.

Server virtualization: Server virtualization is a process that partitions a physical server into multiple virtual servers. It is
an efficient and cost-effective way to use server resources and deploy IT services in an organization. Without server
virtualization, physical servers use only a small amount of their processing capacities, which leave devices idle.

Consider a company that needs servers for three functions: (1) Store business email securely (2) Run a customer-facing
application (3) Run internal business applications
Each of these functions has different configuration requirements: (1) The email application requires more storage capacity
and a Windows operating system. (2) The customer-facing application requires a Linux operating system and high
processing power to handle large volumes of website traffic. (3) The internal business application requires iOS and more
internal memory (RAM).
To meet these requirements, the company sets up three different dedicated physical servers for each application. The
company must make a high initial investment and perform ongoing maintenance and upgrades for one machine at a time.
The company also cannot optimize its computing capacity. It pays 100% of the servers’ maintenance costs but uses only a
fraction of their storage and processing capacities.
Server Virtualization

Before server virtualization After server virtualization


Server Virtualization
Server Virtualization
Server Virtualization

Advantages:
Server Virtualization
Disadvantages:
Types of Virtualization

Storage virtualization :
 Storage virtualization uses all your physical data storage and creates a large unit of virtual storage that you can assign
and control by using management software.
 Storage virtualization combines the functions of physical storage devices such as network attached storage (NAS) and
storage area network (SAN).
 You can pool the storage hardware in your data center, even if it is from different vendors or of different types.
 IT administrators can streamline storage activities, such as archiving, backup, and recovery, because they can combine
multiple network storage devices virtually into a single storage device.
Types of Virtualization

 A Storage Area Network (SAN) is a high-speed network that connects servers to storage devices, enabling efficient data
transfer and centralized management. SANs are ideal for large enterprises with demanding storage needs. They use
protocols like Fibre Channel or iSCSI for fast data transfer and operate separately from regular networks to avoid traffic
congestion
Key Components of SAN: Node ports, Cables, Interconnect devices (Hubs, switches, directors), Storage arrays & SAN
management software
How SAN Works: SANs link servers to storage devices, allowing multiple servers to share and access storage resources
efficiently. This setup offers improved performance, scalability, and centralized management of storage, making it suitable
for demanding applications and extensive storage needs.

 Network Attached Storage (NAS) is a simpler system that connects to your network, allowing multiple devices to
easily share and access files. NAS is more affordable and user-friendly, making it a great choice for smaller businesses
and home setups
Key Components of NAS: Head unit(CPU, Memory), Network Interface Card (NIC), Optimized operating system, Storage
protocols (ATA, SCSI, FC).
How NAS Works: NAS devices house storage drives and connect to the network via an Ethernet port. They operate with
their own system designed to handle file management and network connections, supporting various file-sharing protocols
like SMB, NFS, or AFP
Types of Virtualization

Storage Area Network (SAN) Network Attached Storage (NAS)


In NAS (Network Attached Storage), data is identified by file name as
In SAN (Storage Area Network), data is identified by disk block.
well as byte offset.
In SAN (Storage Area Network), the file system is managed byIn NAS (Network Attached Storage), file system is managed by Head
servers. unit(CPU, Memory).
SAN (Storage Area Network) is more costly. NAS (Network Attached Storage) is less expensive than SAN.
SAN(Storage Area Network) is more complex than NAS. NAS (Network Attached Storage) is less complex than SAN.
Protocols used in NAS are File server, CIFS (Common Internet File
Protocols used in SAN are SCSI, SATA, etc.
System), etc.
For backups and recovery in SAN, Block by block copying technique
For backups and recovery in NAS, Files are used.
is used.
SAN gives high performance in high-speed effort high-speed traffic While NAS is not suitable for that environment which has high speed
systems. traffic.
NAS is easy to manage and provides a simple interface for organizing
SAN needs more time and efforts in organizing and controlling.
and controlling.
SAN does not depend on the LAN and uses a high-speed fiber channel
NAS needs TCP/IP networks and depends on the LAN.
network.
Mostly used in enterprise environments. Applications include small-sized organizations high-speed and homes.
It has lower latency. Compared to SAN, NAS has higher latency.
SAN supports virtualization. NAS does not support virtualization.
The working of SAN is not affected by network traffic bottlenecks. The working of NAS is affected by network traffic bottlenecks.
Types of Virtualization
Network virtualization :
 Any computer network has hardware elements such as switches, routers, and firewalls. An organization with offices in
multiple geographic locations can have several different network technologies working together to create its enterprise
network.
 Network virtualization is a process that combines all of these network resources to centralize administrative tasks.
Administrators can adjust and control these elements virtually without touching the physical components, which greatly
simplifies network management.

Key Principles and Functions: Network virtualization involves logically grouping physical networks to operate as single
or multiple independent networks called virtual networks. The primary functions include:

Resource Sharing: Virtual networks can share network resources, enhancing utilization and performance. Resources can
be pooled together and allocated more efficiently. This allows for better utilization of hardware, reducing the need for
physical devices and lowering costs.

Isolation: Each virtual network operates separately, ensuring privacy and security. Virtual networks can be isolated and
segmented to prevent unauthorized access, reducing the risk of data breaches.

Centralized Management: Configuration and management of virtual networks can be done from a centralized workstation
using management software.
Types of Virtualization
The following are two approaches to network virtualization-

Software-defined networking: Software-defined networking (SDN) controls traffic routing by taking over routing
management from data routing in the physical environment. For example, you can program your system to prioritize your
video call traffic over application traffic to ensure consistent call quality in all online meetings.

Network function virtualization : Network function virtualization technology combines the functions of network
appliances, such as firewalls, load balancers, and traffic analyzers that work together, to improve network performance.

Advantages of Network Virtualization : Improves manageability


Reduces CAPEX
Improves utilization
Enhances performance
Enhances security

Disadvantages of Network Virtualization : It needs to manage IT in the abstract.


It needs to coexist with physical devices in a cloud-integrated hybrid environment.
Increased complexity.
Upfront cost.
Possible learning curve.
Types of Virtualization

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 is a data management technique in cloud computing
that integrates data from different sources into a single virtual layer. It
creates a single, logical, and virtual view of data.
 The virtual view of data can be access by applications such as web
portals, dashboards, e-commerce, mobile apps, etc.
 Data virtualization allows users to retrieve and manipulate data without
knowing how and where it is stored.
 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 increase flexibility for data integration and support cross-
functional data analysis.
Types of Virtualization
The data virtualization works in the following manner:

1. Data Abstraction: The process starts by pulling data from different sources—like databases, cloud storage or APIs—and
combining it into a single virtual layer. This layer makes everything look unified and easy to access without worrying about
where the data stores.

2. Data Integration: Instead of copying or moving data, the platform integrates it. It combines data from various systems into
a single view, so you can work with it all in one place, even if it’s coming from completely different sources.

3. Querying and Transformation: Users can query the data using familiar tools like SQL or APIs. The platform handles any
transformations or joins in real time, pulling everything together seamlessly—even if the data comes from multiple systems.

Layers of Data Virtualization: Following are the working layers in data virtualization architecture-
1. Connection Layer: This layer is all about connecting the virtualization platform to the different data sources you need.
Whether the data is structured, like databases, or unstructured, like files or APIs, this layer handles it.
2. Abstraction Layer: This is where the magic happens. The abstraction layer creates a virtual version of your data, making
it look clean and unified, no matter how messy or complex the sources are.
3. Consumption Layer: This is the user-facing layer that provides access to the unified data. It’s designed to make it easy
for tools, applications and people to work with the data.
Types of Virtualization

Advantages of Data Virtualization: There are different benefits and advantages of the data virtualization, some are
discussed as follows –
 Data virtualization integrates all your data sources and creates a single view and allows real-time access.
 It provides applications with real-time access to multiple data sources in a single view regardless of data source and
format.
 It provides best resource utilization by running multiple virtual instances on a single physical server.
 Data virtualization solutions increase flexibility for data integration and support cross-functional data analysis.
 It reduces costs by creating multiple virtual instances onto fewer physical servers.
 It provided user friendly interface to analyze and manipulate data.
 It reduces latency as it eliminates the complex data movement.
 It used metadata and advance data query optimization to retrieve data from sources. It reduces the data integration cost.

Disadvantages of Data Virtualization: With several advantages, the data virtualization come with some drawbacks or
disadvantages also. We have discussed some of them ass follows-
 It creates flexibility and portability issue as organizations may become dependent on third party providers.
 It requires high implementation cost.
 It causes issues with availability and scalability as it depends on third-party providers.
 It may introduce new security risks.
Types of Virtualization

Industries using Data Virtualization: The data virtualization is used in many industries. The following is a list of industries
where data virtualization ins used −

 Healthcare
 Finance
 Telecommunications
 Government
 Manufacturing
 Retail

Data Virtualization Tools: The following are some data virtualization tools used by different organizations −

 IBM Cloud Pak for Data


 TIBCO Data Virtualization
 CData Software
 Informatica
 Red Hat JBoss Data Virtualization
 AtScale
 Stone Bond Technologies
Types of Virtualization – Application Virtualization

What is application virtualization?


• A core concept of application virtualization is application streaming, or the ability to
stream applications from a central point to multiple PCs. Similar to video or audio
streaming, application streaming buffers content when an application is launched by a
user and begins playing the selected content as soon as enough content is available. The
rest of the application content is then delivered in the background. The beauty of
application streaming is that the process is transparent to the end users.
• Application virtualization is the process of abstracting (or separating) an application
from the underlying computer hardware it is stored on.
• Virtualizing an application allows an organization’s employees to access that application
from almost any device and any location as long as they have an internet connection.
• While users don’t have to physically install the application on their devices, they can still
interact with the application almost as if they did have it installed.
Types of Virtualization – Application Virtualization

Need for application virtualization


 Before virtualization, organizations had to install applications manually on every user’s device. Twenty or
thirty years ago, that might not have been the burden because organizations were using fewer applications.
 Today, however, the number of applications has exploded and hundreds of millions of applications are
developed every year. There’s no way an organization would be able to manage and maintain all of their
applications today without virtualization and/or cloud-based services.
 Manually installing software also affects the end user experience. Even if installation is self-service, they need
to take the time to download and install the app on their device. And most people have several devices they
might want to work from, such as a smartphone, tablet, laptop, or desktop computer. Application virtualization
makes app access so easy and efficient for end users, with no need to install or download or manage or update.
 Local installation and management of applications would be too time-consuming for IT today. The only way an
organization can work with so many applications is by virtualizing them and making them available remotely.
 Application virtualization enables fast, easy delivery of critical applications to practically any endpoint an
employee wishes to use. Managing and updating that application is much faster and more streamlined for IT
because they only have to manage and update that app once at the host server (not thousands of times on each
individual device).
Types of Virtualization – Application Virtualization

Examples:
• ThinApp: Developed by VMware, ThinApp
encapsulates application files and registries into a
single packet that can be easily deployed, managed,
and updated independent of the underlying OS. With
this approach, applications can be run on a physical
PC, a shared network drive, a virtual desktop without
installing them on the local machine. This technique
provides several features, including portability,
reduced help desk costs, ease of updating, stronger
endpoint security, and the ability to run multiple
versions of the application on the same machine.
This capability is now offered by a number of
vendors and provides considerable cost savings,
along with improved management and control.
Types of Virtualization – Application Virtualization

Examples:
Remote Desktop Services:
• RDS (formerly Terminal Services) is the
most commonly used method of application
virtualization. This method presents
applications to connected users. The
application actually runs in a session on the
server in the data center while it appears to
be running on the local desktop. This is a
cost effective and reliable method of
deploying applications to an enterprise.
Types of Virtualization – Application Virtualization

Benefits:
• Simple installation and deployment – An application is only installed once on the host server and
then deployed remotely through the distribution of an .exe file to user devices.
• Easy, centralized management – IT can oversee many applications for thousands of users from a
single centralized location.
• Increased flexibility and scalability – Eliminate the time and effort spent installing applications
many times to hundreds or thousands of end devices. As new employees are onboarded, they
simply need to be given remote access to already installed apps.
• Mobility support – Virtualized applications supports mobility and portability; in fact, some devices
can’t handle a full remote desktop environment, but almost every device can handle a virtualized
app.
Limitations:
• Graphics-intensive apps might be glitchy – Latency in these types of applications can cause some stuttering
during the rendering process.
• Device drivers could affect use of peripherals – Any application that requires a device driver that is OS-
specific could make it difficult to use equipment such as printers or scanners.
Types of Virtualization – OS Virtualization

• Various virtual cases of a working framework might be made on a single physical


computer because of working framework (operating system) virtualization. The kernel,
libraries, and system files of the host OS are shared by each virtual instance, or container.
• Operating system virtualization (OS virtualization) is a server virtualization technology
that includes customizing a conventional operating system to run numerous programs for
many users on the same machine simultaneously.
Types of Virtualization – OS Virtualization

Linux Operating System virtualization


Linux supports two most notable types of OS virtualization, and
they are Kernel-based Virtual Machine (KVM) and
containerization.
• KVM: This is a full virtualization solution for Linux on x86
hardware containing virtualization extensions. It turns the Linux
kernel into a hypervisor, allowing the host machine to run
multiple, isolated virtual environments called guests or Virtual
Machines (VMs). Each VM has private virtualized hardware,
including a network card, disk, graphics adapter, etc., and they
run independently of one another.
• Containerization (e.g., Docker, LXC): Containers are a lighter
form of virtualization. Instead of emulating the entire operating
system, containerization allows multiple isolated user-space
instances (containers) to run on a single system without the
overhead of simulating hardware or a full-fledged OS.
Types of Virtualization – OS Virtualization
Windows Operating System Virtualizations
Windows also provides robust virtualization features through
Hyper-V, which is available in Windows Server.
• Hyper-V: This is a hardware virtualization product that
allows users to create and run a software version of a
computer, called a virtual machine. Each virtual machine
behaves like a complete computer, running an operating
system and programs. Hyper-V creates a virtual layer
between the hardware of the host computer and the virtual
machine, effectively partitioning the system resources.
• VMware Workstation Player Operating System: VMware
Workstation Player is a virtualization software that allows
users to run multiple operating systems on a single
physical computer. It supports a wide range of operating
systems as both host and guest systems.
Types of Virtualization – OS Virtualization
Benefits
• Flexible provisioning: It is very simple and easy to connect different virtual disks to a system through OS
virtualization. Starting another operating system or any other application can be done easily by the client.
• Rapid software deployment: Adding a new server or workstation happens within few seconds. Using
deployment tools to install and configure the system or doing it manually takes at least a few hours, with a few
steps the client is allocated to a virtual disk and can be used in production.
• Easy and efficient implanting updates and hot fixes of the operating system and applications: In OS
virtualization, it is enough to add an update to the virtual disk image and not to all servers.
• Easy rollback scenarios: Rollback to previous state is easy in OS virtualization.
Limitations
• No work off-line capability: OS virtualization products must be connected to the virtualization server for using
the operating system virtually.
• High-speed LAN recommended: A high-speed LAN is needed as the virtual disk is connected to the OS
virtualization server through the network.
• Limited numbers of operating systems are supported: Limited number of OS supports virtualization. Some
Linux distributions do not support the OS virtualization technique.
• Imaging disadvantages apply to this technique: Virtual disk is created using image based techniques. All
disadvantages of imaging techniques are also applicable for the OS virtualization component.
Types of Virtualization

Desktop virtualization: Most organizations have nontechnical staff that use desktop systems to run common business
applications. For instance, you might have the following staff-

 A customer service team that requires a desktop computer with Windows 10 and customer-relationship management
software
 A marketing team that requires Windows Vista for sales applications

You can use desktop virtualization to run these different desktop operating systems on virtual machines, which your teams
can access remotely. This type of virtualization makes desktop management efficient and secure, saving money on desktop
hardware. The following are types of desktop virtualization-

 Virtual desktop infrastructure: Virtual desktop infrastructure runs virtual desktops on a remote server. Your users can
access them by using client devices.

 Local desktop virtualization: In local desktop virtualization, you run the hypervisor on a local computer and create a
virtual computer with a different operating system. You can switch between your local and virtual environment in the
same way you can switch between applications.
Implementation Level of Virtualization

 Virtualization is a computer architecture technology by which multiple virtual machines


(VMs) are multiplexed in the same hardware machine.
 The purpose of a VM is to enhance resource sharing by many users and improve
computer performance in terms of resource utilization and application flexibility.
 Hardware resources (CPU, memory, I/O devices, etc.) or software resources
(operating system and software libraries) can be virtualized in various functional layers.
 The idea is to separate the hardware from the software to yield better system
efficiency. For example, computer users gained access to much enlarged memory
space when the concept of virtual memory was introduced. Similarly, virtualization
techniques can be applied to enhance the use of compute engines, networks and
storage.
Implementation Level of Virtualization

 A traditional computer runs with host operating system specially tailored for its hardware
architecture.
 After virtualization, different user applications managed by their own operating
systems (guest OS) can run on the same hardware, independent of the host OS.
Implementation Level of Virtualization

 This is often done by adding additional software, called a virtualization layer. This
virtualization layer is known as hypervisor or virtual machine monitor (VMM).The
VMs are shown in the upper boxes, where applications run with their own guest OS over
the virtualized CPU, memory, and I/O resources.
 The main function of the software layer for virtualization is to virtualize the physical
hardware of a host machine into virtual resources to be used by the VMs, exclusively.
 The virtualization software creates the abstraction of VMs by interposing a virtualization
layer at various levels of a computer system.
 Common virtualization layers include
 Instruction Set Architecture (ISA) level,
 Hardware level,
 Operating System level,
 Library Support level, and
 Application level
Implementation Level of Virtualization
Implementation Level of Virtualization

Instruction Set Architecture (ISA) level:


• At the ISA level, virtualization is performed by emulating a given ISA by the ISA of the
host machine.
• Instruction set emulation leads to virtual ISAs created on any hardware machine.
• The basic emulation method is through code interpretation. An interpreter program
interprets the source instructions to target instructions one by one. One Source
instruction may require tens or hundreds of native target instructions to perform
its function. Obviously, this process is relatively slow. For better performance,
dynamic binary translation is desired.
• This approach translates basic blocks of dynamic source instructions to target
instructions. The basic blocks can also be extended to program traces or super blocks to
increase translation efficiency. Instruction set emulation requires binary translation
and optimization. A virtual instruction set architecture (V-ISA) thus requires
adding a processor-specific software translation layer to the compiler.
Implementation Level of Virtualization

Hardware Abstraction Layer (HAL) level:


• Hardware-level virtualization is performed right on top of the bare hardware.
• The idea is to virtualize a computer’s resources, such as its processors, memory, and
I/O devices.
• The intention is to upgrade the hardware utilization rate by multiple users concurrently.

Operating System (OS) level:


• This refers to an abstraction layer between traditional OS and user applications. OS-level
virtualization creates isolated containers on a single physical server and the OS
instances to utilize the hardware and software in datacenters.
• The containers behave like real servers.
• OS-level virtualization is commonly used in creating virtual hosting environments to
allocate hardware resources among a large number of mutually users.
Implementation Level of Virtualization

Library Level:
• Most applications use APIs exported by user level libraries. Since most systems
provide well documented APIs, such an interface becomes another candidate for
virtualization.
• API hooks make it possible as it controls the link of communication from the application
to the system.
• An API (Application Programming Interface) is a set of rules and protocols that
allows different software applications to communicate with each other. APIs enable the
exchange of data, features, and functionality between applications, simplifying and
accelerating software development.
Implementation Level of Virtualization

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.
Load Balancing in Cloud Computing

 Load balancing is an essential technique used in cloud computing to optimize resource


utilization and ensure that no single resource is overburdened with traffic.
 It is a process of distributing workloads across multiple computing resources, such as
servers, virtual machines, or containers, to achieve better performance, availability, and
scalability.
 Load balancing is the method of distributing network traffic equally across a pool of
resources that support an application.
 Load balancing can be implemented at various levels, including the network layer,
application layer, and database layer.
 Load balancing helps to improve the overall performance and reliability of cloud-based
applications by ensuring that resources are used efficiently.
 It helps to scale applications on demand and provides high availability and fault
tolerance to handle spikes in traffic or server failures.
Load Balancing in Cloud Computing

The most common load balancing techniques used in cloud computing are:

 Network Load Balancing: This technique is used to balance the network traffic across
multiple servers or instances. It is implemented at the network layer and ensures that the
incoming traffic is distributed evenly across the available servers.

 Application Load Balancing: This technique is used to balance the workload across
multiple instances of an application. It is implemented at the application layer and
ensures that each instance receives an equal share of the incoming requests.

 Database Load Balancing: This technique is used to balance the workload across
multiple database servers. It is implemented at the database layer and ensures that the
incoming queries are distributed evenly across the available database servers.
Load Balancing in Cloud Computing

Advantages:
 Improved Performance: Load balancing helps to distribute the workload across
multiple resources, which reduces the load on each resource and improves the overall
performance of the system.
 High Availability: Load balancing ensures that there is no single point of failure in the
system, which provides high availability and fault tolerance to handle server failures.
 Scalability: Load balancing makes it easier to scale resources up or down as needed,
which helps to handle spikes in traffic or changes in demand.
 Efficient Resource Utilization: Load balancing ensures that resources are used
efficiently, which reduces wastage and helps to optimize costs.
Load Balancing in Cloud Computing

Disadvantages:

 Complexity: Implementing load balancing in cloud computing can be complex,


especially when dealing with large-scale systems. It requires careful planning and
configuration to ensure that it works effectively.
 Cost: Implementing load balancing can add to the overall cost of cloud computing,
especially when using specialized hardware or software.
 Single Point of Failure: While load balancing helps to reduce the risk of a single point
of failure, it can also become a single point of failure if not implemented correctly.
 Security: Load balancing can introduce security risks if not implemented correctly, such
as allowing unauthorized access or exposing sensitive data.
Network Peering in Cloud Computing

 VPC – Stands for Virtual Private Cloud, It is a secured cloud space created within a
public cloud, where you can run the code, store your files, host websites, and can do
anything else they could do in an ordinary private cloud.
 Amazon Virtual Private Cloud is a service that allows its users to launch their virtual
machines in a protected as well as isolated virtual environment defined by them.
 You have complete control over your VPC, from creation to customization and even
deletion. It’s applicable to organizations where the data is scattered and needs to be
managed well.
 VPC can be referred to as the private cloud inside the cloud. It is a logical grouping of
servers in a specified network. The servers that you are going to deploy in the Virtual
Private Cloud(VPC) will be completely isolated from the other servers that are deployed
in the Amazon Web Services. You can have complete control of the IP address to the
virtual machines and route tables and gateways to the VPC.
Network Peering in Cloud Computing

 VPC Peering - It is an AWS networking function that provides safe and direct
communication between different VPCs.

 By using the VPC peering feature, organizations can establish private connections that
facilitate the secure and smooth transfer of resources and data across various VPCs in
the AWS Cloud.

 Amazon peering provides an effective way of linking Virtual Private Clouds (VPCs) and
offers strong networking capabilities inside AWS.
Network Peering in Cloud Computing

 AWS VPC Peering Architecture - The following architecture diagram illustrates on


usage of VPC peering connections to connect VPCs in your account with a VPC in the
third-party account.
Network Peering in Cloud Computing

 AWS VPC Peering Connection Lifecycle - The lifecycle of AWS VPC peering
connection involves with serval key stages. Those are as follow:

 Initiation: The life cycle process starts with initiating a request to peer two VPCs.
This request involves with specifying the VPCs to be peered and their respective
settings.
 Approval: After the request is raised, the administrator of the receiving VPC have to
accept that peering connection. This step involves both the parties to agrees the
connection establishment.
 Establishment: One Both approved the peering connection, the VPC peering
connection is established. This enables the communication between two VPCs, if
they were within same network, i.e., allowing instances in one VPC to communicate
with other VPC’s instance using private IP address.
Network Peering in Cloud Computing

 Configuration: After once, the connection is established, administrator may ensure


configuring the route tables and security groups to control flow of the traffic between
peered VPCs. This steps ensure the communication should be done in secured and
follow with desired network paths.
 Utilization: With this peered connections, the resources within the peered VPCs can
communicate with each other seamlessly. This provides various use cases such as
data replication, resource sharing and application integration across multiple VPCs.
 Monitoring And Maintenance: Administrators continuously monitor the
performance and security of the VPC peering connection. They may also perform the
maintenance tasks such as updating route tables or adjusting security group rules as
needed to optimize the connection’s performance and ensuring its reliability.
 Termination ( Optional ): If need arises, the adminstrators can look for terminating
the VPC peering connection. This effectively serves as the network link between the
VPCs and prevents further communication between them.
Hypervisor in Cloud Computing

 Hypervisor is a key component that enables cloud computing. It allows multiple virtual
machines to run simultaneously on a single physical server, maximizing hardware
utilization.
 A hypervisor, also called a virtual machine monitor (VMM), is a software program that
creates and runs virtual machines (VMs) on a host machine.

 Acting as a layer between the hardware and virtual machines, hypervisors allow multiple
operating systems to share the resources of a single physical server.

 This virtualization enables businesses to better utilize server capacity, reduce hardware
costs, and simplify operations.

 A Cloud Hypervisor is software that creates and runs virtual machines. Hypervisors are a
crucial part of the technology that makes Cloud Computing Virtualization possible.
Hypervisor in Cloud Computing
Types of Hypervisor –

 TYPE-1 Hypervisor: The hypervisor runs directly on the underlying host system. It is
also known as a “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 Xen Server, and Microsoft
Hyper-V hypervisor.
 Pros of Type-1 Hypervisor: Such kinds of hypervisors are very efficient because they
have direct access to the physical hardware resources (like Cpu, Memory, Network, and
Physical storage). This causes the empowerment of the security because there is nothing
any kind of the third party resource so that attacker couldn’t compromise with anything.
 Cons of Type-1 Hypervisor: : One problem with Type-1 hypervisors is that they usually
need a dedicated separate machine to perform their operation and to instruct different
VMs and control the host hardware resources.
Hypervisor in Cloud Computing

 TYPE-2 Hypervisor: A Host operating system runs on the underlying host system. It is also
known as ‘Hosted Hypervisor”. Such kind of hypervisors doesn’t run directly over the underlying
hardware rather they run as an application in a physical machine. Basically, the software is installed
on an operating system. Hypervisor asks the operating system to make hardware calls.
 An example of a Type 2 hypervisor includes KVM, VirtualBox, and VMware Workstation. The type-2
hypervisor is very useful for engineers, and security analysts for checking malware, or malicious
source code and newly developed applications.
 Pros of Type-2 Hypervisor: Such kind of hypervisors allows quick and easy access to a guest
Operating System alongside the host machine running. These hypervisors usually come with
additional useful features for guest machines. Such tools enhance the coordination between the host
machine and the guest machine.
 Cons of Type-2 Hypervisor : There is no direct access to the physical hardware resources so the
efficiency of these hypervisors lags in performance as compared to the type-1 hypervisors, and
potential security risks are also there an attacker can compromise the security weakness if there is
access to the host operating system so he can also access the guest operating system.
Hypervisor in Cloud Computing

Choosing the right hypervisor :

 Type 1 hypervisors offer much better performance than Type 2 ones because there’s no
middle layer, making them the logical choice for mission-critical applications and
workloads.
 But that’s not to say that hosted hypervisors don’t have their place – they’re much simpler to
set up, so they’re a good but if, you need to deploy a test environment quickly.
 One of the best ways to determine which hypervisor meets your needs is to compare their
performance metrics. These include CPU overhead, the amount of maximum host and guest
memory, and support for virtual processors.
Hypervisor in Cloud Computing

Choosing the right hypervisor :


The following factors should be examined before choosing a suitable hypervisor:
1. Understand your needs: The company and its applications are the reason for your job.
Besides your company’s needs, you and your co-workers in IT also have your own needs.
Needs for a virtualization hypervisor are:
a. Flexibility
b. Scalability
c. Usability
d. Availability
e. Reliability
f. Efficiency
g. Reliable support
Hypervisor in Cloud Computing

Choosing the right hypervisor :


2. The cost of a hypervisor: For many buyers, the toughest part of choosing a hypervisor is
striking the right balance between cost and functionality. While a number of entry-level
solutions are free, or practically free, the prices at the opposite end of the market can be
staggering. Licensing frameworks also vary, so it’s important to be aware of exactly what
you’re getting for your money.

3. Virtual machine performance: Virtual systems should meet or exceed the performance of
their physical counterparts, at least in relation to the applications within each server. Everything
beyond meeting this benchmark is profit.
Hypervisor in Cloud Computing

Choosing the right hypervisor :


4. Ecosystem: It’s tempting to overlook the role of a hypervisor’s ecosystem – that is, the
availability of documentation, support, training, third-party developers and consultancies, and
so on – in determining whether or not a solution is cost-effective in the long term.

5. Test for yourself: You can gain basic experience from your existing desktop or laptop. You
can run both VMware vSphere and Microsoft Hyper-V in either VMware Workstation or
VMware Fusion to create a nice virtual learning and testing environment.
Containers Vs Hypervisor

Containers and hypervisors both facilitate sharing physical infrastructure through virtualization, but containers
operate at the application layer while hypervisors work at the hardware layer, allowing multiple operating
systems per server. Here is the following comparison to help you understand better:
Advantage of Hypervisor

In the world of cloud computing, hypervisors act as architects, optimizing resources and promoting flexibility.
Let’s find their advantages, encouraging businesses toward efficiency and adaptability.
 Resource Optimization: Hypervisors efficiently manage resources, allowing multiple virtual machines
(VMs) to run on a single physical server. This optimization maximizes server use, reducing costs and energy
consumption.
 Flexibility and Scalability: They offer the flexibility to scale resources up or down based on demand. This
flexibility is vital for businesses, as it allows them to adapt to changing needs without investing in additional
hardware.
 Isolation and Security: Hypervisors create isolated environments for each VM, preventing issues in one VM
from affecting others. This isolation enhances security by, reducing the risk of data breaches and ensuring a
more stable system.
 Hardware Consolidation: By consolidating multiple VMs onto a single server, hypervisors save physical
space and reduce hardware requirements. This consolidation streamlines management and maintenance
efforts.
 Testing and Development: They provide a safe playground for testing new software or applications without
impacting the live environment. Developers can experiment without risking the stability of the production
environment.
Disadvantage of Hypervisor

While hypervisors offer immense benefits in cloud computing, they also come with potential drawbacks, from
performance considerations to management complexities. Let’s explore these disadvantages.
 Performance Overhead: Running multiple virtual machines on a single physical server can lead to
performance overhead. This additional layer of virtualization may slightly slow down operations compared to
running directly on hardware.

 Resource Consumption: While hypervisors optimize resource usage, there’s still a need for sufficient
hardware resources to support multiple virtual machines. This could require an initial investment in hardware.

 Complexity in Management: Managing several virtual machines on a single server can become complex. It
requires specialized skills and adds an additional layer of complexity to IT infrastructure management.

 Licensing Costs: Depending on the hypervisor and its features, there might be licensing costs involved,
especially for enterprise-level functionalities, adding to the overall expenses.

 Single Point of Failure: If the hypervisor itself encounters issues or fails, it can impact all the VMs running
on that server, leading to downtime and potential data loss.
QA - Hypervisor

 Do hypervisors impact system performance?


While there might be slight performance overhead due to virtualization, modern hypervisors aim for minimal
impact, providing efficient resource allocation for optimal performance.

 How do hypervisors enhance security in cloud environments?


Hypervisors enforce isolation between virtual machines, preventing one VM’s issues from affecting others, thus
enhancing overall system security.

 Are there free hypervisor options available?


Yes, several free and open-source hypervisors, like KVM, Xen, and VirtualBox, offer reliable functionalities,
available to different needs without additional licensing costs.
 Can a hypervisor run different operating systems on the same server?
Yes, hypervisors can host multiple operating systems simultaneously on a single physical server, allowing
diverse environments to operate independently.
Installation of VM

Installing a virtual machine (VM) involves setting up virtualization software and creating a virtual environment
where you can run another operating system (OS). Here’s a step-by-step guide:
Step 1: Choose a Virtualization Software : Popular options include:
 VirtualBox (free, open-source, good for beginners)
 VMware Workstation Player (free for personal use, more performance optimization)
 Microsoft Hyper-V (built into Windows Pro & Enterprise)
 Parallels Desktop (for macOS users)
Step 2: Download and Install Virtualization Software
 Download the chosen software from its official website.
 VirtualBox
 VMware Workstation Player
 Run the installer and follow on-screen instructions.
 Enable virtualization in BIOS/UEFI if needed (for Intel VT-x or AMD-V).
Step 3: Download an Operating System (OS)
 Choose an ISO file of the OS you want to install (e.g., Windows, Linux).
 You can download official ISOs from:
 Windows: Microsoft
 Linux: Ubuntu, Fedora
Installation of VM

Step 4: Create a Virtual Machine


 Open your virtualization software.
 Click New to create a VM.
 Choose OS type (Windows/Linux/Mac).
 Assign RAM (at least 2GB for Linux, 4GB+ for Windows).
 Create a virtual hard disk (20GB+ recommended).
 Select the downloaded ISO as the installation medium.
Step 5: Install the OS on the VM
 Start the VM.
 Follow the OS installation process as if installing on a physical machine.
 Once installed, set up drivers (e.g., VirtualBox Guest Additions or VMware Tools) for better
performance.
Step 6: Configure & Use
 Adjust VM settings (CPU, RAM, display).
 Install necessary software inside the VM.
 Take snapshots to save states for recovery.
VM monitoring services

Virtual Machine (VM) monitoring services are tools and platforms used to track the performance, availability,
and resource utilization of virtual machines in real-time. These services help administrators detect issues,
optimize resource usage, and ensure smooth operations in virtualized environments.
Key Features of VM Monitoring Services:

 Performance Monitoring
 Tracks CPU, memory, disk, and network usage of VMs.
 Detects performance bottlenecks.

 Resource Utilization
 Provides insights into VM workload distribution.
 Helps optimize resource allocation.

 Availability & Uptime Monitoring


 Ensures VMs remain operational.
 Detects crashes or downtimes.
VM monitoring services

 Alerting & Notifications


 Sends alerts when resources exceed thresholds.
 Helps prevent failures before they impact operations.

 Log & Event Tracking


 Records VM activities for analysis and troubleshooting.
 Helps in security and compliance audits.

 Automation & Scaling Automates


 VM scaling based on demand.
 Supports self-healing mechanisms.

 Security Monitoring
 Detects unauthorized access or unusual activity.
 Monitors vulnerabilities and threats.
VM monitoring services

 Popular VM Monitoring Tools

 Nagios – Open-source monitoring with alerts.

 Zabbix – Advanced monitoring with predictive analysis.

 SolarWinds Virtualization Manager – Comprehensive VM performance tracking.

 Datadog – Cloud-based monitoring with AI-driven insights.

 Microsoft Azure Monitor – Optimized for Azure-based VMs.

 VMware vRealize Operations – Best for VMware environments.

You might also like