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

0% found this document useful (0 votes)
61 views95 pages

Unit - Ii

The document covers cloud enabling technologies, focusing on Service-Oriented Architecture (SOA), REST architecture, and the Publish-Subscribe model. It explains the characteristics, components, advantages, and disadvantages of SOA, along with the principles of REST and its application in web services. Additionally, it discusses the Pub-Sub model's key concepts, advantages, disadvantages, and use cases in distributed systems.

Uploaded by

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

Unit - Ii

The document covers cloud enabling technologies, focusing on Service-Oriented Architecture (SOA), REST architecture, and the Publish-Subscribe model. It explains the characteristics, components, advantages, and disadvantages of SOA, along with the principles of REST and its application in web services. Additionally, it discusses the Pub-Sub model's key concepts, advantages, disadvantages, and use cases in distributed systems.

Uploaded by

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

UNIT – II CLOUD ENABLING

TECHNOLOGIES
SERVICE ORIENTED ARCHITECTURE – REST AND SYSTEMS
OF SYSTEMS – WEB SERVICES – PUBLISH SUBSCRIBE
MODEL – BASICS OF VIRTUALIZATION – TYPES OF
VIRTUALIZATION – IMPLEMENTATION LEVELS OF
VIRTUALIZATION – VIRTUALIZATION – VIRTUALIZATION
STRUTURES – TOOLS AND MECHNISMS – VIRTUALIZATION
OF CPU – MEMORY –NETWORK – I/O DEVICES – APPLICATION
– VIRTUALIZATION SUPPORT-DISASTER RECOVERY
SERVICE ORIENTED ARCHITECTURE
• A Service-Oriented Architecture or SOA is a design
pattern which is designed to build distributed systems
that deliver services to other applications through the
protocol. It is only a concept and not limited to any
programming language or platform.
• What is Service?
– A service is a well-defined, self-contained function that
represents a unit of functionality. A service can exchange
information from another service. It is not dependent on the
state of another service. It uses a loosely coupled, message-
based communication model to communicate with
applications and other services.
Service Connections
• The figure given below illustrates the service-oriented
architecture. Service consumer sends a service request to the
service provider, and the service provider sends the service
response to the service consumer. The service connection is
understandable to both the service consumer and service
provider.
Service-Oriented Terminologies
Service-Oriented Terminologies
• Services - The services are the logical entities defined by one or
more published interfaces.
• Service provider - It is a software entity that implements a
service specification.
• Service consumer - It can be called as a requestor or client that
calls a service provider. A service consumer can be another
service or an end-user application.
• Service locator - It is a service provider that acts as a registry.
It is responsible for examining service provider interfaces and
service locations.
• Service broker - It is a service provider that pass service
requests to one or more additional service providers.
SOA Architecture and Protocols
Characteristics of SOA

• The services have the following characteristics:


– They are loosely coupled.
– They support interoperability.
– They are location-transparent
– They are self-contained.
Components of service-oriented
architecture
• The service-oriented architecture stack can be categorized into
two parts - functional aspects and quality of service aspects.
Functional aspects
The functional aspect contains:
• Transport - It transports the service requests from the service consumer to
the service provider and service responses from the service provider to the
service consumer.
• Service Communication Protocol - It allows the service provider and the
service consumer to communicate with each other.
• Service Description - It describes the service and data required to invoke it.
• Service - It is an actual service.
• Business Process - It represents the group of services called in a particular
sequence associated with the particular rules to meet the business
requirements.
• Service Registry - It contains the description of data which is used by
service providers to publish their services.
Quality of Service aspects
The quality of service aspects contains:
• Policy - It represents the set of protocols according to
which a service provider make and provide the services to
consumers.
• Security - It represents the set of protocols required for
identification and authorization.
• Transaction - It provides the surety of consistent result.
This means, if we use the group of services to complete a
business function, either all must complete or none of the
complete.
• Management - It defines the set of attributes used to
manage the services.
Elements of SOA
Advantages of SOA
• Easy to integrate - In a service-oriented architecture, the integration is a
service specification that provides implementation transparency.
• Manage Complexity - Due to service specification, the complexities get
isolated, and integration becomes more manageable.
• Platform Independence - The services are platform-independent as they
can communicate with other applications through a common language.
• Loose coupling - It facilitates to implement services without impacting
other applications or services.
• Parallel Development - As SOA follows layer-based architecture, it
provides parallel development.
• Available - The SOA services are easily available to any requester.
• Reliable - As services are small in size, it is easier to test and debug them.
Disadvantages of SOA
• High overhead: A validation of input parameters of services
is done whenever services interact this decreases performance
as it increases load and response time.
• High investment: A huge initial investment is required for
SOA.
• Complex service management: When services interact they
exchange messages to tasks. the number of messages may go
in millions. It becomes a cumbersome task to handle a large
number of messages.
Practical applications of SOA
• SOA infrastructure is used by many armies and air forces to
deploy situational awareness systems.
• SOA is used to improve healthcare delivery.
• Nowadays many apps are games and they use inbuilt functions
to run. For example, an app might need GPS so it uses the
inbuilt GPS functions of the device. This is SOA in mobile
solutions.
• SOA helps maintain museums a virtualized storage pool for
their information and content.
REST Architecture

• REST stands for Representational State Transfer.

• REST is a software architectural style that defines the set of rules to be


used for creating web services. Web services that follow the REST
architectural style are known as RESTful web services.
• It allows requesting systems to access and manipulate web resources by
using a uniform and predefined set of rules.
• Interaction in REST-based systems happens through the Internet(HTTP).

• It differentiates between the computer system and web services. The REST
architectural style describes the six barriers.
REST Architecture
Constraints of REST Architecture
Uniform Interface
• The Uniform Interface defines the interface between client and server. It
simplifies and decomposes the architecture which enables every part to be
developed. The Uniform Interface has four guiding principles:
– Resource-based
– Manipulation of resources by representation
– Self-Descriptive Message
– As the engine of Hypermedia Application State (HATEOAS
In addition to the above description, HATEOS also means that, where
necessary, the object or itself is contained in the linked body (or header)
to supply the URI for retrieving the related objects.
• The same interface that any REST services provide is fundamental to the
design.
• Client-server
– A client-server interface separates the client from the
server.
• Stateless
– Stateless means the state of the service doesn't persist
between subsequent requests and response.
• Layered system
– It is directly connected to the end server or by any
intermediary whether a client cannot tell. Intermediate
servers improve the system scalability by
enabling load-balancing and providing a shared
cache. Layers can enforce security policies.
• Cacheable
– On the World Wide Web, customers can cache responses.
Therefore, responses clearly define themselves as
unacceptable or prevent customers from reusing stale
or inappropriate data to further requests. Well-
managed caching eliminates some client-server interactions
to improving scalability and performance.
• Code on Demand (optional)
– The server temporarily moves or optimizes the functionality
of a client by logic that it executes. Examples of compiled
components are Java applets and client-side scripts.
REST Architecture
Characteristics of Services in Systems:
1. Modularity: Services are designed as modular, independent
components that perform specific functions.
2. Interoperability: Systems use protocols like HTTP, JSON, XML,
or gRPC to communicate and share information seamlessly.
3. Scalability: Individual services can scale independently, making
the overall system more resilient and efficient under varying
loads.
4. Reusability: A service designed for one application can often be
reused in others, saving development time and effort.
5. Loose Coupling:Components are loosely connected, which
enhances flexibility, enabling updates or changes without
impacting the entire system
REST Architecture
Types of Services:
• Data Services: Provide access to management of
databases.
• Business Services: Contain business logic or rules,
managing how specific functions are executed.
• Application Services: Integrate data and business
services, exposing functionality to users or external
systems.
• Infrastructure Services: Handle operational needs
such as monitoring, logging, and security.
REST Architecture
Example:
• A travel booking system might have:
• User Service (manages user data and
authentication).
• Payment Service (handles transactions and billing).
• Inventory Service (provides real-time availability
for hotels, flights, and cars).
• Notification Service (sends emails or messages for
booking confirmations).
HTTP methods
• Following four HTTP methods are commonly used in
REST based architecture.
– GET − Provides a read only access to a resource.
– POST − Used to create a new resource.
– DELETE − Used to remove a resource.
– PUT − Used to update a existing resource or create a new
resource.
Web Services
• A web service is a set of open protocols and
standards that allow data to be exchanged
between different applications or systems.
• Web services can be used by software
programs written in a variety of programming
languages and running on a variety of platforms
to exchange data via computer networks such
as the Internet in a similar way to inter-process
communication on a single computer.
Web Services
Functions of web services
• Is available over the Internet or private (intranet)
networks
• Uses a standardized XML messaging system
• Is not tied to any one operating system or
programming language
• Is self-describing via a common XML grammar
• Is discoverable via a simple find mechanism
Components of Web Services
• The basic web services platform is XML +
HTTP. All the standard web services work
using the following components −
– SOAP (Simple Object Access Protocol)
– UDDI (Universal Description, Discovery and
Integration)
– WSDL (Web Services Description Language)
How Does a Web Service Work?
• The client will use requests to send a sequence of web service calls to the
server hosting the actual web service.
• A web service enables communication among various applications by
using open standards such as HTML, XML, WSDL, and SOAP. A web
service takes the help of −
– XML to tag the data
– SOAP to transfer a message
– WSDL to describe the availability of service.
Example
• Consider a simple account-management and order
processing system. The accounting personnel use a
client application built with Visual Basic or JSP to
create new accounts and enter new customer orders.
• The processing logic for this system is written in Java
and resides on a Solaris machine, which also interacts
with a database to store information.
Web Services - Characteristics
• XML-Based
• Loosely Coupled
• Coarse-Grained
• Ability to be Synchronous or Asynchronous
• Supports Remote Procedure Calls(RPCs)
• Supports Document Exchange
Web Services - Architecture

• There are two ways to view the web service


architecture −
– The first is to examine the individual roles of each
web service actor.
– The second is to examine the emerging web
service protocol stack.
Web Services - Architecture
Web Service Roles
• There are three major roles within the web service architecture

• Service Provider
– This is the provider of the web service. The service provider
implements the service and makes it available on the Internet.
• Service Requestor
– This is any consumer of the web service. The requestor utilizes an
existing web service by opening a network connection and sending an
XML request.
• Service Registry
– This is a logically centralized directory of services. The registry
provides a central place where developers can publish new services
or find existing ones. It therefore serves as a centralized clearing
house for companies and their services.
Web Service Protocol Stack
• Service Transport
– This layer is responsible for transporting messages between applications.
Currently, this layer includes Hyper Text Transport Protocol (HTTP), Simple
Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP), and newer
protocols such as Blocks Extensible Exchange Protocol (BEEP).
• XML Messaging
– This layer is responsible for encoding messages in a common XML format so
that messages can be understood at either end. Currently, this layer includes
XML-RPC and SOAP.
• Service Description
– This layer is responsible for describing the public interface to a specific web
service. Currently, service description is handled via the Web Service
Description Language (WSDL).
• Service Discovery
– This layer is responsible for centralizing services into a common registry and
providing easy publish/find functionality. Currently, service discovery is
handled via Universal Description, Discovery, and Integration (UDDI).
PUBLISH SUBSCRIBE MODEL
PUBLISH SUBSCRIBE MODEL
• The Publish-Subscribe (Pub-Sub) Model is a
messaging pattern where messages are
exchanged between publishers and
subscribers without direct communication
between them.
• It provides a scalable and efficient way to
decouple the sender (publisher) and receiver
(subscriber) in distributed systems.
PUBLISH SUBSCRIBE MODEL
Key Concepts of Pub-Sub:
1. Publisher:
1. Generates and sends messages (or events).
2. Has no knowledge of who or how many subscribers exist.
2. Subscriber:
1. Listens for messages (or events) that match their subscription
criteria.
2. Remains unaware of the publishers' details.
3. Message/Event Broker:
1. Acts as an intermediary to route messages from publishers to
subscribers.
2. Ensures decoupling by handling message delivery logic.
PUBLISH SUBSCRIBE MODEL
Key Concepts of Pub-Sub:
4.Topic/Channel:
• Messages are categorized into "topics" or "channels."
• Subscribers express interest in specific topics, and they
only receive messages associated with those topics.
• How Pub-Sub Works:
1. Publishers create and send messages to a broker,
identifying the topic of the message.
2. Subscribers register interest in specific topics with the
broker.
3. The broker delivers messages to all subscribers of the
relevant topic.
PUBLISH SUBSCRIBE MODEL
Advantages of the Pub-Sub Model:
1. Decoupling: Publishers and subscribers do not need to
know about each other. This separation enhances
scalability and flexibility.
2. Scalability: The broker manages delivery, allowing
multiple subscribers and publishers to operate
concurrently.
3. Efficiency: Subscribers only receive messages they are
interested in, reducing unnecessary data processing.
4. Flexibility: Publishers can send one message to
multiple subscribers or none, depending on
subscriptions.
PUBLISH SUBSCRIBE MODEL
Disadvantages:
1. Delivery Guarantees: If not implemented carefully,
message delivery might not be guaranteed (e.g.,
lost messages in case of a system failure).
2. Broker Dependency: The system's reliability heavily
relies on the broker.
3. Latency: In systems with many subscribers, delays
may occur if the broker processes a large volume of
messages.
PUBLISH SUBSCRIBE MODEL
Use Cases:
1. Real-Time Systems:
1. Stock market updates.
2. Live sports scores or event streams.
2. IoT (Internet of Things):
1. Sensors publishing data, and subscribers (controllers,
analytics) consuming it.
3. Distributed Systems:
1. Microservices using event-driven architecture.
4. Notification Systems:
1. Push notifications to users when an event occurs (e.g., email
alerts, app updates).
PUBLISH SUBSCRIBE MODEL
Use Cases:
5.Log Aggregation:
Centralized logging systems where services publish logs, and analytics
tools consume them.
Implementation Examples:
1. Message Brokers:
1. Apache Kafka
2. RabbitMQ
3. Google Cloud Pub/Sub
4. Amazon SNS (Simple Notification Service)
2. Libraries/Frameworks:
1. Redis Pub/Sub
2. MQTT (Message Queuing Telemetry Transport) for lightweight IoT
communications
What is Virtualization?
• Virtualization refers to the act
of creating a virtual (rather
than actual) version of
something, including (but not
limited to) a virtual computer
hardware platform, operating
system (OS), storage device,
or computer network
resources where the
framework divides the
resource into one or more
execution environments.

44 of 42
Need for Virtualization
• Virtualization reduces the number of physical
servers, reducing the energy required to power and
cool them.
• Saves time.

• It's also much faster to deploy a virtual machine than


it is to deploy a new physical server.
• Reduce desktop management issues.
Types of Virtualization

47
• Hardware Virtualization
• Hardware virtualization also known as hardware-assisted virtualization or
server virtualization runs on the concept that an individual independent
segment of hardware or a physical server, may be made up of multiple
smaller hardware segments or servers, essentially consolidating multiple
physical servers into virtual servers that run on a single primary physical
server.
• Each small server can host a virtual machine, but the entire cluster of
servers is treated as a single device by any process requesting the
hardware. The hardware resource allotment is done by the hypervisor. The
main advantages include increased processing power as a result of
maximized hardware utilization and application uptime.

48
Hardware Virtualization- Subtypes:

• Full Virtualization – Guest software does not require any


modifications since the underlying hardware is fully simulated.
• Para virtualization – the hardware is not simulated and the
guest software run their own isolated domains.

49
• Software Virtualization
• Software Virtualization involves the creation of an operation
of multiple virtual environments on the host machine. It
creates a computer system complete with hardware that lets
the guest operating system to run. For example, it lets you run
Android OS on a host machine natively using a Microsoft
Windows OS, utilizing the same hardware as the host machine
does.
• Subtypes:
• Operating System Virtualization – hosting multiple OS on the
native OS
• Application Virtualization – hosting individual applications in
a virtual environment separate from the native OS
• Service Virtualization – hosting specific processes and
services related to a particular application
50
Desktop virtualization
• It is the concept of separating the logical desktop from the
physical machine.
• Virtual Desktop Infrastructure (VDI), can be thought of as a
more advanced form of hardware virtualization.
• Rather than interacting with a host computer directly via a
keyboard, mouse, and monitor, the user interacts with the host
computer using another desktop computer or a mobile device
by means of a network connection, such as a LAN, Wireless
LAN or even the Internet.
• In addition, the host computer in this scenario becomes a
server computer capable of hosting multiple virtual machines
at the same time for multiple users
Other Types of Virtualization
• Operating-system-level virtualization
• Application virtualization and workspace
virtualization
• Service virtualization
• Memory virtualization
• Virtual memory
• Storage virtualization
Other Types of Virtualization

• Distributed file system


• Virtual file system
• Storage hypervisor
• Virtual disk
• Data virtualization
• Database virtualization
• Network virtualization
• Virtual private network (VPN)
Implementation Levels 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. The idea is to separate the hardware from the
software to yield better system efficiency
Implementation Levels of Virtualization

• Virtualization can be implemented at various


operational levels, as given below:
– Instruction set architecture (ISA) level
– Hardware level
– Operating system level
– Library support level
– Application level
Implementation Levels of Virtualization -Instruction set architecture (ISA) level
Implementation Levels of Virtualization

1.Introduction to Instruction Set Architecture


(ISA)
• The Instruction Set Architecture (ISA) defines
the interface between software and hardware,
specifying the instructions that a processor
can execute. ISA implementation levels
determine how an ISA is realized in a
computing system, impacting performance,
power consumption, and flexibility.
Implementation Levels of Virtualization

2. Hardware-Level Virtualization
• Definition:
• Hardware-level virtualization abstracts physical hardware,
allowing multiple operating systems to run on a single
physical machine.
• Mechanisms:
• Full Virtualization: The hypervisor emulates hardware for
VMs (e.g., VMware ESXi, VirtualBox).
• Paravirtualization: The guest OS is modified to optimize
performance (e.g., Xen).
• Hardware-Assisted Virtualization: Uses CPU extensions
like Intel VT-x and AMD-V to improve efficiency.
Implementation Levels of Virtualization

Use Cases:
• Server consolidation
• Cloud computing environments
• Running multiple OS instances on one machine
3. Operating System-Level Virtualization
• Definition:
• Virtualization at the OS level allows multiple
isolated user-space instances (containers) to run
on a single OS kernel.
Implementation Levels of Virtualization

Mechanisms:
• Containerization: Uses lightweight containers
instead of full VMs (e.g., Docker, LXC).
• Kernel-based Virtualization: Provides isolated
user-space environments (e.g., OpenVZ).
Use Cases:
• Microservices deployment
• Cloud-native applications
• DevOps and CI/CD workflows
Implementation Levels of Virtualization
4.Library Support Virtualization Implementation Levels
a. API Emulation (Application-Level Virtualization)
• Description: Libraries emulate system calls or APIs that an
application expects from an OS.
• Example:
• Wine: Allows Windows applications to run on Linux by emulating
Windows APIs.
• CrossOver: A commercial version of Wine that enhances
compatibility.
• Use Cases:
• Running applications built for one OS on another without
modifying the OS.
Implementation Levels of Virtualization

b. Library OS (LibOS) Virtualization


• Description: A Library OS provides system-level
functionalities (e.g., file system, networking) without a
full kernel.
• Example:
• Graphene-SGX: Supports running Linux applications in Intel
SGX enclaves.
• Google gVisor: Lightweight LibOS for container security.
• Use Cases:
• Running applications in secure, isolated environments.
• Enhancing container security and compatibility.
Implementation Levels of Virtualization

c. Hypervisor-Assisted Library Support


• Description: Libraries provide direct support for
interacting with a hypervisor.
• Example:
• libvirt: A toolkit to interact with virtualization platforms like
KVM, Xen, and VMware.
• QEMU Guest Agent: Provides optimized VM management by
allowing communication between host and guest OS.
• Use Cases:
• Managing virtual machines programmatically.
• Improving performance and automation in virtualization.
Implementation Levels of Virtualization

5.Application-Level Virtualization
• Definition:
• Encapsulates applications and abstracts them
from the underlying OS, enabling portability
and isolation.
• Mechanisms:
• Application Containers: Runs applications in a
self-contained environment (e.g., Kubernetes,
Docker).
Implementation Levels of Virtualization

• Application Streaming: Applications are


delivered on-demand without full installation
(e.g., Microsoft App-V, Citrix XenApp).
Use Cases:
• Running applications without installation
• Cross-platform application deployment
• Enhancing software compatibility
Virtualization Structures/Tools and
Mechanisms
• Before virtualization, the operating system manages the
hardware. After virtualization, a virtualization layer is inserted
between the hardware and the OS. In such a case, the
virtualization layer is responsible for converting portions of
the real hardware into virtual hardware. Depending on the
position of the virtualization layer, there are several classes of
VM architectures, namely
– Hypervisor architecture
– Para virtualization
– host-based virtualization.
Virtualization Structures/Tools and
Mechanisms
1. Virtualization Structure
• Virtualization refers to the creation of virtual instances of
computing resources, including hardware platforms, operating
systems, storage devices, and network resources. The structure of
virtualization consists of several key components:
a. Host Machine
• The physical machine that provides hardware resources for
virtualization.
b. Hypervisor (Virtual Machine Monitor - VMM)
Types of Hypervisors:
Type 1 (Bare Metal): Runs directly on hardware (e.g., VMware ESXi,
Microsoft Hyper-V).
Type 2 (Hosted): Runs on top of an existing OS (e.g., Oracle VirtualBox,
VMware Workstation).
Virtualization Structures/Tools and
Mechanisms
c. Guest Machines (Virtual Machines)
• Virtualized instances that operate as
independent computers, each with its own OS
and applications.
d. Virtual Resources
• Virtualized versions of CPUs, memory, storage,
and network interfaces.
Virtualization Structures/Tools and Mechanisms

2. Virtualization Tools
a. Virtualization Platforms
• VMware: Offers solutions like vSphere, Workstation, and
Fusion.
• Microsoft Hyper-V: A Windows-based hypervisor.
• KVM (Kernel-based Virtual Machine): A Linux-based
virtualization tool.
• Xen: An open-source hypervisor used in cloud computing.
b. Containerization Tools
• Docker: Enables lightweight container-based virtualization.
• Kubernetes: Manages containerized applications across
clusters.
• LXC (Linux Containers): A lightweight alternative to full VM-
based virtualization
Virtualization Structures/Tools and
Mechanisms
c. Storage Virtualization
• SAN (Storage Area Network) and NAS (Network
Attached Storage) solutions.
• VMware vSAN: Provides virtualized storage for
VMs.
d. Network Virtualization
• SDN (Software-Defined Networking): Separates
control and data planes in networking.
• NFV (Network Functions Virtualization): Virtualizes
network functions like firewalls and load balancers.
Virtualization Structures/Tools and
Mechanisms
e. Cloud Virtualization Tools
• Amazon Web Services (AWS) EC2: Cloud-
based virtualization.
• Google Cloud Compute Engine: Provides
scalable VM instances.
• Microsoft Azure Virtual Machines: Offers
cloud-based VM services.
Virtualization Structures/Tools and
Mechanisms
3. Virtualization Mechanisms:
• Virtualization relies on various mechanisms to achieve
efficiency and performance:
a. Full Virtualization
• The hypervisor emulates full hardware functionality, allowing
unmodified OS installations (e.g., VMware, VirtualBox).
b. Paravirtualization
• The guest OS is modified to interact efficiently with the
hypervisor (e.g., Xen).
c. Hardware-Assisted Virtualization
• Uses CPU extensions like Intel VT-x and AMD-V to improve
performance.
Virtualization Structures/Tools and
Mechanisms
d. OS-Level Virtualization
• Virtualizes at the OS level without requiring a
separate guest OS (e.g., Docker, LXC).
e. Storage Virtualization Mechanisms
• Block-level and file-level storage abstraction.
f. Network Virtualization Mechanisms
• VLANs, VPNs, and software-defined
networking (SDN) techniques.
Virtualization of CPU, Memory, Network,
and I/O Devices
Virtualization of CPU, Memory, Network,
and I/O Devices
1. CPU Virtualization
• CPU virtualization allows multiple virtual machines (VMs) to
share a single physical processor while maintaining isolation
and performance.
• Mechanisms of CPU Virtualization
• Full Virtualization: The hypervisor emulates the entire CPU,
allowing unmodified OS installations (e.g., VMware,
VirtualBox).
• Paravirtualization: The guest OS is modified to communicate
with the hypervisor more efficiently (e.g., Xen).
• Hardware-Assisted Virtualization: Uses CPU extensions like
Intel VT-x and AMD-V to improve performance.
Virtualization of CPU, Memory, Network,
and I/O Devices
CPU Scheduling in Virtualization:
• Time-sharing: Each virtual CPU (vCPU) gets a time slice
on the physical CPU.
• Priority-based Scheduling: Critical VMs get more CPU
resources.
• Affinity Scheduling: Binds vCPUs to specific physical
CPU cores for better performance.
Advantages:
• Efficient CPU utilization.
• Improved workload isolation.
• Reduced hardware costs.
Virtualization of CPU, Memory, Network,
and I/O Devices
2. Memory Virtualization:
• Memory virtualization abstracts physical memory, allowing VMs
to access what appears to be a dedicated memory space.
Mechanisms of Memory Virtualization:
• Segmentation and Paging: Divides memory into manageable
sections.
• Memory Overcommitment: Allocates more virtual memory than
physically available, relying on swap space.
• Ballooning: Adjusts memory allocation dynamically based on VM
demand.
• Transparent Page Sharing (TPS): Deduplicates identical memory
pages to save space.
Virtualization of CPU, Memory, Network,
and I/O Devices
Memory Virtualization Challenges:
• Memory overhead due to context switching.
• Performance impact due to swapping.
• Potential security risks (e.g., memory leaks).
3. Network Virtualization:
• Network virtualization enables multiple virtual
networks to coexist on a shared physical
infrastructure, improving flexibility and scalability.
Types of Network Virtualization
• Virtual LANs (VLANs): Segregate network traffic
logically.
Virtualization of CPU, Memory, Network,
and I/O Devices
• Software-Defined Networking (SDN): Separates
network control from forwarding, enhancing
programmability.
• Network Function Virtualization (NFV): Virtualizes
network functions like firewalls and load balancers.
Advantages:
• Improved network scalability.
• Efficient traffic management.
• Enhanced security through isolation.
Virtualization of CPU, Memory, Network,
and I/O Devices
4. I/O Device Virtualization
• I/O virtualization abstracts physical input/output devices
like storage, USBs, and GPUs, allowing multiple VMs to
share them.
Mechanisms of I/O Virtualization
• Direct Device Assignment (Passthrough): A VM directly
accesses a physical device.
• Virtual I/O Devices: The hypervisor emulates devices for
VMs (e.g., VirtIO for disk and network I/O).
• I/O Multiplexing: Multiple VMs share a single physical
device through scheduling.
Virtualization of CPU, Memory, Network,
and I/O Devices
I/O Device Virtualization Challenges:
• Latency in shared I/O devices.
• Performance overhead from device emulation.
• Security risks in shared environments.
Application, Virtualization Support
Application, Virtualization Support
1. Introduction to Application Virtualization
• Application virtualization is a technology that
allows applications to run in an isolated
environment, separate from the underlying
OS, without requiring full system
virtualization. This helps in compatibility,
security, and manageability.
Application, Virtualization Support
2. Types of Application Virtualization
a. Application Isolation (Encapsulation):
• Definition: The application runs in a virtual
environment without modifying the host OS.
• Example Technologies:
• Microsoft App-V: Virtualizes Windows applications.
• Citrix XenApp: Delivers virtual apps to users on any device.
• Use Cases:
• Running multiple versions of the same application.
• Preventing conflicts between applications.
Application, Virtualization Support
b. Application Streaming:
• Definition: Applications are stored on a central server
and streamed to users on demand.
• Example Technologies:
• VMware ThinApp: Streams applications without requiring
installation.
• Microsoft RemoteApp: Runs Windows applications remotely
while displaying them locally.
• Use Cases:
• Reducing storage space on local devices.
• Enabling access to apps from multiple devices.
Application, Virtualization Support
c. Container-Based Application Virtualization:
• Definition: Applications run in lightweight, OS-
level virtualization (containers).
• Example Technologies:
• Docker: Enables application portability and isolation.
• Kubernetes: Manages and orchestrates containers.
• Use Cases:
• Cloud-native applications.
• Microservices-based architectures.
Application, Virtualization Support
d. Cloud-Based Application Virtualization:
• Definition: Applications run in the cloud and are
accessed remotely.
• Example Technologies:
• Amazon AppStream 2.0: Streams desktop applications
from AWS.
• Google Stadia (for gaming applications).
• Use Cases:
• Enabling software-as-a-service (SaaS).
• Accessing high-performance applications remotely.
Application, Virtualization Support
3. Advantages of Application Virtualization:
• ✅ Eliminates Compatibility Issues – Runs apps
on different OS versions.
✅ Enhances Security – Isolates applications
from the OS.
✅ Reduces Deployment Costs – No need to
install apps on every device.
✅ Improves Scalability – Easily scales
applications for enterprise use.
Disaster Recovery
Disaster Recovery
1. Introduction to Disaster Recovery (DR)
• Disaster Recovery (DR) refers to strategies and
processes used to restore IT infrastructure and
data after a disruptive event, such as
hardware failures, cyberattacks, or natural
disasters. In virtualized environments, DR
becomes more efficient due to the flexibility
of virtual machines (VMs) and cloud-based
replication.
Disaster Recovery
2. Key Components of Disaster Recovery in Virtualization
a. Backup and Replication
• Snapshot-based Backup: Saves the state of VMs
periodically.
• Continuous Data Replication: Ensures real-time copying
of VM data to another site.
• Incremental Backups: Only backs up changed data to
optimize storage.
b. Failover and Failback
• Failover: Switches operations to a secondary site or
cloud in case of failure.
• Failback: Restores systems to the primary site after
recovery.
Disaster Recovery
c. Disaster Recovery Sites:
• Hot Site: Fully operational backup site, ready for immediate
use.
• Warm Site: Partially equipped site requiring minor setup
before activation.
• Cold Site: Bare-minimum setup that needs full configuration
before use.
d. Automation and Orchestration
• DR Orchestration Tools: Automate failover and recovery
processes (e.g., VMware Site Recovery Manager, Veeam
Backup & Replication).
• Cloud-based DR: Uses cloud providers like AWS, Azure, or
Google Cloud for flexible recovery solutions.
Disaster Recovery
3. Disaster Recovery Strategies in Virtualized Environments
a. On-Premises DR
• Uses local infrastructure for backups and redundancy.
• Requires dedicated hardware and maintenance.
b. Cloud-based DR (Disaster Recovery as a Service - DRaaS)
• Uses cloud platforms to store VM snapshots and
configurations.
• Cost-effective and scalable (e.g., AWS Disaster Recovery,
Azure Site Recovery).
Disaster Recovery
c. Hybrid DR
• Combines on-premises and cloud-based recovery
solutions.
• Balances performance and cost.
4. Challenges in Virtualized Disaster Recovery
• Data Integrity Risks: Replicated data might become
inconsistent if not properly synchronized.
• Latency and Bandwidth Limitations: Large-scale VM
backups require high-speed networks.
• Security Risks: Remote DR sites must be protected
from unauthorized access.
• Cost Management: Cloud-based DR solutions can

You might also like