Skalierbare Webentwicklung mit Microfrontends

Um den Anforderungen in einem sich schnell entwickelnden Marktumfeld gerecht zu werden und die Erwartungshaltung verschiedener Nutzergruppen erfüllen zu können, steigt der Bedarf an der Umsetzung komplexer Business-Anwendungen mithilfe moderner Webtechnologien stetig.

Genau aus diesem Grund ist auch das Interesse an Microservices in den letzten Jahren stark gewachsen. Sie helfen dabei, komplexe Anwendungen in kleinere beherrschbare Komponenten zu zerlegen. Dies ermöglicht eine stärkere Separation und damit ein agileres Vorgehen.

Mehr Flexibilität durch Microservices für Web-Frontends

Während im Backend Microservices bereits seit Jahren zum Standardinventar gehören, um die Parallelisierung der Entwicklung durch mehrere Teams, Diversität in den eingesetzten Technologien und die flexible Verwendung von Anwendungsbestandteilen zu erlauben, verfolgen Web-Frontends oft noch einen monolithischen Ansatz.

Aufgrund der steigenden Anwendungskomplexität, dem Wunsch nach der Integration verschiedener Anwendungsfälle in eine einzelne Endnutzerapplikation und wegen des schnelllebigen Technologie-Stacks empfiehlt sich auch im Frontend eine ähnliche Herangehensweise wie im Backend.

Abbildung 1: Aufteilung des Frontends in unterschiedliche Domänen und Teams

Doch worin liegt der große Vorteil der sogenannten Microfrontends? Den meisten Projekten, in denen ein komplexes Frontend entwickelt wird, liegt auch ein komplexes Backend zugrunde, wodurch ein sehr heterogenes Projekt-Setup entsteht. Aus diesem Grund wird die Arbeit durch nur ein Entwicklungsteam immer schwieriger und oft auf verschiedene Teams aufgeteilt. Ein monolithischer Ansatz der Frontend-Entwicklung wirkt sich oft, aufgrund der technischen Komplexität und Abhängigkeiten, negativ auf die Wartbarkeit des Systems aus. Microfrontends erlauben nun auch in der Webentwicklung eine Parallelisierung und Diversität, die im Backend schon lange zum Standard gehört.

Der Ansatz zielt darauf ab, das Frontend in unterschiedliche Domänen zu trennen. So kann dieses auch durch verschiedene Teams und mit unterschiedlichen technologischen Ansätzen entwickelt werden. Bei Erweiterungen oder Änderungen muss nicht das gesamte Frontend neu deployt werden, sondern es können einzelne Teile ausgetauscht werden. Ziel ist es, dass der User das Gefühl von nur einer performanten Anwendung bekommt, auch wenn dieses technisch auf verschiedenen Systemen aufbaut.

Vortrag zum Online-Campus

In unserem Vortrag vom ersten Online-Campus der ZEISS Digital Innovation sprechen wir darüber, für wen sich der Monolith vielleicht immer noch lohnt und wer sich eine Architektur basierend auf Microfrontends vielleicht genauer anschauen sollte. Dabei gehen wir auf unterschiedlich komplexe Projekt-Setups und deren Vor- und Nachteile ein. Wir zeigen auch, welche Webtechnologien es gibt, welche die passende Technologie für das eigene Projekt ist und welche Möglichkeiten der Umsetzung es gibt.