Micro Frontends

Die Komplexität und Architektur von Webanwendungen kann heute sehr hoch sein. Umso wichtiger ist es, dass diese aus organisatorischer Sicht beherrschbar bleiben.

Eine Lösung hierfür sind Micro Frontends. Sie gruppieren einen zusammengehörigen Kontext vertikal, also von der Präsentationsschicht im Frontend bis hin zur Persistenz in der Datenbank. Dabei ist in der Regel ein Team für die Umsetzung einer dieser funktionalen Einheiten verantwortlich. So können mehrere autonome Teams parallel an der Webanwendung arbeiten.

Micro Frontends haben viele Ähnlichkeiten zu Micro Services, fokussieren aber das Frontend, nicht die Serverseite. Dabei gilt es, zwei Dinge besonders zu betrachten: Die Organisation der Teams und die Architektur der Frontend-Applikation.

Bei der Organisation ist es wichtig, einen sauberen fachlichen Schnitt zwischen den funktionalen Aspekten zu erreichen, sodass ein Team zu jeder Zeit unabhängig von den Features entwickeln und eine neue Version releasen kann. Für den Betrieb stehen uns hierzu Experten aus IT Operations (ITO) zur Seite, die die Verfügbarkeit der Services gewährleisten. Und genau das funktioniert bei großen Anwendungen mit Micro Frontends einfacher, als in einem Szenario mit monolithischem Ansatz: Die Architektur ermöglicht die Entwicklung fachlich entkoppelter Use Cases mit Hilfe polyglotter Technologien. So können die einzelnen Features mit jeweils unterschiedlichen Technologien umgesetzt werden.

Teams arbeiten größtenteils nur noch an in sich abgeschlossenen, also fachlich entkoppelten Teilen der Anwendung. Die Integration der einzelnen Frontend-Applikationen erfolgt in einem separaten Schritt und fasst die einzelnen Applikationen so zusammen, dass aus Benutzersicht eine Anwendung entsteht.

Zusammenfassend lässt sich festhalten: Micro Frontends reduzieren die Komplexität des großen Ganzen, indem fachlich stark zusammenhängende Use Cases gruppiert werden. Das ist die Grundlage für unabhängige Releases und die Basis für bessere Austauschbarkeit in der Zukunft.

Wie können wir Sie unterstützen?

Tobias Joch

Head of Application Development