Unit 2 Virtualization
Unit 2 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.
Types of Virtualization
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.
Cloud Services Model
Infrastructure as a Service (IaaS):
Software virtualization is the backbone of IaaS, enabling providers like AWS, Azure, and Google Cloud
to offer scalable computing resources.
7. Portability – The concept of portability applies in different ways according to the specific type of virtualization
considered. In the case of a hardware virtualization solution, the guest is packaged into a virtual image that, in most
cases, can be safely moved and executed on top of different virtual machines.
8. Resource sharing – Virtualization allows multiple virtual machines to share the resources of a single physical
machine, such as CPU, memory, storage, and network bandwidth. This improves hardware utilization and reduces
the need for additional physical servers.
9. Management – Virtualization provides centralized management tools that allow IT administrators to monitor and
manage multiple virtual machines from a single console, making it easier to troubleshoot and maintain the
virtualized environment.
10. Testing and Development – Virtualization allows organizations to easily create test and development
environments without the need for additional physical hardware. This enables developers to test new applications
and configurations in a controlled environment before deploying them to production.
Hardware Virtualization
Hardware Virtualization, also known as server virtualization, is a process that allows for the creation of a
virtual version of a physical server, known as a virtual machine.
This is a fundamental technology that makes cloud computing possible, as it allows multiple virtual machines
to run on a single physical machine, each with its own operating system and application.
Create multiple virtual machines with different operating systems on a single physical host.
Run multiple guest operating systems and their applications simultaneously on a single physical host without
rebooting.
Consolidate and virtualize the computing environment, reduce hardware costs, lower operating expenses,
and increase productivity.
Use open APIs and SDK for integration with in-house and third-party applications.
How Does Hardware Virtualization Work?
The hypervisor creates an abstraction layer between the software and the
hardware in use. After installing a hypervisor, virtual representations, such as
virtual processors, occur.
After installation, we cannot use physical processors—several popular
hypervisors such as VMware's vSphere, based on ESXi, and Microsoft's Hyper-
V.
In this system, multiple VMs can host simultaneously, but every VM is logically
isolated from each other. It is because of security reasons.
And Because of it, the other VMs will not get affected. If multiple VMs used, the
system's efficiency will increase simultaneously, and the overall performance will
improve.
So, this will lead to the fact that this improved heartbeat utilization provides
various benefits and supports the system while reducing the number of servers,
saving money.
Types of Hardware Virtualization
1. Full virtualization
It is underlying Hardware that is fully simulated. The Guest software does not require to perform any
modifications to run their applications. With full virtualization, the administrators can combine the
new and the existing system for something efficient. So, it should be compatible with the unique
design.
2. Hardware-Assisted Virtualization
In this type of Virtualization, the virtual machine simulates the Hardware, hence becoming
independent of it. In this Virtualization, the guest operating system does not need to perform any
modifications.
3. Para-virtualization
The Hardware is not simulated in Para-Virtualization. Here, the Guest software must run its own
isolated domains. The hypervisor provides various commands sent from the operating system to the
hypervisor and is called hypercars. These hypercars are further used for memory management.
Example of Hardware Virtualization
A software development company needs to test its new application on
different operating system. Instead of investing in multiple physical
servers, each running a different operating system, the company uses
hardware virtualization. They create multiple virtual machines on a
single server, each running a different operating virtualization. This
allows to test their application on multiple platforms, while saving on
hardware costs.
Software Virtualization
Software virtualization in cloud computing refers to the abstraction of software
resources from the underlying hardware. This technique allows multiple operating
systems or applications to run on a single physical machine, providing efficient
resource utilization and isolation. By using software virtualization, cloud providers
can deliver scalable, flexible, and cost-effective services to customers.
How Does Software Virtualization Work?
Before you know about the working of software virtualization in cloud computing, you should know that it
begins with the urge to use various applications in only one system by creating a virtual environment. And
creating a virtual environment to use more than one operating system is a complex process to administrate.
And for sure, you have noticed many applications sometimes cannot be installed in different operating
systems because of the compatibility of the devices. So to overcome this issue, the concept of software
virtualization came into action.
Because of software virtualization techniques, the developers are developing software that forms its own
virtual environment with its own OS compatibility and runs on it. And due to this, the software now can be
installed on different devices because there’s no need to install different operating systems as it forms its
own.
Types of Software Virtualization
1. Operating System Virtualization
Definition: Allows multiple operating systems to run on a single physical machine.
Operating System Virtualization is a technology that allows multiple isolated user spaces, called
containers, to run on a single host machine. Unlike traditional virtualization, which relies on
hypervisors to create virtual machines (VMs) with their own separate operating systems, OS
virtualization enables the use of a single OS kernel for all containers, making it more lightweight and
efficient.
Example Tools: VMware Workstation, Microsoft Hyper-V, Oracle VirtualBox.
Key Concepts of Operating System Virtualization
Containers:
Containers are isolated, lightweight environments created on top of a single operating system.
They allow multiple applications to run independently without interfering with each other, while
still sharing the same OS kernel.
Containers are different from virtual machines in that they don’t require a full OS for each
instance, making them more resource-efficient.
Kernel:
The kernel is the core part of the operating system that manages resources and hardware
interactions. In OS virtualization, all containers share the same kernel, unlike VMs, which use
separate kernels.
Image:
A container image is a lightweight, portable, and executable package that includes everything
needed to run an application, such as code, runtime, libraries, and dependencies.
Isolation:
OS virtualization provides isolation between containers, ensuring that each container is secure
and independent. However, since they share the same kernel, they are less isolated than VMs.
How OS Virtualization Works
In OS virtualization, the host machine runs a single operating system kernel, and each application
is encapsulated into a container that has its own user space, libraries, and dependencies. These
containers run independently of each other, but since they share the same kernel, they are lightweight
and resource-efficient compared to virtual machines.
Host OS:
The host OS provides the kernel, which handles system calls, process management, and other
fundamental functions.
Containers:
Each container contains its own filesystem, libraries, and dependencies, ensuring that
applications are isolated.
Containers do not need to include an OS of their own, making them much more efficient in terms
of system resources.
Container Engine:
A container engine (such as Docker) manages the creation, execution, and destruction of
containers. It allows for efficient deployment and scaling of applications in containers.
Types of Software Virtualization
2. Application Virtualization
Definition: Virtualizes applications, allowing them to run on different operating systems without
compatibility issues.
How It Works: The application is decoupled from the underlying OS and executed in a virtualized
container.
Uses:
Running Windows applications on macOS.
Isolating applications for testing.
Example Tools: Microsoft App-V, Citrix XenApp, Turbo.
Key Features of Application Virtualization
Isolation of Applications:
Applications run in a virtual environment, isolated from the host OS and other applications.
Prevents conflicts between applications and the OS.
Centralized Management:
Applications are hosted on a central server and can be delivered to multiple endpoints.
Portability:
Virtualized applications can be run on different devices or operating systems.
No Installation Required:
Applications are executed from the virtual environment, eliminating the need for installation on the
host system.
How Application Virtualization Works
Packaging the Application:
The application is encapsulated into a virtual package containing its binaries, dependencies, and
configuration files.
Streaming or Deployment:
The virtualized application is streamed to the endpoint or executed from a remote server.
Reduced Conflicts:
Isolated execution prevents conflicts between multiple applications or between applications and the
OS.
Simplified Management:
Centralized deployment and updates reduce the administrative overhead of managing applications.
Cost Efficiency:
Enables efficient resource usage by running multiple applications on the same device.
Enhanced Security:
Applications are isolated, minimizing the risk of malware or unauthorized access.
Faster Deployment:
Applications can be quickly deployed to multiple users or devices.
Types of Software Virtualization
3. Service Virtualization
Service Virtualization is a technique used to simulate and mimic the behavior of software components
(such as APIs, databases, and microservices) that are unavailable, incomplete, or difficult to access in a
testing or development environment. It enables developers and testers to work in isolated yet realistic
environments, accelerating application delivery and improving efficiency.
Before virtualization:
After virtualization:
How Service Virtualization Works
Flexible Configuration:
Supports customization to test various scenarios, including error handling, edge cases, and
performance.
Benefits of Service Virtualization
Accelerates Development and Testing:
Teams can test applications without waiting for the availability of dependent services.
Cost-Effective:
Reduces the need to access expensive third-party systems or resources for testing.
Improved Quality:
Enables testing under realistic conditions, helping to identify and fix issues early.
Scalability:
Allows testing of large-scale scenarios, including high traffic and load conditions.
Risk Reduction:
Helps simulate and test failure scenarios without impacting real systems.
Full Virtualization
Full Virtualization was introduced by IBM in 1966. It is the first software solution for server virtualization
and uses binary translation and direct approach techniques. In full virtualization, the virtual machine
completely isolates the guest OS from the virtualization layer and hardware. Microsoft and Parallels
systems are examples of full virtualization.
Para Virtualization
Para virtualization is the category of CPU virtualization which uses hypercalls for operations to handle
instructions at compile time. In para virtualization, 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 para virtualization.
Difference Between Full Virtualization and Para virtualization
S.No. Full Virtualization Paravirtualization
2. Full Virtualization is less secure. While the Paravirtualization is more secure than the Full Virtualization.
4. Full Virtualization is slow than para virtualization in operation. Paravirtualization is faster in operation as compared to full virtualization.
5. Full Virtualization is more portable and compatible. Paravirtualization is less portable and compatible.
6. Examples of full virtualization are Microsoft and Parallels systems. Examples of paravirtualization are Microsoft Hyper-V, Citrix Xen, etc.
The guest operating system has to be modified and only a few operating
7. It supports all guest operating systems without modification.
systems support it.
Using the drivers, the guest operating system will directly communicate
8. The guest operating system will issue hardware calls.
with the hypervisor.
10. It provides the best isolation. It provides less isolation compared to full virtualization.
Partial Virtualization
•In this virtualization, a user installs the virtualization software in the operating system of his system
like any other program and utilizes this application to operate and generate various virtual
machines. Here, the virtualization software allows direct access to any of the created virtual
machines to the user. As the host OS can provide hardware devices with the mandatory support,
operating system virtualization may affect compatibility issues of hardware even when the
hardware driver is not allocated to the virtualization software.
•Virtualization software is able to convert hardware IT resources that require unique software for
operation into virtualized IT resources. As the host OS is a complete operating system in itself,
many OS-based services are available as organizational management and administration tools can
be utilized for the virtualization host management.
Operating System Level Virtualization