Skip to main content

Welcome to our iSAQB®-Blog

Blog

Microservices Alone Don’t Create Flexible Architectures

Interview with Eberhard Wolff and Falk Sippach, Experts of the CPSA®-Advanced Level Module “Flexible Architecture Models”

Flexibility primarily means that a system can respond to change without every adjustment becoming expensive, risky, or slowing down development. It is not about keeping as many options open as possible, but about implementing changes in a targeted and manageable way.

You can recognize true flexibility in everyday work: Do changes remain local? Are dependencies manageable? Can new requirements be implemented without major side effects and independently of other teams?

The biggest obstacle is often short term delivery pressure. Clean boundaries, well designed modules, and continuous architecture work require additional effort at first, but they pay off in the long run. In many cases, the pressure is so high that teams never get the chance to think about a sustainable architecture.

Other challenges include unclear responsibilities, historically grown structures, and the temptation to adopt technical trends without fully understanding the underlying problem. These issues can only be overcome step by step through greater transparency regarding dependencies, clearer domain boundaries, and architecture work as a continuous team responsibility.

Domain-driven Design helps identify meaningful domain boundaries. This is exactly where flexibility begins: with understanding the domain and defining clear responsibilities.

Microservices and Self-contained Systems can build upon this foundation and provide technical flexibility, but they are not an end in themselves. Without well-defined domain boundaries, there is no real business flexibility, and that is often what matters most. DDD therefore provides the foundation for making informed decisions between a modulith, microservices, or self-contained systems and their respective trade-offs.

Microservices are often introduced as a modern architectural style without fully understanding both their benefits and their challenges. Teams distribute a system before clarifying domain boundaries, dependencies, and team responsibilities.

The result is often a landscape of many small services with strong coupling and significant coordination overhead. In many situations, a well structured modulith can be the better starting point. If scalability or independence requirements increase later on, parts of the system can still be extracted into microservices.

The first step should be identifying the biggest pain points regarding change. Where do changes take too long? Where do unintended side effects repeatedly occur? Which dependencies are slowing the team down the most?

After that, teams should sharpen domain responsibilities, improve module boundaries, and reduce dependencies. It is important not to start with a huge target architecture, but with small and concrete improvements in the areas that are already being changed anyway.

Flexible architecture is becoming even more important because requirements, technologies, and markets are changing faster than ever. Teams need to deliver more quickly while simultaneously dealing with greater uncertainty.

This becomes especially visible in the area of AI. At the beginning, it is often unclear which models, providers, or integration approaches will prevail in the long term. That is exactly why architectures are needed that allow experimentation, limit coupling, and enable change without destabilizing the overall system.

More on this topic at the Software Architecture Forum 2026. In their session, Eberhard Wolff and Falk Sippach will demonstrate how flexible architectures can be designed using Domain-driven Design, moduliths, microservices, and self contained systems, and what really matters in practice.

Share this post:
  • http://Falk%20Sippach
    About the Author Falk Sippach

    Country: Germany

    Falk Sippach works as a software architect, consultant, and trainer at embarc Software Consulting GmbH, always looking for the spark of enthusiasm he can ignite in participants, customers, and colleagues. For more than 20 years, he has supported mostly agile Java software development projects. As an active member of the community, including as co organizer of the JUG Darmstadt and member of the Java Champions, he enjoys sharing his knowledge through articles, blog posts, conference talks, and user group meetings, while also supporting the organization of various professional events.
  • http://Eberhard%20Wolff
    About the Author Eberhard Wolff

    Country: Germany

    Eberhard Wolff has more than 20 years of experience as an architect and consultant, often at the intersection of business and technology. He is Head of Architecture at SWAGLab. As a speaker, he has presented at international conferences and published more than 100 articles and books, including works on microservices and continuous delivery. His technological focus lies on modern architectures, often in the context of cloud, Domain-driven Design, and microservices.

Stay Up-to-Date with the iSAQB® Newsletter!