This lesson introduces the concept of a distributed system, explaining how multiple computers, servers, and software components can collaborate over a network to provide a single service. The text highlights the importance of scalability, reliability, availability, and transparency: the user perceives the system as a single entity, even though resources are distributed across multiple machines.
The role of middleware is then introduced; it facilitates communication between different components and hides some of the infrastructure’s complexity. In the second part, the lesson links distributed systems to cloud computing, showing how services such as Spotify, Instagram, and Google Drive rely on servers, data centers, and remote resources accessible via the Internet.
Distributed system
In many real-world services, the infrastructure is highly complex: multiple computers, servers, and software components work together to provide a single service.
In these cases, we speak of distributed systems.
A distributed system is a computing model in which multiple components connected through a network cooperate to perform a task or provide a service. Hardware and software resources are not all located on a single computer, but are distributed across multiple interconnected machines (van Steen & Tanenbaum, 2023).
The goal of a distributed system is to use the available resources efficiently, improving the scalability, reliability, and availability of the overall system (van Steen & Tanenbaum, 2023).
For example, if a service is distributed across multiple servers, it can handle more users at the same time and continue operating even if part of the infrastructure experiences a problem.
An important characteristic of distributed systems is transparency: users and developers can perceive the system as a single coherent entity, even though its resources are distributed across multiple computers.
In a distributed system, the existence of multiple computers is invisible to the user, who has the impression of interacting with a single computing system.
Middleware is software that acts as an intermediary between applications or software components within a distributed system. It is thanks to middleware that the user perceives this transparency (van Steen & Tanenbaum, 2023).
Its main purpose is to facilitate communication, management, and interaction among the different parts of a system, especially when those parts may be located in different areas of a network.
Many distributed systems use middleware to achieve transparency.
Example
Spotify is a music streaming service that allows users to listen to music online from a vast catalogue of tracks.
This service is provided through a distributed architecture because the tracks are stored on servers around the world, yet the user is unaware of this and perceives that they are interacting with a single entity.
Cloud computing
One technology that makes extensive use of distributed systems is cloud computing (Buyya et al., 2011).
In the past, many software applications were installed and run mainly locally, meaning on the user’s device.
Today, however, many computing services rely on remote infrastructure accessible through the Internet.
As networks have evolved and become much faster and more secure, computing services have been moving from local software to web services. The user accesses the application’s interface through a browser, while the actual work is performed by the server, which sends the interface only the result to be displayed.
This change benefits the user because their device does not have to handle the application’s entire workload, since part of the work is performed by remote servers.
The concept of using computing services through a network is called cloud computing. It goes beyond the simple presence of resources on the Internet and involves accessing and using virtual resources as services (Mell & Grance, 2011).
These services may include data storage, data processing, application delivery, data analysis, and much more.
Therefore:
The term cloud refers to the set of hardware and software resources that make cloud computing possible: servers, storage systems, networks, software, and interconnected data centers (Liu et al., 2011; Mell & Grance, 2011).
Therefore:
The cloud represents a set of hardware and software resources that perform cloud computing.

The cloud allows users to access the same files and applications from virtually any device, because processing and storage take place on servers located in data centers rather than locally on the user’s device (Mell & Grance, 2011).
This is why a user can access their Instagram account on a new phone after the old one has broken and still find the account there, together with all the photos, videos, and conversation history.
Example
Google Drive is considered a cloud system for several reasons:
For businesses, moving to cloud computing removes some IT-related and fixed costs. For example, they no longer need to update and maintain their own servers, because this is handled by the cloud service provider they use (Buyya et al., 2011).
This is particularly important for small businesses, which may not be able to maintain their own internal infrastructure but can cost-effectively outsource their infrastructure needs through the cloud.
The cloud can also make it easier for businesses to operate internationally, because employees and customers can access the same files and applications wherever they are, provided they have an Internet connection.
The cloud often relies on distributed systems because the service is provided by many coordinated resources, including servers, storage systems, networks, and data centers (Buyya et al., 2011; van Steen & Tanenbaum, 2023).
From the user’s perspective, however, this complexity is largely hidden: the service appears as a single application accessible through the Internet (van Steen & Tanenbaum, 2023).





No responses yet