Der Microservice Trade-Off


Details
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.
## Arnold Franke
Seit 12 Jahren ist Arnold Franke für synyx als Software Ingenieur, Berater und Architekt in Projekten verschiedener Branchen unterwegs. Seine Motivation Mit nachhaltigen Lösungen geringer Komplexität echten Mehrwert für Menschen zu schaffen. Dabei hilft das grundlegende Interesse und langjährige Erfahrung in allen Aspekten der Software Architektur wie Team Strukturen, DDD, Event-Driven Design uvm. Diese Erfahrung, gesammelt mit verteilten und monolithischen Systemen in der Cloud und auf Blech, teilt er gerne in Artikeln für Publikationen wie dem Java Magazin und gelegentlichen Talks.

Der Microservice Trade-Off