ONLINE: February 22, 2022

3 more dates available

Software requirements are changing faster and faster - the architecture must adapt to this. This training teaches pragmatic and modern approaches for flexible software architectures such as microservices and self-contained systems. Domain-driven Design and the closely related Strategic Design show how bounded context and context maps can be used to divide large applications into long-term maintainable functionalities.

According to Conway’s Law, the organization is closely linked to the architecture and can contribute to flexibility. Another influencing factor is Continuous Delivery: It brings software into production faster and more reliably, but this is only possible with good modularization aligned with it. Continuous delivery also provides new tools for architects: Infrastructures such as IaaS, PaaS and virtualization open up entirely different ways to make software more flexible. Metrics and logging can be used to feed more information into architecture work.

The seminar teaches how these modern concepts can be used in practice beyond the hype and with which architecture options and decision alternatives they can be adapted. Participants work through the approaches in practice using a case study. The principles taught are independent of programming language or platform.


  • Motivation: Fast IT as a Competitive Factor
  • Conway’s Law: Software Architectures and Organization
  • Microservices and Self-contained Systems
  • Domain-driven Design for Modularization: Bounded Context and Context Maps
  • Self-organization and Architecture: Micro and Macro Architectures
  • Communication: REST and Messaging
  • Event-driven and Front-end Integration
  • Data Replication
  • Distributed Security Approaches
  • Modern infrastructures with IaaS, PaaS and Container
  • Continuous Delivery, Delivery Pipelines and Software Architecture
  • Metrics and Logging
  • Outlook: Consistency Models and Resilience

Why should you visit this training?

  • Knowledge of flexible architectures is as essential in modernising aged systems as it is in designing new systems from scratch
  • You acquire “full-stack” architectural competency: from iterative design to continuous delivery
  • The acquired knowledge is applicable independent of technologies and languages