0% found this document useful (0 votes)
11 views

MUT Lecture 2 - Distributed System Models

Uploaded by

veeviena2
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

MUT Lecture 2 - Distributed System Models

Uploaded by

veeviena2
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 32

SCS 303:

Distributed
Systems
Lecturer:

Dr. Stephen Kahara, PhD


Lecture 2:
Distributed System Models
Recap: Distributed Systems
 Distributed systems;
 are a collection of independent computers that work
together to achieve a common goal.
 These computers are interconnected via a network and
communicate with each other to coordinate their
actions.
 Distributed systems have become an integral part
of our digital landscape, underpinning everything
from the internet to cloud computing.
 The goal of distributed systems is to;
 provide a scalable,
 reliable, and
 efficient way to distribute computing tasks across
multiple machines. 3
SCS 303: Distributed Systems
Recap: Distributed Systems
 Key characteristics of distributed systems
include:
 Autonomy: Each computer operates
independently.
 Interconnection: Computers communicate
through a network.
 Cooperation: Computers work together to
achieve a shared goal.
 Transparency: Users should perceive the
system as a single, unified entity, not as
individual computers.

4
SCS 303: Distributed Systems
Recap: Distributed Systems
 Why use distributed systems?
 Scalability: Distributed systems can handle
large-scale workloads by distributing tasks
across multiple computers.
 Reliability: If one computer fails, the system
can continue to operate.
 Efficiency: By distributing tasks, distributed
systems can improve performance.
 Cost-effectiveness: Sharing resources across
multiple computers can reduce costs.

5
SCS 303: Distributed Systems
Recap: Distributed Systems
 Common examples of distributed systems
include:
 Peer-to-peer networks (like BitTorrent)
 Distributed databases
 The internet
 Cloud computing platforms

6
SCS 303: Distributed Systems
Distributed System Models
 To understand the intricacies of distributed
systems, it is essential to explore the various
models that govern their architecture and
operation.
 This introduction will delve into the fundamental
concepts of distributed system models, providing
a framework for further exploration.
 The most common models are:
 Client-Server Model
 Peer-to-Peer (P2P) Model
 Cloud Computing Model
 Hybrid Model
7
SCS 303: Distributed Systems
Client-Server Model
 A client-server model is a distributed application
structure that divides the workload between
service requesters, known as clients, and service
providers, called servers.
 In this architecture, clients initiate requests for
data or services, while servers fulfill these
requests by processing the information and
sending the results back to the client.
 This is the most widely used model

8
SCS 303: Distributed Systems
Client-Server Model
 Key Components
 Clients: These are software or hardware devices that
request services from a server. Clients typically have a
user interface that allows users to interact with the
system. Examples include web browsers, email clients,
and database applications.
 Servers: These are powerful computers that provide
services to clients. They have the necessary resources
(hardware, software, and data) to handle multiple client
requests simultaneously. Examples include web servers,
email servers, and database servers.
 Network: A communication infrastructure that connects
clients and servers.

9
SCS 303: Distributed Systems
Client-Server Model

 Fig. 1: Client-Server Model


 This diagram illustrates a typical client-server model
with multiple types of clients (web browser, mobile app,
desktop app) connecting to a server.
10
SCS 303: Distributed Systems
Client-Server Model
 Characteristics
 Request-Response Communication: Clients
send requests to the server, and the server
responds with the requested data or service.
 Centralized Resources: The server is the
central point of control in a client-server model .
Resources and services are centralized on the
server, allowing for easier management and
updates.
 Scalability: The model allows for easy addition of
new clients, but server scalability can be
challenging.
 Clear Separation of Concerns: Clients and
servers have distinct roles and responsibilities. 11
SCS 303: Distributed Systems
Client-Server Model
 Characteristics
 Network-Based: Communication typically
occurs over a network, often using standard
protocols like HTTP.
 Stateless or Stateful: Depending on the
application, the server can maintain state
information about clients or operate in a
stateless manner.
 Multi-Tier Architecture: Many client-server
systems are implemented in multiple tiers (e.g.,
presentation, application logic, data storage).
12
SCS 303: Distributed Systems
Client-Server Model
 Advantages:
 Centralized Data Management: Easier to
maintain data integrity and perform backups.
 Enhanced Security: Centralized server allows
for more robust security implementations.
 Role Specialization: Clients and servers can
be optimized for their specific roles.
 Easier Maintenance: Updates to the server
automatically benefit all clients.
 Interoperability: Different types of clients
can interact with the same server.
13
SCS 303: Distributed Systems
Client-Server Model
 Disadvantages/Challenges
 Single Point of Failure: If the server goes
down, the entire system is affected.
 Network Congestion: High traffic can lead to
performance issues.
 Scalability Limitations: Scaling the server to
handle increased load can be complex and
costly.
 Bandwidth Constraints: Large numbers of
clients can strain network resources.
 Complexity: Implementing and managing a
client-server system can be more complex than
standalone applications. 14
SCS 303: Distributed Systems
Client-Server Model
 Web Servers: These servers deliver web pages
to clients (web browsers) in response to HTTP
requests. Examples include Apache and Nginx.
 Email Servers: These servers handle the
sending, receiving, and storing of email
messages. Examples include Microsoft Exchange
and Postfix.
 Database Servers: These servers manage and
store data, providing access to clients through
database management systems. Examples
include MySQL, Oracle, and SQL Server.

15
SCS 303: Distributed Systems
Peer-to-Peer (P2P) Model
 A peer-to-peer (P2P) network is a decentralized
computer network where individual computers
(peers) act as both clients and servers.
 This model eliminates the need for a central
server, distributing resources and services across
the network.
 Unlike the client-server model, there is no central
authority.
 Instead, peers communicate directly with each
other to share resources, such as files, processing
power, or storage.

16
SCS 303: Distributed Systems
Peer-to-Peer (P2P) Model
 Key components
 Peers: Nodes that can both request and
provide services.
 Network: A communication infrastructure
that connects peers.

17
SCS 303: Distributed Systems
Peer-to-Peer (P2P) Model

 Fig. 2: Peer to Peer Model


18
SCS 303: Distributed Systems
Peer-to-Peer (P2P) Model
 Characteristics
 Decentralized Control: No single entity
controls the network. Peers have equal
privileges and responsibilities.
 High Scalability: Highly scalable as new
peers can easily join the network. As the
network grows, resources are distributed
among more peers.
 Resilience: No single point of failure; the
network can survive if some peers go offline.
 Resource Sharing: Peers contribute and
consume resources.

19
SCS 303: Distributed Systems
Peer-to-Peer (P2P) Model
 Examples
 BitTorrent: A popular protocol for distributing
large files efficiently. Peers download file pieces
from multiple other peers, contributing
uploaded portions as they download.
 Napster: One of the early P2P file-sharing
services, although it faced legal challenges due
to copyright infringement.
 Skype
 Gnutella

20
SCS 303: Distributed Systems
Peer-to-Peer (P2P) Model
 Advantages:
 Suitable for Applications with Large Amounts of
Data Sharing: P2P is well-suited for distributing
large files, such as movies, software, and
scientific data, as the load is shared among
many peers.
 Efficient resource utilization: By leveraging the
combined resources of multiple peers, P2P
networks can achieve high levels of resource
utilization.
 High scalability and fault tolerance
 Reduced infrastructure costs
21
SCS 303: Distributed Systems
Peer-to-Peer (P2P) Model
 Challenges:
 Lower Availability: While the overall system can
be more resilient, the availability of specific
files or resources depends on the number of
peers sharing them.
 Complex network management
 Security and trust issues
 Inconsistent performance (depends on peer
availability)

22
SCS 303: Distributed Systems
Cloud Computing Model
 Cloud computing is a model for;
 enabling ubiquitous,
 convenient,
 on-demand network access to a shared pool of
configurable computing resources (e.g., networks,
servers, storage, applications, and services) that can be
rapidly provisioned and released with minimal
management effort or service provider interaction.
 Cloud computing is a model of delivering IT
services, such as computing power, storage,
and networking, over the internet.

23
SCS 303: Distributed Systems
Cloud Computing Model
 Key components:
 Cloud provider: A company that delivers
cloud services.
 Cloud infrastructure: The physical hardware
and software that provides cloud services.
 Cloud consumer: An individual or
organization that uses cloud services.

24
SCS 303: Distributed Systems
 Fig.3: Cloud computing models
25
SCS 303: Distributed Systems
Cloud Computing Model
 Types of cloud computing:
 Infrastructure as a Service (IaaS): This
model provides on-demand access to computing
resources, such as servers, storage, and
networking. Users have control over the
operating system, applications, and data.
 Examples: Amazon EC2, Microsoft Azure Virtual
Machines, Google Compute Engine
 Platform as a Service (PaaS): This model
provides a cloud-based platform for developing,
testing, deploying, and managing applications.
Users focus on application development without
worrying about infrastructure management.
 Examples: Google App Engine, Microsoft Azure App
Service, Heroku
26
SCS 303: Distributed Systems
Cloud Computing Model
 Types of cloud computing:
 Software as a Service (SaaS): This model
delivers software applications over the
internet. Users access these applications
through a web browser without installing or
managing software on their devices.
 Examples: Salesforce, Microsoft Office 365, Google
Workspace

27
SCS 303: Distributed Systems
Cloud Computing Model
 Characteristics
 On-demand self-service: Users can access and
provision cloud resources independently without
requiring human interaction.
 Broad network access: Cloud services are accessible
from various devices and locations through internet
connectivity.
 Resource pooling: Cloud providers combine
computing resources from multiple physical servers to
create a shared pool of resources.
 Rapid elasticity: Cloud resources can be rapidly
scaled up or down to meet changing demands.
 Measured service: Cloud services are usually paid for
based on usage, allowing for flexible and cost-effective
consumption.
28
SCS 303: Distributed Systems
Cloud Computing Model
 Advantages
 Cost-effective: Pay-per-use pricing models
reduce upfront costs and IT expenses.
 Scalable: Cloud resources can be easily
scaled up or down to meet changing demands.

 Flexible: Cloud services offer a wide range of


options to meet different business needs.
 Increased agility: Organizations can quickly
deploy new applications and services.

29
SCS 303: Distributed Systems
Cloud Computing Model
 Disadvantages
 Reliance on third-party providers: Security
and availability depend on the cloud provider.
 Security and privacy concerns: Protecting
data and applications in the cloud requires
robust security measures.
 Vendor lock-in: Dependence on a specific
cloud provider can limit flexibility.
 Compliance and legal issues
 Dependency on internet connectivity

30
SCS 303: Distributed Systems
Lesson Summary
 This lesson has covered three main distributed
system models: client-server, peer-to-peer, and
cloud computing.
 Each model has its own advantages and
disadvantages, and the best choice for a
particular application depends on factors such as
scalability, reliability, security, and cost.
 The client-server model features centralized
control, with clients requesting services from
servers. While offering centralized management
and security, it can suffer from performance
bottlenecks and scalability limitations.

31
SCS 303: Distributed Systems
Lesson Summary
 Peer-to-peer networks are decentralized, with
nodes acting as both clients and servers. This model
excels in resource sharing and scalability but faces
challenges in data management and security.
 Cloud computing provides on-demand access to
shared computing resources. It offers flexibility,
scalability, and cost-effectiveness but relies on third-
party providers and raises security concerns.
 Understanding these models is crucial for designing
and implementing effective distributed systems,
considering factors like workload distribution,
resource management, and security requirements.

32
SCS 303: Distributed Systems

You might also like