Können wir uns die Entwicklung von Microservices einfacher machen? Durch den Siegeszug der Microservices bekommen auch ihre Nachteile immer mehr Aufmerksamkeit – aus unserer vertrauten Anwendung wird plötzlich ein komplexes verteiltes System mit neuen Fehlerszenarien, ohne zentrale, gemeinsame Datenbank. Das Ganze muss zusammenspielen, ohne dass der Ausfall eines Teils das Gesamtsystem gefährdet. Und wir müssen all die Services auch noch in Produktion bringen und betreiben! Das Open-Source-Java-Framework Lagom (lagomframework.com) gibt einen Weg vor, skalierbare und ausfallsichere Systeme aus Microservices zu bauen, und orientiert sich dabei an Prinzipien des Domain-driven Designs. Mehr als andere Bibliotheken wurde es spezifisch für Microservices entwickelt. Es bietet Features wie typsichere Service Descriptors, eingebauten Service-Look-up und ein Persistenzframework für verteilte Datenhaltung mit Event Sourcing und CQRS. Dazu bietet es außerordentliche Entwickungsunterstützung, die es erlaubt, mit einem einzigen Kommando eine Vielzahl von Services lokal zu starten und Änderungen sofort, ohne Neustarts, wirksam werden zu lassen. Am Ende dieser Session sollten die Zuhörer/innen eine gute Vorstellung haben, was Lagom bringen kann, aber auch, worauf man sich bei der Verwendung einlässt.
Lutz Hühnken ist freiberuflicher Consultant, Trainer und Solutions Architect. Er arbeitet seit 1997 in der Softwareentwicklung und war in verschiedenen Rollen an der Realisierung von Webprojekten in unterschiedlichen Branchen beteiligt. Aktuell beschäftigt er sich vorrangig mit Reactive Systems – der Entwicklung von fehlertoleranten, skalierbaren, verteilten Systemen – mit Scala, Akka, Play und Lagom.