What is true distributed system

Distributed Computing - distributed computing for efficient digital infrastructures

Distributed computing is a multifaceted phenomenon with partly very different infrastructures. All variants of distributed computing can therefore hardly be determined. However, three sub-areas are more often assigned to the sub-area of ​​computer science:

  • Cloud computing
  • Grid computing
  • Cluster computing

In cloud computing, distributed computing is used to provide customers with highly scalable and cost-effective infrastructures and platforms. Cloud providers usually make their capacities available in the form of hosted services that can be used via the Internet. Various service models have been established in practice:

  • Software as a Service (SaaS): With the SaaS service, the customer uses the applications and the associated infrastructure of a cloud provider (e.g. server, online storage, computing capacities). The applications can be accessed with different devices via what is known as a “thin client interface” (e.g. a browser-based web app). The cloud provider takes care of the maintenance and administration of the outsourced infrastructure.
  • Platform as a Service (PaaS): The PaaS service uses a cloud-based environment, e.g. B. provides for the development of web applications. The customer has control over the applications provided and can make user-specific settings, while the cloud provider takes care of the technical infrastructure for distributed computing.
  • Infrastructure as a Service (IaaS): With the IaaS service, the cloud provider provides a technical infrastructure that users can access via private or public networks. The components of the infrastructure provided include, for example, servers, computing and network capacities, communication devices such as routers, switches or firewalls, storage space and systems for archiving and backing up data. For his part, the customer has control over the operating systems and the applications made available.

The Grid computing is conceptually based on a supercomputer with enormous computing power. However, arithmetic tasks are not processed by one, but by many entities. Server and PCs can take on different tasks independently of one another. Grid computing can help Task management very flexible access resources. Usually, participants in an overall project make certain computing capacities available at night when the technical infrastructure is not so heavily used.

One advantage is that it is quick used very powerful systems and as needed in the Computing power can be scaled. There is no need to replace or upgrade an expensive supercomputer with an expensive successor to increase performance.

Because grid computing is a virtual supercomputer can generate from a cluster of loosely coupled computers, it specializes in particularly computationally intensive problems. The process is often used for ambitious projects in science or at Decryption of cryptographic codes.

Cluster computing cannot be clearly separated from cloud and grid computing. However, the term is more general and refers to all forms that combine individual computers and their computing capacities to form a cluster (Eng. "Grape", "bundle"). There are, for example, server clusters, clusters in big data and cloud environments, database clusters and application clusters. In addition, computer networks are increasingly on High performance computing involved, which solves particularly demanding arithmetic problems.

Different types of Distributed Computing can also be determined if you look at the System architectures and interaction models a distributed infrastructure. Because of the complex system architectures of distributed computing, it is often referred to as Distributed Systems (Eng. "distributed systems").

The popular architecture models of distributed computing include:

  • Client-server model
  • Peer-to-peer model
  • Layer models (multi-tier architectures)
  • Service-oriented architecture (SOA)

The client-server model is a simple interaction and communication model in distributed computing. A server receives a request from a client, carries out appropriate processing procedures and sends a response (message, data, calculation results) back to the client.

A Peer-to-peer architecture organizes the interaction and communication of distributed computing according to decentralized aspects. All computers (also called nodes) are equal and take on the same tasks and functions in the network. Every computer is therefore able to act as a client and as a server. An example of a peer-to-peer architecture is the blockchain of cryptocurrencies.

When designing a Layer architecture individual aspects of a software system are presented on several levels. animal, layer), which increases the efficiency and flexibility of distributed computing. The system architecture, which can be designed as a two-tier, three-tier or n-tier architecture depending on the intended use, is often found in web applications.