Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
41 views33 pages

Chapter 4 - Virtualization

The document outlines the course SWEG5108 on Software Defined Systems, focusing on virtualization, its benefits, types, and security aspects. It explains the role of Virtual Machine Monitors (VMMs) or hypervisors, the process of VM migration, and load balancing. Additionally, it discusses challenges in virtualization, including security risks, performance overhead, and complexity, while introducing the concept of Software-Defined Everything (SDx).

Uploaded by

Fekadu Tigu
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)
41 views33 pages

Chapter 4 - Virtualization

The document outlines the course SWEG5108 on Software Defined Systems, focusing on virtualization, its benefits, types, and security aspects. It explains the role of Virtual Machine Monitors (VMMs) or hypervisors, the process of VM migration, and load balancing. Additionally, it discusses challenges in virtualization, including security risks, performance overhead, and complexity, while introducing the concept of Software-Defined Everything (SDx).

Uploaded by

Fekadu Tigu
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/ 33

SOFTWARE DEFINED SYSTEMS

Course Code: SWEG5108


Target Group: 5th Year Software Engineering

2025
Outline
Chapter 4 1. What is virtualization?

Virtualization 2. Software-defined everything (SDE)

3. Benefits of virtualization

4. Types of virtualizations

5. How secure is virtualization and how


are virtual machines managed?

6. Categories of Virtualization
What is virtualization?
 Virtualization is the process of creating a virtual version of a physical
resource, such as a server, storage device, or network.
 Multiple virtual machines (VMs) can run inside a physical machine
(PM)
 VM gives user an illusion of running on a physical machine
 Virtualization is a building block for cloud computing
 Virtualization enables multiple clients share the cloud’s compute
resources
 Multiple users on VMs/containers can share same cloud server

Software Defined System 3


What is virtualization?
 Virtualization is a basic enabler of Cloud Computing, it simplifies the
management of physical resources for the three abstractions.
 Virtualization abstracts the underlying resources, simplifies their use,
isolates users from one another, and supports replication which
increases the elasticity of a system

Software Defined System 4


What is virtualization?
 Virtualization simulates the interface to a physical object by:
o Multiplexing: creates multiple virtual objects from one instance of a
physical object. Many virtual objects to one physical. Example - a
processor is multiplexed among a number of processes or threads.
o Aggregation: creates one virtual object from multiple physical objects. One
virtual object to many physical objects. Example - a number of physical
disks are aggregated into a RAID disk.
o Emulation: constructs a virtual object of a certain type from a different
type of a physical object. Example - a physical disk emulates a Random
Access Memory (RAM).
o Multiplexing and emulation. Examples - virtual memory with paging
multiplexes real memory and disk; a virtual address emulates a real
address
Software Defined System 5
Similarities and Differences with Multiprogramming
 Multi Programming – Each Process thinks it has complete control on all
of the resources (Virtual Memory, CPU Sharing)

Multi Programming Virtualization


 CPU is shared among processes  CPU is shared among OSs.
 Memory is shared using Page  Memory is shared using more
Tables. level of indirections.
 Multiple Page tables.
 Process knows it is being
managed- uses system calls.  OS may or may not know that
it is being managed
Software Defined System 6
Similarities and Differences with Multiprogramming

In summary, Multiprogramming focuses on maximizing CPU utilization


by running multiple processes concurrently, while Virtualization
abstracts physical resources into virtual machines, providing isolation
and flexibility.

Multiprogramming operates at the process level, whereas virtualization


operates at the hardware level.

Software Defined System 7


Virtual Machine Monitor (VMM / Hypervisor)
 A virtual machine monitor (VMM/hypervisor) partitions the resources
of computer system into one or more virtual machines(VMs).
 Allows several operating systems to run concurrently on a single
hardware platform.
 It is an execution environment that runs an OS
 VM – an isolated environment that appears to be a whole computer,
but actually only has access to a portion of the computer resources

Software Defined System 8


Virtual Machine Monitor (VMM / Hypervisor)
 A VMM allows:
 Multiple services to share the same platform
 Live
migration - the movement of a server from
one platform to another
 System modification while maintaining
backward compatibility with the original system
 Enforces isolation among the systems, thus
security
Aguest operating system is an OS that runs in a
VM under the control of the VMM.

Software Defined System 9


How VMM Virtualizes the CPU and the Memory ?
 Traps the privileged instructions executed by a guest OS and enforces the
correctness and safety of the operation
 Traps interrupts and dispatches them to the individual guest operating
systems
 Controls the virtual memory management
 Maintains a shadow page table for each guest OS and replicates any
modification made by the guest OS in its own shadow page table.
 This shadow page table points to the actual page frame and it is used by
the Memory Management Unit (MMU) for dynamic address translation.
 Monitors the system performance and takes corrective actions to avoid
performance degradation. For example, the VMM may swap out a VM to
avoid thrashing

Software Defined System 10


Type 1 and 2 Hypervisors
Type 1 Hypervisors (Bare-Metal Hypervisors)
 Type 1 hypervisors are installed directly on the hardware, without an underlying
operating system.
 They are also known as "bare-metal" hypervisors.
 Examples of Type 1 hypervisors include VMware ESXi, Microsoft Hyper-V, and
Citrix Hypervisor (formerly XenServer).
 Type 1 hypervisors have direct access to the hardware resources, which allows for
efficient resource management and high performance.
 They are commonly used in enterprise-level virtualization environments, such as
data centers, where high performance and reliability are critical.
 Type 1 hypervisors are typically more complex to set up and manage compared to
Type 2 hypervisors.

Software Defined System 11


Type 1 and 2 Hypervisors
Type 2 Hypervisors (Hosted Hypervisors)
 Type 2 hypervisors are installed on top of an existing operating system, such as
Windows or Linux.
 They are also known as "hosted" hypervisors.

 Examples of Type 2 hypervisors include VMware Workstation, Oracle VirtualBox,


and Parallels Desktop.
 Type 2 hypervisors rely on the underlying operating system to provide access to
the hardware resources.
 They are generally easier to set up and use compared to Type 1 hypervisors, as
they leverage the existing operating system's functionality.
 Type 2 hypervisors are commonly used on personal computers or workstations
for testing, development, or running multiple operating systems simultaneously.
 However, they may have slightly lower performance compared to Type 1
hypervisors due to the additional layer of abstraction.
Software Defined System 12
Type 1 and 2 Hypervisors
 Type 1 hypervisor: runs directly
on hardware, no need for host
OS

 Type 2 (hosted) hypervisor: runs


as an application on top of host
OS

Software Defined System 13


VM (Virtual Machine) migration
 VM (Virtual Machine) migration refers to the process of moving a
running virtual machine from one physical host or environment to
another.
 This can be done for various reasons, such as load balancing,
maintenance, disaster recovery, or infrastructure upgrades.
 There are two main types of VM migration:
 Live Migration
 Cold Migration

Software Defined System 14


VM (Virtual Machine) migration
Live Migration
 Live migration is the process of moving a running virtual machine
from one physical host to another without interrupting the VM's
operation or user experience.
 This is achieved by seamlessly transferring the VM's memory, CPU
state, and network connections to the new host.
 Live migration allows for continuous uptime and service availability,
making it particularly useful for mission-critical applications.
 Examples of live migration technologies include VMware vMotion,
Microsoft Hyper-V Live Migration, and KVM Live Migration.

Software Defined System 15


VM (Virtual Machine) migration
Cold Migration
 Cold migration, also known as offline migration, involves shutting
down the virtual machine, transferring its disk image and
configuration files to the new host, and then restarting the VM on the
new host.
 This method is simpler and does not require specialized migration
capabilities, but it results in downtime for the VM during the
migration process.
 Cold migration is often used for non-critical VMs or during planned
maintenance windows.

Software Defined System 16


VM (Virtual Machine) migration
 The key steps involved in VM migration (both live and cold) are:
 Preparation: Ensuring the target host has sufficient resources (CPU,
memory, storage) to accommodate the migrating VM.
 VM state capture: Capturing the current state of the VM, including its
memory, CPU, and network configurations.
 Data transfer: Transferring the VM's disk image, configuration files,
and captured state to the target host.
 VM restoration: Restoring the VM on the target host and resuming its
operation.

Software Defined System 17


What is load balancing?
 Load balancing is the process of distributing network traffic
efficiently among multiple servers to optimize application availability
and ensure a positive end-user experience.
 Load balancing directs and controls internet traffic between the
application servers and their visitors or clients. As a result, it improves
an application’s availability, scalability, security, and performance.
 Because high-traffic websites and cloud computing applications
receive millions of user requests each day, load balancing is an
essential capability for modern application delivery.

Software Defined System 18


What is load balancing?
 A web infrastructure with no load balancing might look something like the
following

 In this example, the user connects directly to the web server, at yourdomain.com.
 If this single web server goes down, the user will no longer be able to access the
website.
 In addition, if many users try to access the server simultaneously and it is unable
to handle the load, they may experience slow load times or may be unable to
connect at all.
Software Defined System 19
What is load balancing?
 This single point of failure can be
mitigated by introducing a load
balancer and at least one additional
web server on the backend.
 Typically, all of the backend servers will
supply identical content so that users
receive consistent content regardless
of which server responds.
 The user accesses the load balancer,
which forwards the user’s request to a
backend server, which then responds
directly to the user’s request.

Software Defined System 20


Benefits of virtualization
 Instant provisioning - fast scalability
 Live Migration is possible
 Load balancing and consolidation in a Data Center is possible.
 Low downtime for maintenance
 Virtual hardware supports legacy operating systems efficiently
 Security and fault isolation

Software Defined System 21


Types of virtualizations
 There are several types of virtualizations in the world of information
technology. Here are the main types:
1. Server Virtualization
 This involves running multiple virtual machines (VMs) on a single
physical server.
 Each VM runs its own operating system and applications, isolated
from the others.
 Examples: VMware ESXi, Microsoft Hyper-V, Citrix Hypervisor.

Software Defined System 22


Types of virtualizations
2. Desktop Virtualization
 Also known as Virtual Desktop Infrastructure (VDI).
 It involves hosting desktop environments on a centralized server, and users
access their virtual desktops remotely.
 Allows for centralized management and data security.
 Examples: Citrix Virtual Apps and Desktops, VMware Horizon.
3. Storage Virtualization
 This combines multiple physical storage devices into a single logical storage
pool.
 Provides abstraction from the underlying physical storage.
 Enables features like automated tiering, backup, and disaster recovery.
 Examples: NetApp ONTAP, VMware vSAN, Red Hat Ceph Storage.
Software Defined System 23
Types of virtualizations
4. Network Virtualization
 Involves the creation of virtual networks on top of the physical
network infrastructure.
 Allows for programmatic control and configuration of network
resources.
 Enables features like software-defined networking (SDN) and network
function virtualization (NFV).
 Examples: VMware NSX, Microsoft Azure Virtual Network, Cisco ACI.

Software Defined System 24


Types of virtualizations
5. Application Virtualization
 This isolates applications from the underlying operating system.
 Allows applications to run without being installed directly on the
client device.
 Simplifies application management and deployment.
 Examples: Microsoft App-V, Citrix App Layering, VMware ThinApp.

Software Defined System 25


Types of virtualizations
6. Hardware Virtualization
 Also known as server virtualization or platform virtualization.
 Allows multiple virtual machines to run on a single physical server.
 Provides the ability to create and manage virtual machines.
 Examples: VMware ESXi, Microsoft Hyper-V, Citrix Hypervisor.

Software Defined System 26


Security of Virtualization
 Isolation: Virtualization allows VMs to be isolated from each other
and the host operating system, reducing the attack surface.
 Containment: Even if a VM is compromised, the damage can be
contained and prevented from spreading to other VMs or the host.
 Snapshot/Rollback: The ability to quickly snapshot and roll back VMs
can help recover from security incidents.
 Patching: Virtualization makes it easier to rapidly patch and update
VMs compared to physical machines.

Software Defined System 27


Virtual Machine Management
 Image Management: Carefully managing VM images, templates, and
snapshots is crucial to prevent security issues from being propagated.
 Access Control: Implementing robust access controls and privilege
management for VM administration is essential.
 Monitoring and Logging: Comprehensive monitoring and logging of VM
activity is needed to detect and respond to security incidents.
 Network Security: Securing the virtual network, including firewalls, access
controls, and encryption, is critical.
 Backup and Disaster Recovery: Regular backups and disaster recovery
plans are necessary to ensure business continuity in the event of a security
breach or other incident.
 Compliance: Virtualized environments must be configured to meet relevant
compliance requirements, such as data protection regulations.

Software Defined System 28


Challenges of virtualization
Security Risks
 Increased attack surface as VMs can be entry points for malware and cyber
attacks.
 Risk of VM-to-VM attacks if not properly isolated.

 Potential for privilege escalation if VM administration controls are not robust.

 Securing the virtual network and managing virtual firewalls.

Performance Overhead
 Performance degradation due to the additional abstraction layer and resource
sharing.
 Ensuring adequate resources (CPU, memory, storage) for VMs to maintain
acceptable performance.
 Managing resource contention and oversubscription.

Software Defined System 29


Challenges of virtualization
Complexity
 Increased operational complexity in managing virtual infrastructure, such
as VM provisioning, migration, and decommissioning.
 Challenges in monitoring and troubleshooting virtualized environments.
 Difficulty in maintaining consistent configurations across multiple VMs.
High Availability and Disaster Recovery
 Ensuring high availability and reliable failover mechanisms for critical VMs.
 Implementing effective backup and disaster recovery strategies for
virtualized environments.

Software Defined System 30


Challenges of virtualization
Vendor Lock-in
 Potential vendor lock-in due to the use of proprietary virtualization
platforms and tools.
 Challenges in migrating VMs across different virtualization platforms.
Licensing and Compliance
 Ensuring compliance with software licensing requirements in a virtualized
environment.
 Managing software licensing for VMs, especially when using different
operating systems or applications.
Data Protection and Privacy
 Securing and protecting sensitive data stored or processed within VMs.
 Ensuring data isolation and preventing data leakage between VMs.

Software Defined System 31


What is Software-Defined Everything (SDx)?
 Software-Defined Everything (SDx) is a broad term that refers to the concept
of using software to control, manage, and configure various IT infrastructure
components and services.
 The "x" in SDx represents different types of infrastructure, such as storage,
networking, data centers, and more.
 SDx is a fundamental part of the broader movement towards cloud
computing, DevOps, and the adoption of modern, software-centric
approaches to IT infrastructure management.
 The key aspects of Software-Defined Everything (SDx) include Software-
Defined Storage (SDS), Software-Defined Networking (SDN), Software-Defined
Data Center (SDDC), Software-Defined Infrastructure (SDI), Software-defined
security.
Software Defined System 32
THANK YOU
?
"Virtualization is the superpower
that unleashes the true potential
of IT. "

Software Defined System 33

You might also like