Implementation of distributed architectures

Distributed architecture is when the software building blocks of an IS are distributed either on several machines, or over several possible separate software layers designed on heterogeneous solutions. In contrast to this type of architecture, we will speak of monolithic architectures. It should be noted that today’s micro-services architectures are one of the fastest growing implementations of distributed architectures.

The big advantage of such architectures lies in :

  • High maintenance capacity with minimal side effects

  • Separation of concerns offering flexibility of evolution

  • The high resilience capacity since one of the layers can fail without altering the complete system.

  • A more fluid and optimal distribution of tasks in project development mode according to the skills of the team members.

However, it should be noted that this requires a major upstream study with the aim of properly appropriating the business lines of the company in question, in order to effectively and efficiently adapt the software building blocks to be created to the real need.

We will finish by noting the fact that there are 2 main types of distributed architectures:

  • Distributed infrastructure architectures: which give a more physical vision of the deployment strategy of machines across the enterprise network.

  • Distributed software architectures: The focus on this type of architecture is based on software bricks.

The 2 architectures are strongly linked in the sense that one carries/hosting the other.