Flexible Architecture Models
Microservices and Self-Contained Systems
How can we organize large systems that require large teams for development in such a way that high-quality functionality is still delivered quickly?
This training introduces effective solution strategies for this question:
- We divide our domain along business boundaries.
- For each part, we establish independent systems, so-called Self-Contained Systems and Microservices.
- Each such system is maintained by a separate team and is delivered separately, independently of the others.
- The delivery processes are automated as much as possible.
These strategies enable independent work by teams and frequent delivery, which in turn leads to rapid implementation of new requirements and high quality.
However, these strategies also bring a number of challenges:
- How do you find the right boundaries for the division?
- How do you align the new architecture with the existing organization?
- How do you regulate communication between systems and services?
- What pitfalls are there in implementation?
- How do you integrate everything?
- How do you automate delivery?
- How do you establish the same conditions on developer and production systems?
- How do you split a monolith into Self-Contained Systems?
- How do you monitor the operation of such a system?
- How do you find errors in such a system?
We don't just present knowledge at the whiteboard, but develop concrete skills. Using a continuous example, we split a monolith into Self-Contained Systems, reimplement the parts in group work, re-integrate them, set up a delivery pipeline, and implement monitoring and logging.
We do all this with concrete code in Erlang or Elixir on the Erlang platform. (Below shows which training dates use which programming language.) The Erlang platform is the most powerful infrastructure for reliable distributed systems: This makes flexible software architecture really enjoyable! The acquired skills and knowledge are of course also applicable to other technology stacks.
An introduction to Erlang/Elixir is offered as a separate, optional first training date.
iSAQB Advanced Level
This training is part of the Advanced Level of the iSAQB certification for software architects (CPSA-A) and implements the iSAQB module FLEX.

If you attend this training as part of the iSAQB Advanced Level, you can have credit points recognized afterwards (10 credit points in the Methodology competence area and 20 credit points in the Technical Competence area).
For bookings, interest, and questions, please contact us at schulung@active-group.de or call us at +49 7071 70896-60.
Upcoming Dates
Instructor(s)
Dr. Michael Sperber
Dr. Sperber is the managing director of Active Group GmbH, which develops custom software exclusively using functional programming. He is an expert in functional programming and has been applying it for over 25 years in research and industrial development. Dr. Sperber has also been involved in programming education for over 30 years and has conducted extensive research on the topic. He is co-founder of the blog funktionale-programmierung.de and co-organizer of the developer conference BOB, as well as author of several books and numerous technical articles.
