In this lesson, the following topics are discussed:
- What is a distributed architecture?
- What challenges have to be solved?
What is a Distributed Architecture?
A distributed IT system is an architectural paradigm and according to the Encyclopedia of Business Informatics Online Dictionary is defined as follows:
"A distributed IT system comprises subsystems (components in the broadest sense) that are coupled together within the framework of a specific architecture and handle tasks cooperatively.
"In contrast, in a monolithic IT system, the functions of a system are bundled (centralized). The logical distribution of system functions among components can be accompanied by a coordinated physical decentralization in a computer network.
We understand all IT installations and services as components. For example ERP On-Prem, SAP S/4HANA On-Prem and/or SaaS applications.
An Example of a Distributed Architecture
Below is an example of a customer landscape. You can see that many different technical systems communicate with each other with all their technical peculiarities.
What Challenges Have to be Solved?
Due to heterogeneity, expensive and complex solutions to the following challenges must be sought, found, and implemented:
- Many different transport and message protocols
- Release management
- Monitoring
- Error identification and correction
- Latency
- Quality of service
- Security
- Availability of implementations
- Observability
- Documentation
One way to overcome these challenges is to use an API first approach, which we look at later.
Summary
For the automated processing of technical processes, a large number of different software components, different installations, technology and spatial availability are often coupled via networks with different protocols. The functionalities of these implementations are called services. The interface is provided via APIs (Application Programming Interfaces). The type, location, and implementation of the APIs are irrelevant for now. These APIs are language agnostic. That's why we also speak of an API first architecture or approach. Cloud native architectures are based on APIs. This is accompanied by new challenges.