Distributed Systems —CSw 3325
Lecture 9 : Introduction to Distributed Systems"
Assistant Professor: Nasser Tamim
Sinai University
25th November 2025
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 1 / 25
Outline
1 Lecture Overview
2 Introduction to distributed systems
Computing Paradigms
Distributed system Architecture and how it works
Communication through distributed systems
Coordination and synchronization
Data management strategies.
Load balancing.
Distributed Systems
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 2 / 25
Lecture Overview
Lecture Objectives
Learning Objectives After studying this chapter, you should be able to:
1. Define distributed systems and cloud computing and explain their
symbiotic relationship
2. Identify key architectural patterns in distributed systems and cloud
environments
3. Understand how emerging technologies (AI, IoT, edge computing) are
transforming distributed cloud architectures
4. Analyze real-world applications of distributed systems in cloud
environments
5. Describe future trends and challenges in distributed cloud computing
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 3 / 25
Introduction to distributed systems Computing Paradigms
Evolution of cloud computing
Figure:
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 4 / 25
Introduction to distributed systems Computing Paradigms
Distributed architecture vs. centralized architecture
Centralized architectures
Centralized architectures, the traditional approach to software design, rely on a
single, powerful central server to handle all processing, storage, and
management tasks. While a centralized system can be simpler to implement
and manage initially, distributed computing can overcome several limitations.
Both approaches still have advantages,
Distributed computing architecture
refers to a system where processing and data storage are distributed across
multiple devices or systems, rather than being handled by a single central
device. In other words, it is considered a network of independent computers that
collaborate to appear as a unified system. These components are located on
different machines and communicate via message passing
So it makes sense to understand which architecture is better for your needs and
what tradeoffs come into play.
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 5 / 25
Introduction to distributed systems Distributed system Architecture and how it works
How do distributed architectures work?
Distributed architectures operate through a network of interconnected services,
each with roles and responsibilities regarding application functionality. Let’s
examine some of these design choices that define a distributed architecture as
follows:
Communication
Coordination and synchronization
Data management strategies.
Load balancing.
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 6 / 25
Introduction to distributed systems Distributed system Architecture and how it works
Communication
Communication in distributed systems is the process by which multiple,
independent computers exchange messages over a network to coordinate actions
and share resources, presenting a unified system to users.
Key methods include Message Passing, remote procedure calls (RPC),
publish-subscribe messaging, and web services.
Communication relies on underlying network protocols like TCP/IP and
requires mechanisms for addressing, routing, reliability, and handling potential
network failures to ensure data consistency and system scalability
Depending on the requirements, various messaging and streaming frameworks,
like Apache Kafka or RabbitMQ , may be considered that work as a mediator or
broker software.
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 7 / 25
Introduction to distributed systems Distributed system Architecture and how it works
Coordination and synchronization
To maintain consistency and avoid conflicts, distributed architectures must
employ techniques such as;
leader election (where a single service coordinates others).
Distributed consensus (where services agree on a shared state).
Distributed locks (which prevent concurrent access to resources).
,
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 8 / 25
Introduction to distributed systems Distributed system Architecture and how it works
Data management strategies.
Data within distributed architectures can be managed as the following:
Replication (multiple copies across nodes for redundancy).
Sharding (partitioning data for scalability).
Specialized distributed databases optimized for handling data spread
across multiple locations.
.
Overall, this aspect of a distributed application can be the most
complex to manage and has the largest impact if implemented
incorrectly.
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 9 / 25
Introduction to distributed systems Distributed system Architecture and how it works
Load balancing
Distributed architectures often employ load balancers to ensure optimal
performance and prevent overload. These systems intelligently distribute
incoming requests across multiple services, generally through an active-active
or active-passive configuration, maximizing resource utilization and
responsiveness.
Ensuring that each component can handle load, concurrency, and scalability
should result in a highly functioning distributed architecture. These concerns
differ from those of a more traditional centralized architecture. To understand
more about how the two work differently, let’s do a quick comparison. SEE
NEXT SLIDES.
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 10 / 25
Introduction to distributed systems Distributed system Architecture and how it works
comparison between A centralized and distributed
computing
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 11 / 25
Introduction to distributed systems Distributed system Architecture and how it works
comparison between A centralized and distributed
computing
Figure: Caption
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 12 / 25
Introduction to distributed systems Distributed system Architecture and how it works
why developers shift towards distributed computing /
As demand for applications has increased in various ways, this has naturally
made architects and developers shift towards distributed computing as the go-to
approach over centralized and monolithic ones. A few concrete reasons for this
shift include:
Increasing data volumes: Modern applications generate massive amounts
of data, which can overwhelm centralized servers.
Growing user demands: Users expect fast and responsive applications,
even under peak loads.
Cloud computing: Cloud platforms provide the infrastructure and tools to
quickly deploy and manage distributed systems.
Microservices: The rise of microservices architecture, where developers
build applications as a collection of small, independent services, naturally
lends itself to distributed deployments.
Although centralized architectures have their place, the advent of cloud
computing has pushed teams to make many applications and their
infrastructure more distributed. Under the umbrella of distributed
architectures, though, we will look at a few specific types next and further
explore the differences
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 13 / 25
Introduction to distributed systems Distributed system Architecture and how it works
Types of distributed architectures-1
Just like most architectural paradigms, distributed application architecture
also comes in various flavors. Each variant caters to specific use cases and
requirements and offers different benefits. Let’s explore some of the most
common types:
Client-server architecture (The most basic form of distributed architecture,
a client-server architecture allows clients to request services from a central
server. Examples include web browsers interacting with web servers and
email clients connecting to email servers.
Peer-to-peer (P2P) architecture (In a P2P network, each node acts as a
client and a server, sharing resources and responsibilities with other nodes.
P2P architectures are commonly used for file-sharing networks, such as
BitTorrent.)
Multi-tier architecture (sometimes referred to as “n-tier” architecture)
divides an application into multiple layers or tiers, each with specific
functionality. Common tiers include presentation, business logic, and data
access layers. By separating concerns, multi-tier architectures enhance
scalability and maintainability.
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 14 / 25
Introduction to distributed systems Distributed system Architecture and how it works
Types of distributed architectures-2
Just like most architectural paradigms, distributed application architecture
also comes in various flavors. Each variant caters to specific use cases and
requirements and offers different benefits. Let’s explore some of the most
common types:
Microservices architecture (Microservice architectures have been one of the
hottest topics in architecture for the past few years. Teams build them as a
collection of loosely coupled, independent software components, each
responsible for a specific business capability. Engineers can develop, deploy,
and scale microservices independently, offering agility, flexibility, and, if
done poorly, hard-to-manage complexity.)
Service-oriented architecture (SOA).(SOA applications, which gained
traction in the early 2000s, are composed of reusable services that
communicate with each other through standardized interfaces. By reusing
services across different applications, SOA promotes interoperability and
flexibility.)
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 15 / 25
Introduction to distributed systems Distributed system Architecture and how it works
Types of distributed architectures-3
Event-driven architecture (EDA) (In an EDA, components often coupled
with microservices communicate by producing and consuming events. EDA
enables loose coupling and scalability by allowing components to react to
events asynchronously.
Many of these architectural examples overlap slightly and come with their
own set of advantages and tradeoffs. Depending on the application you are
building, some types under the distributed architecture umbrella may
make more or less sense to run with. An excellent way to understand which
might be a good fit is to look at similar existing application examples. Let’s
take a look at some examples in the next section.)
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 16 / 25
Introduction to distributed systems Distributed system Architecture and how it works
"Cluster Computing" and "Grid Computing"
"Cluster Computing" and "Grid Computing." Both refer to ways of pooling
computational resources to tackle complex problems, but they differ
significantly in their structure and applications.
This article will elucidate these differences, helping you understand which
approach might be best suited for specific needs.
Clustre computing
is a collection of tightly or loosely connected computers that work together so
that they act as a single entity. The connected computers execute operations all
together thus creating the idea of a single system. The clusters are generally
connected through fast local area networks (LANs)
Grid computing
Grid Computing refers to a network of computers, homogeneous or
heterogeneous, working together across different locations to perform complex
tasks. It leverages the unused processing power of multiple machines to achieve
its goals.
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 17 / 25
Introduction to distributed systems Distributed system Architecture and how it works
Cluster Computing"
Figure: simple cluster node
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 18 / 25
Introduction to distributed systems Distributed system Architecture and how it works
Why is Cluster Computing important?
Cluster computing provides a relatively inexpensive, unconventional
alternative to large server or mainframe solutions.
It resolves the demand for content criticality and process services more
quickly.
Many organizations and IT companies are implementing cluster computing
to improve scalability, availability, processing speed, and resource
management at affordable prices.
It ensures that computational power is always available.
It provides a single, general strategy for implementing and applying
parallel high-performance systems, independent of specific hardware
vendors and their product decisions.
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 19 / 25
Introduction to distributed systems Distributed system Architecture and how it works
Comparison between cluster computing and grid
computing
Figure: Comparision between Cluster and grid Computing
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 20 / 25
Introduction to distributed systems Distributed system Architecture and how it works
Real world example of distributed architectures
Distributed system architectures are the backbone of many of today’s most
successful companies and applications. A distributed system is likely deployed
under the hood if it requires scale and resilience. Here are a few examples of
companies that are using distributed architectures at scale
Netflix
Amazon
Uber
Airbnb
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 21 / 25
Introduction to distributed systems Distributed system Architecture and how it works
Revolution of cloud computing
Figure: revolution of cloud computing
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 22 / 25
Introduction to distributed systems Distributed Systems
What are the Key Characteristics of a Distributed
System?
Key Characteristics of Distributed system:
1. Multiple Autonomous Components:
2. Independent computers that communicate through message passing
3. Resource Sharing: Shared access to hardware, software, and data resources
4. Concurrent Processing: Simultaneous execution of processes across
different nodes
5. Transparency: Users perceive the system as a single coherent unit despite
distribution
6. Fault Tolerance: Continued operation despite failures of individual
components
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 23 / 25
Introduction to distributed systems Distributed Systems
Q&A
What is the distributed architecture?
A distributed architecture is a software system deployed across multiple
interconnected computational nodes. These nodes can be physical or virtual
servers, containers, or serverless functions, such as AWS Lambda, Azure
Functions, or Google Cloud Functions. In essence, a distributed architecture
allocates an application’s workload across multiple nodes rather than relying on
a single central server. This approach can enhance scalability, performance,
and resilience by leveraging the processing power of multiple
resources.
What is the primary goal of distributed computing systems?
The primary goal of distributed computing systems is to enhance an
application’s scalability, fault tolerance, and performance. By distributing the
workload across multiple nodes, the system can handle variable volumes of
traffic and data without compromising speed or reliability. Monolithic
architectures tend to struggle with this aspect. Additionally, if one node fails,
the others can continue operating, so processes are not affected by an outage. or
issue can continue
Nasser Mahmoud functioning as intended,
Tamim (Sinai University) ensuring minimal25th
Distributed Systems disruption
November 2025 to the
24 / 25
Introduction to distributed systems Distributed Systems
Conclusion
Distributed architectures are the future of software design, offering
required to meet modern demands. Whether you’re building the next big web
application, developing a blockchain network, or modernizing legacy systems,
understanding how to leverage a distributed architecture is crucial.
Nasser Mahmoud Tamim (Sinai University) Distributed Systems 25th November 2025 25 / 25