Interview mit Thomas Kruse

Frontend-Architektur für Microservices: „Es gibt nicht nur Nachteile bei einem monolithischen Ansatz“

Hartmut Schlosser

Thomas Kruse

Wie kann eine Frontend-Architektur für Microservices aussehen? Diesem Problem stellt sich Thomas Kruse in seinem Talk auf der W-JAX 2019. Im Interview gibt er erste Hinweise und beantwortet die Frage, mit welchen Architektur-Themen man sich sonst noch beschäftigen sollte.

JAXenter: Die Rolle des Software-Architekten kann verschiedentlich interpretiert werden: Technologieplaner, Change Manager, Chefentwickler, Projektkoordinator, Kommunikator, Kundenberater, etc. Worauf kommt es dir persönlich in deiner Rolle als Software-Architekt an?

Ein Architekt muss das Geschäft des Kunden besser verstehen, als der Kunde selbst.

Thomas Kruse: Ich denke, dass ein guter Softwarearchitekt tatsächlich von allem etwas mitbringen muss. In erster Linie muss ein Architekt das Geschäft des Kunden besser verstehen, als der Kunde selbst. Nur so lassen sich geeignete technische Loesungen auswählen, mit denen sowohl die aktuellen Anforderungen als auch vorhersehbare Änderungen umgesetzt werden können.

Dabei ist der Schritt dann nicht mehr weit, den Kunden auch dahingehend zu beraten, wie er seine Geschäftsprozesse optimiert oder sogar dank geeigneter Software völlig neue Prozesse oder Modelle anbieten kann.

In zweiter Linie finde ich es wichtig, dass man nicht ausschließlich seine Lieblingsarchitektur hat, sondern über ein breites Spektrum an Wissen und Erfahrung verfügt und unter Berücksichtigung aller Anforderungen und Rahmenbedingungen dann eine passende Auswahl treffen kann.

JAXenter: Welchen Trend in Sachen Software-Architektur findest du momentan besonders spannend?

Thomas Kruse: Der Trend zu Containern ist in meinen Augen eine Bewegung, die Auswirkungen auf unglaublich viele Bereiche nach sich zieht. Neben etablierten Technologien stehen dabei auch Organisationsstrukturen und etablierte Verfahrensweisen zur Diskussion. Das Potential, das Kubernetes bietet, liegt dabei natürlich auf der Hand. Auf der anderen Seite sollte man auch mit Bedacht vorgehen,. Nur um bei einem Trend dabei zu sein, aber dann doch eigentlich nichts ändern zu wollen, bringt aus meiner Sicht keine Vorteile und potentiell viel Frust und vergebene Energie. Dabei ist Kubernetes in der Tat bei vielen Firmen ein Wegbereiter zur Cloud und den damit verbundenen Chancen.

JAXenter: Welches Architekturthema außerhalb der Trends liegt dir besonders am Herzen und sollte deiner Meinung nach mehr Beachtung finden?

Thomas Kruse: Ich sehe oft, dass klassische Muster immer wieder Anwendung finden, die durch neue Optionen wie bspw. leistungsfähigere Hardware in Frage gestellt werden sollten. Ein Klassiker ist zum Beispiel die Verwendung von Batch-Jobs, weil auf Datenmengen im Gigabyte-Bereich gearbeitet wird – also Datenmengen, die locker in aktuellen Systemen auch im Hauptspeicher gehalten und performant verarbeitet werden könnten.

Frontend-Architektur für Microservices

JAXenter: Deine Session auf der W-JAX lautet Frontend-Architektur für Microservices. Dabei gehst du explizit auf Chancen ein, die sich dank des etablierten Web-Components-Standards ergeben. Welche Chancen gibt es da?

Es gibt nicht nur Nachteile bei einem monolithischen Ansatz.

Thomas Kruse: Der Vortrag liefert ein ganzes Buffet an Optionen, wie Webfrontends für eine Microservice-Architektur umgesetzt werden können. Ziel des Vortrages ist dabei vor allem, das Spektrum aufzuzeigen und nicht einen goldenen Hammer zu vermarkten. Webcomponents spielen für mich eine besondere Rolle, wenn es darum geht, wiederverwendbare Widgets oder Teilfunktionalität anzubieten, die nicht an ein spezifisches Framework gekoppelt ist.

Auch wenn der Tradeoff besteht, dass dann nicht unmittelbar Frameworkvorteile bei der Einbettung genutzt werden können, stellen Webcomponents einen guten Mittelweg dar, wenn Team, Projekt oder sogar unternehmensübergreifend Funktionalität wiederverwendet werden soll. Dabei ist es z.B. mit Angular Elements oder Polymer auch möglich, bei der Entwicklung der Komponenten auf ein Framework mit den entsprechenden Vorteilen zurückzugreifen.

JAXenter: Zum Schluss noch ein Take-away. Was ist deine Kernbotschaft, die die Leser – und natürlich die Teilnehmer deiner Session – mitnehmen sollten?

Thomas Kruse: Es gibt nicht nur Nachteile bei einem monolithischen Ansatz. Gerade wenn es um hochintegrierte Frontends geht, kann hier eine Architektur, die auf ein Modulsystem aufsetzt und im Backend Microservices nutzt, viele Vorteile sowohl für Entwickler als auch Anwender ausspielen.

Typischerweise ist ein Frontend eher nach fachlichen Aufgaben aufgeteilt und weist eine etwas gröbere Granularitaet auf, als dies bei Microservices möglich ist. Jedoch bieten sich dafür auch flexiblere Möglichkeiten zur (Re-)Integration an, wie zum Beispiel Hyperlinks. Mit der passenden Architektur merkt dabei ein Nutzer nicht einmal unbedingt, dass er die Anwendung wechselt.

JAXenter: Vielen Dank für dieses Interview!

Thomas Kruse begann seine Karriere 1998 als freiberuflicher Berater. Heute ist er Geschäftsführer der trion development GmbH und unterstützt Unternehmen als Architekt und Coach für Projekte, die Java-Technologien einsetzten. Sein Fokus liegt auf Java-basierten Webanwendungen, HTML5-Web-Frontends und Containertechnologien. In seiner Freizeit engagiert er sich für Open-Source-Projekte und organisiert die Java User Group und die Frontend Freunde in Münster.

Verwandte Themen:

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. #java #eclipse #devops #machinelearning #seo. Zum Lächeln bringen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: