0% found this document useful (0 votes)
2 views60 pages

Module 2

The document provides an overview of Service-Oriented Architecture (SOA), REST, web services, and virtualization, detailing their principles, characteristics, and real-world applications. It discusses the modular nature of SOA, the advantages of REST over SOAP, and the concept of Systems of Systems architecture. Additionally, it covers various types of virtualization, including server, storage, and network virtualization, along with their benefits and challenges.

Uploaded by

Vinay Adari
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)
2 views60 pages

Module 2

The document provides an overview of Service-Oriented Architecture (SOA), REST, web services, and virtualization, detailing their principles, characteristics, and real-world applications. It discusses the modular nature of SOA, the advantages of REST over SOAP, and the concept of Systems of Systems architecture. Additionally, it covers various types of virtualization, including server, storage, and network virtualization, along with their benefits and challenges.

Uploaded by

Vinay Adari
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

Overview: SOA,

REST, Web
Services,
Virtualization
Foundations, patterns, and platforms for
modern distributed systems

Dr. Srividhya G

1
Agenda
• Service-Oriented Architecture and REST
• Systems of Systems, Web Services, and Publish-Subscribe
Model
• Basics and Types of Virtualization
• Virtualization Implementation Levels and Structures
• Virtualization of CPU, Memory, and I/O Devices
• Virtualization Support, Disaster Recovery, and Server
Virtualization

2
Service-Oriented
Architecture and REST
3
Fundamentals of Service-
Oriented Architecture (SOA)
Service-Oriented Architecture (SOA) is a
software architectural style that structures
large systems as a collection of discrete,
independent services that communicate over a
network using standard interfaces. Each service
represents a specific business function and can
be reused across different applications.

Real-Time Examples of SOA


1. Banking System

When a customer transfers money:

i) Authentication Service verifies login


ii) Account Service checks balance
iii) Transaction Service performs transfer
iv) Notification Service sends SMS/email

Each service works independently but


communicates through standard protocols.
4
Fundamentals of Service-
Oriented Architecture
2. E-Commerce Website

On Amazon:

•You search product → Catalog Service


•Add to cart → Cart Service
•Make payment → Payment Gateway Service
•Track order → Shipping Service
Each module is independent and reusable.

3. Airline Reservation System

Airlines use SOA to integrate multiple services:

Flight Search Service


Seat Availability Service
Payment Service
Ticket Booking Service
Notification Service
5
Fundamentals of Service-
Oriented Architecture (SOA)
Core Principles of SOA
The fundamentals of SOA revolve around
several design principles that make systems
modular, flexible, and scalable:

Loose Coupling
Services have minimal dependencies on
each other — changes in one service don’t
require changes in others.
Standardized Service Contracts
Every service is defined by a clear contract
that specifies how it can be used (e.g.,
inputs, outputs, protocols).
Service Reusability
Services are designed to be reused across
multiple contexts and applications, reducing
duplication of effort.
.

6
Fundamentals of Service-
Oriented Architecture (SOA)
Service Autonomy
Each service controls its own logic and can
operate independently.

Service Abstraction
The internal implementation is hidden;
consumers interact only through the
service’s interface.

Service Discoverability
Services are registered in a service
directory so developers and systems can
find and reuse them.

Service Composability
Services can be combined (orchestrated)
into larger business processes or workflows

7
Service-Oriented Architecture (SOA) – REST
REST stands for Representational State Transfer.

REST is an architectural style used to build web services that communicate over HTTP using
standard methods like:

•GET – retrieve data


•POST – create data
•PUT – update data
•DELETE – remove data

RESTful services are widely used in modern SOA and cloud applications.

In SOA, services communicate using standard protocols.


One common way to implement SOA today is through RESTful Web Services.

Earlier SOA systems mainly used SOAP, but modern SOA often uses REST because it is:
Lightweight
Faster
Easy to implement
Scalable for cloud systems
8
Service-Oriented Architecture (SOA) – REST
Key Characteristics of REST
1. Stateless

Each request from client to server contains all required information.


Server does not store client session.

2. Resource-Based • Banking Example

Everything is treated as a resource (data object). Mobile banking app uses REST APIs:
Example:
/students • Check balance → GET /account/balance
/orders • Transfer money → POST /transfer
/accounts/123 • View transactions → GET /transactions
• Each feature is a separate service.
3. Uses HTTP Protocol
REST works over HTTP, making it suitable for web and cloud.
Supports Multiple Formats
Data can be in:
•JSON (most common)
•XML
•HTML
9
REST vs SOAP in SOA

Feature REST SOAP

Type Architectural style Protocol

Format JSON / XML Only XML

Speed Faster Slower

Complexity Simple Complex

Best For Web & Cloud apps Enterprise secure apps

10
REST vs SOAP in SOA
In Service-Oriented Architecture
using REST, the client sends HTTP Client |
requests to the REST API layer. The | (Web / Mobile App)
API routes the request to
appropriate independent services
such as User Service, Order
Service, or Payment Service. Each REST API Layer |
service processes the request and | (Service Interface)
interacts with its own database.

User Service Order Service Payment Serv Auth Service|


(User Data) (Orders) (Transactions) (login)

Database Database Database Database

11
Systems of Systems, Web
Services, and Publish-
Subscribe Model
12
Understanding Systems
of Systems Architecture
A System of Systems (SoS)
Architecture refers to an architectural
approach where multiple
independent systems interact and
cooperate to achieve a larger and
more complex objective.

Each individual system operates


independently but contributes to a
collective capability when integrated
with other systems.

In modern large-scale computing


environments such as cloud
platforms, transportation networks,
and defense systems, a System of
Systems architecture is commonly
used to manage complexity and
scalability.
13
Understanding Systems
of Systems Architecture

A set of independent and operational


systems that are integrated and
coordinated to achieve a mission or
capability that cannot be achieved by any
individual system alone.

14
Understanding Systems
of Systems Architecture
Key Characteristics of SoS Architecture

[Link] Independence
Each system can operate independently even
if it is disconnected from the overall system.
[Link] Independence
Each system is developed, managed, and
maintained by different organizations or
teams.
[Link] Distribution
The individual systems are usually distributed
across different locations and communicate
through networks.
[Link] Behavior
When systems interact, new capabilities
emerge that were not present in the
individual systems.
[Link] Development
Systems can evolve independently and be
upgraded without affecting the entire
architecture. 15
Understanding Systems
of Systems Architecture
Types of Systems of Systems

[Link] SoS
A central authority manages the overall
system operations.
[Link] SoS
There is a recognized central authority, but
individual systems retain independence.
[Link] SoS
Systems voluntarily cooperate to achieve
common goals. There is no single central
authority controlling all systems, but they
cooperate because it benefits all
participants.
[Link] SoS
No central authority exists, and systems
interact dynamically.

16
Systems of Systems
Applications of SoS Architecture

•Smart Cities – Integration of traffic


systems, energy grids, and communication
networks.
•Air Traffic Management – Coordination
of radar, airline systems, and weather
systems.
•Cloud Computing Platforms –
Integration of storage, computing,
networking, and monitoring systems.
•Defense Systems – Coordination of
surveillance, communication, and
command systems.
A disaster management network can be
a collaborative SoS:Police systems,
Hospital information systems,Fire
department systems.

Each organization has its own system, but


they share information and coordinate
actions 17
Understanding Systems
of Systems Architecture

Advantages

•Handles large and complex systems


•Enables scalability and flexibility
•Allows independent system evolution
•Improves resource sharing
•Supports interoperability between
systems

18
Web Services
Key Characteristics of Web Services

• Interoperability
• A Web Service is a software system
Applications written in different programming languages
designed to support communication
can communicate.
and data exchange between
• Platform Independent
different applications over the Works across different operating systems and hardware
Internet using standard web platforms.
protocols. • Standard Protocols
Uses standard internet protocols like HTTP, XML, SOAP,
• Web services allow different REST.
applications running on different • Loose Coupling
platforms and languages to interact The service provider and service consumer are
with each other. independent.
• Reusable Services
Services can be reused by many applications.

19
Web Services

Components
• Service Provider Working of Web Services
The system that hosts and provides
the web service. [Link] service provider publishes the
service.
• Service Consumer (Client) [Link] service consumer discovers the
service from the registry.
The application that requests and
[Link] consumer binds and sends a request
uses the service. to the provider.
[Link] provider processes the request and
• Service Registry sends a response.
A directory where services are
published and discovered.

21
Types of Web Services

2. REST Web Services


1. SOAP Web Services
• SOAP stands for Simple Object Access REST stands for Representational State Transfer.
Protocol.
Features:
Features:
• Uses XML messages •Uses HTTP methods (GET, POST, PUT, DELETE)
•Lightweight and faster
• Strict protocol
•Widely used in cloud applications
• High security and reliability
Example: Example:
• Banking transactions
•Google Maps API
• Enterprise applications
•Social media APIs

22
Web Services

• Real-Time Example Advantages


Online Payment System
• Easy integration of applications
• When you pay through an app:
• Platform and language independent
• The shopping website sends a request.
• Reusable services
• The payment gateway web service processes
the payment. • Supports distributed computing
• The result is sent back to the website.

• This interaction happens through web


services.

23
Publish–Subscribe Model
Key Components

• Publisher
• The Publish–Subscribe (Pub/Sub) model is • The system that creates and sends messages.
• It publishes messages to a topic or channel.
a messaging communication pattern in
which publishers send messages to a topic • Subscriber
without knowing who will receive them, • The system that receives messages.
and subscribers receive messages from • It subscribes to specific topics.
topics they are interested in.
• Message Broker / Event Bus
• Middleware that manages message
• The communication is indirect and loosely distribution.
coupled through a message broker or event • Delivers messages from publishers to
bus. subscribers.

• Topic
• A category or channel where messages are
published.

24
Publish–Subscribe Model

Working of Publish–Subscribe Model

• The publisher sends a message to a specific topic.


• The message broker receives the message.
• The broker identifies subscribers interested in that topic.
• The message is delivered to all subscribed systems.

The publisher does not know the subscribers, and subscribers do not
know the publisher.

26
Publish–Subscribe Model

Real-Time Examples
Advantages
1. YouTube Notifications
•Channel uploads a video → Publisher • Systems remain independent.
•YouTube system → Broker
•Subscribers to the channel → Subscribers • Supports large-scale distributed systems.

2. Stock Market Updates • Easy addition of new subscribers.


•Stock exchange publishes price changes.
•Investors' apps receive updates. • Efficient event distribution.

27
Basics and Types of
Virtualization

28
Virtualization: Core
Concepts
29
Basics of Virtualization
Virtualization is the technology that Basic Idea
creates a virtual version of computing
resources such as servers, storage, Traditionally, one physical server
operating systems, or networks, allowing runs one operating system.
multiple virtual machines (VMs) to run
on a single physical machine. With virtualization, one physical
server can run multiple virtual
It helps in efficient utilization of machines, each with its own
hardware resources and is a key operating system and applications.
foundation of cloud computing.

30
31
Virtualization
Key Components Types of Virtualization

• 1. Host Machine 1. Server Virtualization


The physical computer that provides hardware • One physical server is divided into multiple virtual
resources such as CPU, memory, and storage. servers.

• 2. Virtual Machines (VMs) 2. Storage Virtualization


Independent virtual computers running their • Combines multiple storage devices into a single
own operating systems. virtual storage pool.

• 3. Hypervisor (Virtual Machine Monitor) 3. Network Virtualization


Software layer that manages virtual machines • Creates virtual networks independent of physical
and allocates hardware resources. network hardware.

Examples: 4. Desktop Virtualization


VMware • User desktops run on a central server instead of local
Hyper-V computers, and users access them remotely.
KVM

32
1. Server Virtualization
A single physical server is divided into multiple virtual servers, each running its own operating system and applications.
Real-world example:
A company uses VMware vSphere to run several virtual machines (web server, database server, and mail server) on one physical
server in a data center.

2. Storage Virtualization
Multiple physical storage devices are combined into a single logical storage pool.
Real-world example:
Cloud storage services like Amazon S3 combine many storage devices in data centers to appear as one large storage system for
users.

3. Network Virtualization
Creates virtual networks that operate independently of the physical network hardware.
Real-world example:
Cloud providers such as Amazon Web Services use Amazon Virtual Private Cloud to create isolated virtual networks for
different customers.

4. Desktop Virtualization
User desktops run on a central server instead of local computers, and users access them remotely.
Real-world example:
Many companies use Citrix Virtual Apps and Desktops to allow employees to access their office desktop from home using
laptops or tablets.

33
Virtualization

Advantages Real-World Example

• A cloud provider runs many virtual


• Better hardware utilization
machines on a single physical
• Reduced IT costs server:
• Scalability • VM1 → Web server
• Easy backup and recovery • VM2 → Database server
• VM3 → Application server
• Supports cloud computing
• All run independently on the
infrastructure
same hardware.

35
Benefits and Challenges of Virtualization

Benefits – Resource Optimization Benefits – Faster Deployment


Virtualization enables efficient use of New virtual machines can be
hardware resources, reducing waste provisioned quickly, accelerating
project timelines and IT
and maximizing server utilization.
responsiveness.

Challenges – Security & Management


Challenges – Performance Overhead
Complexity and potential
Virtualization introduces an additional
vulnerabilities require robust
software layer, which can impact
monitoring, security frameworks, and
system performance if not managed
careful licensing management.
properly.

36
Virtualization
Implementation Levels
and Structures
37
Implementation Levels of Virtualization
1. Instruction Set Architecture (ISA) Level Virtualization
• Virtualization can be
At this level, virtualization is implemented by emulating the
implemented at different processor’s instruction set so that software written for one
layers of a computing system. hardware architecture can run on another.

Each level provides


Example:
virtualization for different • Running ARM applications on an x86 computer using QEMU.
resources such as hardware, QEMU (Quick Emulator) is open-source virtualization and
emulation software that allows users to run operating systems
operating systems, libraries, or and programs for one machine architecture on another.
applications.
Advantage:
• Allows software compatibility across different hardware
platforms.

38
Implementation Levels of Virtualization
2. Hardware Level Virtualization 3. Operating System Level Virtualization

This is the most common virtualization At this level, a single operating system kernel
technique, where a hypervisor (Virtual Machine supports multiple isolated user environments
Monitor) runs directly on hardware and creates called containers.
multiple virtual machines. Example:
Example: • Docker containers running multiple applications
• Using VMware ESXi to run multiple operating on the same OS.
systems on a single server. Advantage:
Advantage: • Lightweight virtualization with low overhead.
• Efficient resource utilization and strong isolation
between VMs.

39
Implementation Levels of Virtualization
4. Library Support Level Virtualization 5. Application Level Virtualization

In this level, special libraries or APIs intercept At this level, virtualization is implemented within the
system calls and provide virtualized functionality. application environment itself, where applications
run inside a virtual runtime environment.
Example: Example:
• Compatibility libraries that allow applications • Applications running on Java Virtual Machine.
designed for one OS to run on another. Advantage:
Advantage: • Platform independence for applications.
• Helps run legacy applications without
modifying them.

40
Implementation Levels of Virtualization
Level Description Example

ISA Level Emulates processor instructions QEMU

Hypervisor creates virtual


Hardware Level VMware ESXi
machines

OS Level Multiple containers on one OS Docker

Virtualization through API


Library Level Compatibility libraries
libraries

Application runs in virtual


Application Level JVM
runtime

41
Virtualization Structures – Tools and Mechanisms

43
Virtualization Structures – Tools and Mechanisms
1. Hypervisor (Virtual Machine Monitor – VMM)

A hypervisor is the main tool used for virtualization. It creates and


manages virtual machines and allocates hardware resources such
as CPU, memory, and storage.

Virtualization structures describe Types of Hypervisors


the software tools and
mechanisms used to create and Type 1 Hypervisor (Bare-Metal)
manage virtual machines (VMs).
These structures allow multiple •Runs directly on physical hardware.
operating systems and •Provides better performance and security.
applications to run on the same
physical hardware efficiently. Example:
•VMware ESXi, Microsoft Hyper-V

Type 2 Hypervisor (Hosted)

•Runs on top of an existing operating system.


Example:
•Oracle VM VirtualBox
44
2. Full Virtualization 4. Hardware-Assisted Virtualization
Modern processors provide built-in virtualization
In full virtualization, the entire hardware environment support to improve performance and security.
is simulated, allowing unmodified operating systems to Examples:
run inside virtual machines. •Intel VT-x
Example: •AMD-V
•VMware Workstation Advantage:
Advantage: •Faster execution of virtual machines.
•No modification required for guest operating systems.

3. Para-Virtualization 5. Operating System-Level Virtualization


In para-virtualization, the guest operating system is Instead of creating full VMs, multiple isolated
modified to communicate efficiently with the hypervisor. environments (containers) share the same OS kernel.
Example: Example:
•Xen •Docker
Advantage: Advantage:
•Better performance because the OS is aware of •Lightweight and efficient virtualization.
virtualization.

45
Virtualization Structures

Type 1 Hypervisors (Bare-Metal)

Run directly on hardware for high efficiency and isolation.

Type 2 Hypervisors (Hosted)

Run atop an OS; simpler setup with added overhead.

Containers

OS-level isolation, fast startup, and low resource use.

Unikernels

Apps bundled with minimal OS for optimized cloud deploys.

46
Virtualization of CPU,
Memory, and I/O Devices
47
Virtualization of CPU, Memory, and I/O Devices
1. CPU Virtualization
Virtualization is a technique that allows multiple CPU virtualization is the technique of allowing multiple virtual
virtual machines (VMs) to share the same machines to share a single physical processor. Each virtual machine is
physical hardware resources. The hypervisor or given one or more virtual CPUs (vCPUs).
Virtual Machine Monitor (VMM) manages and
allocates system resources such as CPU, memory, Working Mechanism
and I/O devices among different virtual • The hypervisor schedules CPU time among different virtual machines.
• Each VM executes instructions using its virtual CPU.
machines. This improves resource utilization,
• The hypervisor performs context switching between VMs.
scalability, and system efficiency in cloud
• Privileged instructions are intercepted and managed by the
computing environments. hypervisor

Example Techniques Used


• Time Sharing
A physical server with 8 CPU cores can run 10 virtual • CPU time is divided among VMs.
machines, where each VM is assigned 1 or 2 virtual • Each VM gets a time slice.
CPUs.
• Hardware-Assisted Virtualization
• Modern processors support virtualization through technologies such
Advantages
•Efficient CPU utilization as
•Multiple operating systems can run simultaneously • Intel VT-x
•Better performance in cloud environments • AMD-V

48
2. Memory Virtualization

Definition
• Memory virtualization allows multiple virtual machines to share the physical memory of a system while maintaining
isolation between them.

Working Mechanism
• Each VM is given a virtual memory space.
• The hypervisor translates virtual addresses into physical addresses.
• Memory management techniques such as paging and segmentation are used.
Techniques Used
• Shadow Page Tables
• The hypervisor maintains mapping between guest virtual memory and host physical memory.
• Ballooning
• Allows the hypervisor to reclaim unused memory from VMs.
• Memory Overcommitment
• The system allocates more virtual memory than the actual physical memory.
Example
• If a server has 32 GB RAM, the hypervisor may allocate 8 GB RAM to each VM while managing memory dynamically.
Advantages
• Efficient memory utilization
• Isolation between virtual machines
• Flexible memory allocation

49
3. I/O Device Virtualization

Definition
I/O virtualization allows multiple virtual machines to share input/output devices such as network cards,
storage disks, keyboards, and printers.
Working Mechanism
•The hypervisor provides virtual I/O devices to each VM.
•Physical I/O devices are managed by the hypervisor.
•Requests from VMs are translated into physical device operations.
Techniques Used
[Link] Emulation
1. The hypervisor emulates standard hardware devices.
[Link] Drivers
1. Special drivers allow direct communication with the hypervisor, improving performance.
[Link] Device Assignment
1. A VM directly accesses a physical device.
Example
Multiple virtual machines may share the same network interface card (NIC) or storage device in a cloud
data center.
Advantages
•Efficient device sharing
•Improved hardware utilization
•Reduced cost of infrastructure
50
≈95%
Hardware-assisted CPU virtualization reaches near-native speed,
boosting performance for cloud and multi-tenant workloads

52
Memory Virtualization Approaches

Paging Segmentation
Divides memory into fixed-size pages, allowing Splits memory into variable-sized segments,
efficient allocation and isolation between virtual providing flexibility and supporting different
machines. application needs.

Ballooning Extended Page Tables (EPT)


Dynamically adjusts memory allocation by Hardware-assisted translation improves
reclaiming unused memory from VMs, efficiency, reducing latency in memory access for
optimizing utilization. virtual machines.

53
Virtualization Support,
Disaster Recovery, and
Server Virtualization
54
Virtualization Support for Disaster Recovery
Role of Virtualization in Disaster Recovery

Disaster Recovery (DR) refers to the process


• Virtualization allows entire systems to be
of restoring systems, applications, and
stored as virtual machine images, which
data after a failure or disaster such as
can be easily copied, replicated, and
hardware failure, power outage, cyber
restored on another physical server.
attack, or natural disaster.
Virtualization plays a major role in
Advantages include:
improving disaster recovery mechanisms
• Faster system recovery
by enabling fast backup, replication, and
• Reduced downtime
recovery of virtual machines.
• Lower disaster recovery cost
• Easier backup and migration

55
Key Mechanisms in Virtualization-based Disaster
Recovery
1. VM Snapshots
• A snapshot captures the complete 2. VM Replication
state of a virtual machine including • Virtual machines can be replicated
memory, disk, and configuration at a to another server or data center.
particular time. • If the main server fails, the replica
Example: VM can start immediately.
If a system crashes, the VM can be • Example tools
restored to the previous snapshot. • VMware vSphere Replication
• Microsoft Hyper-V replication.
Benefit
• Quick rollback to a stable state.

56
Key Mechanisms in Virtualization-based Disaster
Recovery
3. Live Migration 5. Failover Mechanism
• Virtualization allows moving virtual • In case of a system failure, another server
machines from one physical server to automatically starts the replicated
another without stopping them. virtual machine.
Example: Example:
• High Availability clusters in virtualized
• VMware vMotion.
environments.
Benefit
• Maintenance can be done without downtime. Advantages of Virtualization in Disaster
4. Backup and Restore Recovery
• Virtual machines are stored as files, making it • Faster recovery time
easy to back them up and restore them when • Reduced hardware dependency
needed. • Easy data replication
• Improved business continuity
Benefit
• Lower operational cost
• Faster system recovery compared to
traditional physical servers.
57
Virtualization Support for Disaster Recovery

Rapid Replication Snapshots & Backups


Virtual machines can be quickly duplicated across Automated snapshots and backups allow for fast
data centers, ensuring minimal downtime during
restoration to previous states, reducing data loss.
disasters.

Live Migration Cloud Integration


Move running VMs between hosts with no service Virtualization tools connect with cloud platforms,
interruption, supporting seamless failover. enabling hybrid and multi-site DR strategies.

58
Server Virtualization Core Strategies
Strategies Partition physical servers into multiple VMs, balance workloads
Technologies, orchestration, and across hosts, and pool compute, memory, and storage resources
market outlook to maximize utilization and resilience.

Enabling Technologies
Hypervisors provide VM isolation, cluster managers coordinate
hosts, and live migration moves VMs with minimal downtime for
maintenance and load shifting.

Orchestration & Scale


Integrating virtualization with cloud orchestration enables
elastic capacity, policy-based placement, and efficient resource
utilization across hybrid environments.

Market Outlook
Data centers are forecast to exceed 85% virtualization by 2027,
accelerated by cloud adoption and edge computing growth.

59
Conclusion: Integrating Architectures & Virtualization

Architectural Foundations Virtualization in Practice Integrated Outcomes


SOA and REST principles underpin systems Diverse technologies across implementation Combining these approaches enables
of systems and web services design. levels power DR and server management. flexible, scalable, resilient IT infrastructures.

60

You might also like