FREE E LEARNING PLATFORM
HOMEINTRODUCTIONSERVICESIAASPAAS
 

Distributed Systems




Distributed computing is a field of computer science that studies distributed systems. A Distributed System consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal. Distributed computing also refers to the use of distributed systems to solve computational problems. In distributed computing, a problem is divided into many tasks, each of which is solved by one or more computers.

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.

Benefits and challenges of distributed systems

There are three reasons that teams generally decide to implement distributed systems:

  1. Horizontal Scalability - Since computing happens independently on each node, it is easy and generally inexpensive to add additional nodes and functionality as necessary.
  2. Reliability - Most distributed systems are fault-tolerant as they can be made up of hundreds of nodes that work together. The system generally doesn 't experience any disruptions if a single machine fails.
  3. Performance -Distributed systems are extremely efficient because work loads can be broken up and sent to multiple machines.
  4. .

Challenges

  1. Scheduling - A distributed system has to decide which jobs need to run, when they should run, and where they should run. Schedulers ultimately have limitations, leading to underutilized hardware and unpredictable runtimes.
  2. Latency - The more widely your system is distributed, the more latency you can experience with communications. This often leads to teams making tradeoffs between availability, consistency, and latency.
  3. Observability - Gathering, processing, presenting, and monitoring hardware usage metrics for large clusters is a significant challenge.

Types of distributed systems

Distributed systems generally fall into one of four different basic architecture models:

  1. Client server :Clients contact the server for data, then format it and display it to the end-user. The end-user can also make a change from the client-side and commit it back to the server to make it permanent.
  2. Three tier: Information about the client is stored in a middle tier rather than on the client to simplify application deployment. This architecture model is most common for web applications.
  3. n tier :Generally used when an application or server needs to forward requests to additional enterprise services on the network.
  4. Peer to peer :There are no additional machines used to provide services or manage resources. Responsibilities are uniformly distributed among machines in the system, known as peers, which can serve as either client or server.

Cloud Computing vs Distributed Systems

virtualization

You may also Find this interesting

Cloud Computing Introduction

IaaS - Infrastructure As A Service

PaaS - Platform As A Service

SAAS - Software As A Service

IAAS PAAS SAAS A comparative Study

Cloud Deployment Model

Security Issues in Cloud Computing

Hypervisor

Distributed Systems







Leave Comment