Microservices sind irgendwie toll, das weiß ja inzwischen jeder. Aber vielen ist nicht bewusst,
dass man für diesen Architekturansatz auch einen Preis zahlt, der sich nicht immer lohnt.
Eines der schwierigsten Probleme in der Softwarearchitektur ist das Finden geeigneter
Schnitte zwischen Deploymenteinheiten verteilter Systeme ("Services"). Missverständnisse
und Fehlannahmen zu Architekturparadigmen wie "Microservices" führen immer wieder zu
schlechten Entscheidungen über Software-Schnitte, die schwer umzukehren sind und
schlechte Auswirkungen auf die Weiterentwicklung und Nachhaltigkeit eines Systems haben
können.
In diesem Talk werde ich versuchen, die verschiedenen Seiten des Trade-Off eines
Softwareschnitts zu beleuchten und so nah wie möglich an konkrete Lösungen für dieses
komplizierte "It depends" Problem zu kommen. Welche Probleme hole ich mir mit einem
Softwareschnitt ins Boot? Wann kann ich davon profitieren? Was sind weit verbreitete
Missverständnisse über Microservice Architektur? Welche Methoden und Heuristiken können
uns helfen, die richtige Entscheidung zu treffen? Wie hilft uns der modulithische Ansatz an
den Stellen, an denen ein Schnitt keinen Sinn macht? In welchen Situationen stehen wir vor
einer solchen Entscheidung und wie gehen wir sie an?
Neben Erkenntnissen aus Domain Driven Design und Team Topologies sowie Elementen der
Architekturansätze Microservices und Modulith enthält dieser Talk eine Menge real-life
Erfahrung aus Projekten mit verteilten Systemen. Der Talk wird die Zuhörer befähigen, bei
anstehenden Architekturentscheidungen die Schnitte ihrer Software besser abgewägt und
nachhaltiger zu wählen.