UNIT I
UNIT I
INTRODUCTION TO VIRTUALIZATION
1. Virtualization
Virtualization is technology that you can use to create virtual representations of servers,
storage, networks, and other physical machines. Virtual software mimics the functions of
physical hardware to run multiple virtual machines simultaneously on a single physical
machine. Businesses use virtualization to use their hardware resources efficiently and get
greater returns from their investment. Virtual machines and hypervisors are two important
concepts in virtualization.
Virtual machine
A virtual machine is a software-defined computer that runs on a physical computer with a
separate operating system and computing resources. The physical computer is called the host
machine and virtual machines are guest machines. Multiple virtual machines can run on a single
physical machine. Virtual machines are abstracted from the computer hardware by a
hypervisor.
Hypervisor
The hypervisor is a software component that manages multiple virtual machines in a computer.
It ensures that each virtual machine gets the allocated resources and does not interfere with the
operation of other virtual machines.
There are two types of hypervisors.
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.
o Key Technologies:
▪ Hypervisors: Software layers that enable multiple operating systems
to share a single hardware host. Examples include:
▪ Type 1 (Bare-Metal) Hypervisors: VMware ESXi,
Microsoft Hyper-V, and KVM.
▪ Type 2 (Hosted) Hypervisors: VMware Workstation, Oracle
VM VirtualBox.
o Benefits:
▪ Improved resource utilization.
▪ Isolation of applications.
▪ Simplified management.
2. Software Virtualization
o Definition: Allows applications to run in isolated environments, often using
containers.
o Key Technologies: Docker, Kubernetes, LXC (Linux Containers).
o Benefits:
▪ Consistent environments across development, testing, and production.
▪ Rapid deployment and scaling.
▪ Efficient use of system resources.
3. Desktop Virtualization
o Definition: Technology that allows desktop environments to be hosted on a
central server and accessed remotely by users.
o Key Technologies:
▪ VDI (Virtual Desktop Infrastructure): Citrix Virtual Apps and
Desktops, VMware Horizon.
o Benefits:
▪ Centralized management of desktops.
▪ Enhanced security and data protection.
▪ Flexibility for remote work.
4. Network Virtualization
o Definition: The process of creating a virtualized network that operates
independently of the physical network infrastructure.
o Key Technologies: VLANs (Virtual Local Area Networks), SDN (Software-
Defined Networking), NFV (Network Functions Virtualization).
o Benefits:
▪ Simplified network management.
▪ Improved network flexibility and scalability.
▪ Enhanced performance and security.
5. Storage Virtualization
o Definition: The pooling of physical storage from multiple devices into a
single,logical storage unit that is managed centrally.
o Key Technologies: SAN (Storage Area Network), NAS (Network Attached
Storage), Storage Virtualization Software (e.g., IBM Spectrum Virtualize).
o Benefits:
▪ Simplified storage management.
▪ Better utilization of storage resources.
▪ Improved data availability and disaster recovery.
6. Application Virtualization
o Definition: Technology that allows applications to be abstracted from the
underlying operating system, enabling them to run in isolated environments.
Benefits of Virtualization
Public Cloud
Fig 1.2.1
Advantages of the Public Cloud Model
• Minimal Investment: Because it is a pay-per-use service, there is no substantial
upfront fee, making it excellent for enterprises that require immediate access to resources.
• No setup cost: The entire infrastructure is fully subsidized by the cloud service
providers, thus there is no need to set up any hardware.
• Infrastructure Management is not required: Using the public cloud does not
necessitate infrastructure management.
• No maintenance: The maintenance work is done by the service provider (not users).
• Dynamic Scalability: To fulfill your company’s needs, on-demand resources are
accessible.
Disadvantages of the Public Cloud Model
• Less secure: Public cloud is less secure as resources are public so there is no guarantee
of high-level security.
• Low customization: It is accessed by many public so it can’t be customized according
to personal requirements.
Private Cloud
The private cloud deployment model is the exact opposite of the public cloud deployment
model. It’s a one-on-one environment for a single user (customer). There is no need to share
your hardware with anyone else. The distinction between private and public clouds is in how
you handle all of the hardware. It is also called the “internal cloud” & it refers to the ability
to access systems and services within a given border or organization. The cloud platform is
implemented in a cloud-based secure environment that is protected by powerful firewalls and
under the supervision of an organization’s IT department. The private cloud gives greater
flexibility of control over cloud resources.
Private Cloud
Fig 1.2.2
Hybrid Cloud
Fig 1.2.3
Fig 1.2.4
Service Models :
Infrastructure as a Service (IaaS): Provides users with virtualized computing
resources like servers, storage, and networking.
Platform as a Service (PaaS): Offers a platform for developing, deploying, and managing
applications without managing the underlying infrastructure.
Software as a Service (SaaS): Delivers on-demand access to software applications over the
internet. Users access the software through a web browser or API.
There are five major needs of virtualization which are described below:
Enhanced Performance
• Modern PCs are powerful enough to handle basic computation requirements and
additional tasks.
• These systems have sufficient resources to host virtual machine managers and operate
virtual machines with acceptable performance.
Limited Use of Hardware and Software Resources
• Many user systems are underutilized, as they are capable of fulfilling regular
computational needs.
• These systems can run continuously without interruptions, offering opportunities for
extended usage.
• Virtualization can enable the utilization of idle resources during off-hours, improving
IT infrastructure efficiency.
Shortage of Space
Eco-Friendly Initiatives
Administrative Costs
Reduced Costs:
* Consolidate multiple physical servers onto fewer machines, lowering hardware
acquisition and maintenance expenses.
* Pay only for the resources VMs use, optimizing resource allocation and
eliminating overprovisioning.
Simplified Administration:
* Manage VMs centrally, reducing time spent on individual server configurations.
* Easily provision, migrate, and clone VMs, streamlining IT operations.
Fast Deployment:
Quickly spin up new VMs with pre-configured settings, accelerating application
deployment times.
Test and deploy new environments rapidly, improving development agility.
Reduced Infrastructure Footprint:
Consolidate physical servers, minimizing data center space requirements and associated
cooling
1.4 Limitations of Virtualization
Cost:
* Upfront investment in virtualization software and potentially new hardware to
support VMs.
* Licensing costs for additional operating systems running on VMs.
Complexity:
* Increased management overhead for virtual infrastructure compared to physical
machines.
* Requires skilled IT staff to manage VMs, configure virtual networks, and ensure
resource allocation.
Performance:
* Virtualization overhead can impact VM performance compared to dedicated
physical hardware.
* Overprovisioning VMs on a single physical machine can lead to resource
contention and performance bottlenecks.
Security:
* Security vulnerabilities in the virtualization layer can expose all VMs running on the
system.
* Managing security across multiple VMs can be complex.
Limited Scalability:
* Scaling resources can be limited by the capacity of the underlying physical
hardware.
* Adding physical machines to increase capacity might not be as cost-effective as scaling
in a cloud environment.
Fig 1.5.1
Full virtualization is well-suited for scenarios where you need to run different operating
systems on the same physical server, such as hosting multiple Windows and Linux VMs on a
single machine. It offers excellent isolation and security between VMs, making it suitable for
scenarios like cloud computing and data center environments.
Para Virtualization
Para Virtualization, on the other hand, takes a slightly different approach to virtualization. It
involves modifying the guest operating systems to be aware of the virtualized environment.
Unlike full virtualization, where the guest OS runs unmodified, paravirtualization requires
guest OSes to use a specific set of APIs to interact with the virtualization layer.
How Para Virtualization Works?
1. HypervisorLayer:
Similar to full virtualization, paravirtualization also employs a hypervisor, but here, the
guest operating systems are aware of it. The hypervisor provides a set of APIs that guest
OSes must use to communicate with the underlying hardware.
2. GuestOSModifications:
Guest operating systems must be modified to replace certain hardware-related
instructions with hypercalls, which are calls to the hypervisor. These hypercalls allow
the guest OS to request services from the hypervisor, such as memory management or
CPU scheduling.
3. PerformanceBenefits:
Since para virtualization avoids the overhead of emulating complete hardware, it often
offers better performance than full virtualization. Guest OSes can communicate more
directly with the hypervisor, resulting in improved efficiency.
4. Examples:
Xen is a widely-used hypervisor that supports para virtualization. It is known for its
performance and scalability in virtualized environments.
Fig 1.5.2
Full Virtualization Vs Para Virtualization
Let's summarize the key differences between full virtualization and para virtualization in a
tabular format:
Guest OS
Not required; runs unmodified Requires modifications to use hypercalls
Modification
Isolation Strong isolation between VMs Isolation with awareness of other VMs
Guest OS Flexibility Supports various OS types Works best with compatible OSes
Partial Virtualization
Definition:
Partial virtualization involves virtualizing only certain parts of the underlying hardware, such
as CPU or memory, while other components are accessed directly by the guest operating
system.
Key Features:
1. Direct Hardware Access: The guest operating system directly accesses some hardware
components, bypassing the hypervisor.
2. Modification Required: The guest operating system must be modified to work in this
environment.
3. Performance: Offers better performance than full virtualization due to reduced
overhead.
Advantages:
• Efficient use of system resources.
• Lower overhead compared to full virtualization.
Disadvantages:
• Requires modification of the guest OS, making it less flexible.
• Limited isolation compared to full virtualization.
Fig 1.5.3
1.6 Hypervisor
What is a Hypervisor?
A hypervisor, also known as a virtual machine monitor (VMM), is a software or firmware layer
that enables multiple operating systems, known as guest operating systems, to run concurrently
on a single physical host. The hypervisor abstracts and partitions the underlying hardware
resources, such as CPU, memory, storage, and networking, to create isolated virtual
environments for each guest operating system.
Hypervisor
Fig 1.6.1
Type-1 Hypervisor vs Type-2 Hypervisor: