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

Distributed Systems Introduction Goals and Challenges of Distributed System

A distributed system is a system with multiple components located on different machines that communicate and coordinate actions to appear as a single system. Distributed systems offer advantages like flexibility, reliability, and enhanced speed but also pose challenges like increased opportunities for failure, synchronization difficulties, and more complex security. Access control in distributed systems is managed through approaches like access control lists, role-based access control, and attribute-based access control.

Uploaded by

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

Distributed Systems Introduction Goals and Challenges of Distributed System

A distributed system is a system with multiple components located on different machines that communicate and coordinate actions to appear as a single system. Distributed systems offer advantages like flexibility, reliability, and enhanced speed but also pose challenges like increased opportunities for failure, synchronization difficulties, and more complex security. Access control in distributed systems is managed through approaches like access control lists, role-based access control, and attribute-based access control.

Uploaded by

Sourabh Joshi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Definition

A distributed system, also known as distributed computing, is a system


with multiple components located on different machines that communicate
and coordinate actions in order to appear as a single coherent system to
the end-user.

Overview
The machines that are a part of a distributed system may be computers,
physical servers, virtual machines, containers, or any other node that can
connect to the network, have local memory, and communicate by passing
messages.

There are two general ways that distributed systems function:

1. Each machine works toward a common goal and the end-user views
results as one cohesive unit.
2. Each machine has its own end-user and the distributed system
facilitates sharing resources or communication services.

Although distributed systems can sometimes be obscure, they usually have


three primary characteristics: all components run concurrently, there is no
global clock, and all components fail independently of each other.

What are the benefits of distributed systems?


Distributed systems offer a number of advantages over monolithic, or
single, systems, including:

● Greater flexibility: It is easier to add computing power as the need


for services grows. In most cases today, you can add servers to a
distributed system on the fly.
● Reliability: A well-designed distributed system can withstand failures
in one or more of its nodes without severely impacting performance.
In a monolithic system, the entire application goes down if the server
goes down.
● Enhanced speed: Heavy traffic can bog down single servers when
traffic gets heavy, impacting performance for everyone. The
scalability of distributed databases and other distributed systems
makes them easier to maintain and also sustain high-performance
levels.
● Geo-distribution: Distributed content delivery is both intuitive for any
internet user, and vital for global organizations.

What are some challenges of distributed systems?


Distributed systems are considerably more complex than monolithic
computing environments, and raise a number of challenges around design,
operations and maintenance. These include:

● Increased opportunities for failure: The more systems added to a


computing environment, the more opportunity there is for failure. If a
system is not carefully designed and a single node crashes, the
entire system can go down. While distributed systems are designed
to be fault tolerant, that fault tolerance isn’t automatic or foolproof.
● Synchronization process challenges: Distributed systems work
without a global clock, requiring careful programming to ensure that
processes are properly synchronized to avoid transmission delays
that result in errors and data corruption. In a complex system — such
as a multiplayer video game — synchronization can be challenging,
especially on a public network that carries data traffic.
● Imperfect scalability: Doubling the number of nodes in a distributed
system doesn’t necessarily double performance. Architecting an
effective distributed system that maximizes scalability is a complex
undertaking that needs to take into account load balancing,
bandwidth management and other issues.
● More complex security: Managing a large number of nodes in a
heterogeneous or globally distributed environment creates numerous
security challenges. A single weak link in a file system or larger
distributed system network can expose the entire system to attack.
● Increased complexity: Distributed systems are more complex to
design, manage and understand than traditional computing
environments.

What are the risks of distributed systems?


The challenges of distributed systems as outlined above create a number
of correlating risks. These include:

● Security: Distributed systems are as vulnerable to attack as any


other system, but their distributed nature creates a much larger
attack surface that exposes organizations to threats.
● Risk of network failure: Distributed systems are beholden to public
networks in order to transmit and receive data. If one segment of the
internet becomes unavailable or overloaded, distributed system
performance may decline.
● Governance and control issues: Distributed systems lack the
governability of monolithic, single-server-based systems, creating
auditing and adherence issues around global privacy laws such as
GDPR. Globally distributed environments can impose barriers to
providing certain levels of assurance and impair visibility into where
data resides.
● Cost control: Unlike centralized systems, the scalability of
distributed systems allows administrators to easily add additional
capacity as needed, which can also increase costs. Pricing for
cloud-based distributed computing systems are based on usage
(such as the number of memory resources and CPU power
consumed over time). If demand suddenly spikes, organizations can
face a massive bill.

How do you apply access control in distributed systems?


Administrators use a variety of approaches to manage access control in
distributed computing environments, ranging from traditional access control
lists (ACLs) to role-based access control (RBAC). One of the most
promising access control mechanisms for distributed systems is
attribute-based access control (ABAC), which controls access to objects
and processes using rules that include information about the user, the
action requested and the environment of that request. Administrators can
also refine these types of roles to restrict access to certain times of day or
certain locations.

You might also like