Alexandra Mendes
André Santos

06. August 2026

Min Read

Micro-Frontends: Was sie sind und wie Sie sie für Ihr Unternehmen nutzen

Frau am Schreibtisch mit zwei Monitoren beim Programmieren eines Micro-Frontends für ein IT-Unternehmen.

Eine Micro-Frontend-Architektur unterteilt eine Browser-Anwendung in unabhängig erstellte und bereitgestellte Segmente, für die jeweils ein einzelnes Team die vollständige Verantwortung trägt. Anstatt einer einzigen Codebasis, bei der jedes Team auf Änderungen warten muss, gibt es nun mehrere, die jedes Team über seine eigene Pipeline ausliefert. Das Frontend ist somit kein Flaschenhals mehr hinter einem Microservices-Backend.

Das ist das gesamte Versprechen. Es ist jedoch nicht umsonst. Sie gewinnen unabhängige Bereitstellungen, eine freie Technologiewahl pro Segment und kleinere Bundles; dafür übernehmen Sie eine gemeinsam zu wartende Plattform, ein Design-System, das teamübergreifend überwacht werden muss, und einen Koordinationsaufwand, den nur wenige Teams bewältigen können. Bei weniger als drei oder vier autonomen Teams übersteigen die Gemeinkosten in der Regel den Nutzen gegenüber dem Monolithen, den sie ersetzen.

Ist also die Frage, ob Micro-Frontends funktionieren? Nein. Die Frage ist, ob Ihre Organisation bereits an dem Punkt ist, an dem sie sich auszahlen. Dieser Beitrag erläutert, was ein Micro-Frontend ist, wie sich diese Architektur zu Microservices verhält, welche Vor- und Nachteile sich in der Praxis bei der Bereitstellung ergeben, welche Plattformkosten anfallen und einen Drei-Stufen-Check zur Einsatzbereitschaft, den Sie für Ihre eigene Infrastruktur durchführen können, bevor Sie sich entscheiden.

Was ist ein Micro Frontend?

Ein Micro Frontend besteht aus mehreren kleinen, autonomen und modularen Komponenten. Die Module sind in sich geschlossen und können auf anderen Seiten wiederverwendet werden. Sie können diese Komponenten in einer beliebigen Programmiersprache schreiben: JavaScript und JavaScript-Frameworks sind die gängige Wahl, aber alles, was sich kompilieren und in ein JavaScript-Bundle packen lässt, kann importiert und vom restlichen Frontend zusammengesetzt werden.

Stellen Sie sich ein Einkaufszentrum vor. Ein Dach, ein Eingang, ein Parkplatz, eine einheitliche Beschilderung, und hinter jeder Ladenfront richtet ein anderes Team seine eigene Fläche nach seinem eigenen Zeitplan ein. Die Kunden erleben einen einzigen Ort; die Geschäfte werden von denjenigen betrieben, die ihr Handwerk am besten verstehen.

In der Micro-Frontend-Architektur ist das genau die Anordnung. Sie zerlegen die monolithische Anwendung in kleinere Teile und programmieren, testen und implementieren jedes Fragment separat, sodass funktionsübergreifende Teams jede Komponente – von der Datenbank bis zur Benutzeroberfläche – unabhängig voneinander entwickeln können. Was die Übergänge verbirgt, sind die Shell und das gemeinsame Design-System: Die Shell rendert jeden Teilbereich zu einer einzigen Seite mit einer Navigation und einer Sitzung, und das Design-System sorgt für einheitliche Komponenten und ein konsistentes Styling.

Das Muster wurde benannt und katalogisiert unter micro-frontends.org, und das Team von Martin Fowler veröffentlichte den kanonischen Artikel über das Micro-Frontend-Muster, einschließlich der Integrationsstile, auf die wir weiter unten eingehen.

Bekannte Unternehmen, die Micro Frontends einsetzen

Hier sind einige bekannte Unternehmen, die Micro Frontends verwenden:

  • IKEA: ein europäischer Möbelhändler mit einer großen Online-Präsenz. Die Vorträge des Engineering-Teams über die Zusammensetzung von Seiten aus unabhängig verwalteten Fragmenten gehören zu den Referenzfällen, die auf micro-frontends.org gesammelt wurden.
  • DAZN: ein europäischer Sport-Streaming-Dienst, der in neun Ländern tätig ist. Luca Mezzalira – ehemaliger VP of Architecture bei DAZN und heute Principal Solutions Architect bei AWS – dokumentiert den Ansatz in seinem O'Reilly-Buch Building Micro-Frontends, das 2025 in einer zweiten Auflage erschien (Building Micro-Frontends: Distributed Systems for the Frontend).
  • Upwork: ein Freelancer-Netzwerk, das unabhängige Business-Profis auf der ganzen Welt miteinander verbindet.
  • Spotify: dieser Streaming-Anbieter setzte Desktop-Anwendungen aus unabhängig entwickelten Frontend-Teilen zusammen, die in einer Shell – der Host-Anwendung, die jedes Teil lädt und auf der Seite rendert – eingebettet waren. Später stellte Spotify seinen Desktop-Client aus Performance-Gründen von der Iframe-Komposition um. Ein nützlicher Hinweis: Die Entscheidung für dieses Muster lässt sich auch wieder rückgängig machen.
  • SoundCloud: eine europäische Plattform für Musik-Sharing und Audio-Distribution, die ein konsistentes Erlebnis über Web, Mobilgeräte und eingebettete Player hinweg bietet.

Betrachten Sie diese Liste als Beweis dafür, dass das Muster skalierbar ist, nicht als Grund für dessen Einführung. Jedes der aufgeführten Unternehmen beschäftigt Dutzende von Frontend-Teams. Genau darauf ist diese Architektur ausgelegt.

blue arrow to the left
Imaginary Cloud logo

Ein kurzer Überblick über die Micro-Frontend-Architektur

Das Ziel eines Micro-Frontends ist es, die Vorteile von Microservices für das Backend zu nutzen, ohne die Nachteile eines großen Frontend-Monolithen in Kauf nehmen zu müssen.

Um zu verstehen, warum das funktioniert, müssen wir zwei Dinge genau betrachten: Was Microservices auf der Serverseite tatsächlich verändert haben und was auf der Clientseite hartnäckig unverändert blieb. Wir haben beide Seiten dieser Grenze beim Umbau gesehen Eurofounds Frontend- und Backend-Integration, bei der ein modulares Backend immer noch auf ein einziges Frontend treffen musste.

Architektonische Evolution von der Monolith-Anwendung zu Micro-Frontends für Ihr Unternehmen.

Was ist eine Microservice-Architektur?

Microservice-Architektur ist ein Entwurfsmuster in der Backend-Entwicklung. Während eine monolithische Architektur als eine Einheit ausgeliefert wird, bestehen Microservices aus mehreren unabhängig voneinander bereitstellbaren Komponenten, die nach Geschäftsbereichen getrennt und über APIs verbunden sind.

Was das für ein Unternehmen bedeutet, ist weniger umfangreich, als die übliche Liste von Adjektiven vermuten lässt, und sollte klar benannt werden:

  • Eine Änderung ist ohne Warteschlange bereitstellbar. Ein Service geht in die Produktion, ohne dass alle anderen Services bereit sein müssen, sodass die Anzahl der Teams, die auf ein Release-Fenster warten, auf null sinkt.
  • Kapazität wird dort gekauft, wo sie verbraucht wird. Sie skalieren die beiden Services unter Last, anstatt die gesamte Anwendung, wodurch die Infrastrukturkosten den tatsächlichen Verbrauch statt der Lastspitzen widerspiegeln.
  • Ein Ausfall bleibt begrenzt. Wenn ein Service ausfällt, wird nur eine Funktion beeinträchtigt, anstatt das gesamte Produkt lahmzulegen, sodass sich der Wirkungsbereich eines Vorfalls auf die Größe der Änderung beschränkt, die ihn verursacht hat.
  • Technologieentscheidungen sind nicht mehr permanent. Jeder Service kann die für ihn passende Technologie nutzen, sodass der Austausch eines Services keine plattformweite Entscheidung erfordert.

Genau diese vier Eigenschaften besitzt ein Frontend-Monolith nicht, egal wie modern das dahinterliegende Backend ist. Unser Leitfaden zur Softwarearchitektur zeigt auf, wie sich diese Abwägung bei unterschiedlichen Teamgrößen verhält.

Warum ist ein Frontend-Monolith für Microservices ungeeignet?

Ein Frontend-Monolith ist die Client-Seite einer Webanwendung, die aus einer einzigen Codebasis erstellt wurde. Viele Produkte nutzen diesen Ansatz noch immer, selbst wenn ihr Backend bereits vollständig dekomponiert ist. Die Serverseite ist modular, das Frontend bleibt ein Ganzes.

Für ein oder zwei Teams ist das die richtige Struktur. Ehrlich gesagt ist sie meistens sogar länger die richtige Struktur, als man vermuten würde. Die Probleme treten erst auf, wenn die Anzahl der Teams, die an dieser Codebasis arbeiten, wächst. Sie sind spezifisch genug, um sie zu identifizieren:

  • Release-Konflikte. Da alle Teams dieselbe Pipeline nutzen, erfolgt ein Release erst, wenn die langsamste Änderung darin fertig ist. Der fehlschlagende Test eines Teams blockiert die fertige Arbeit aller anderen.
  • Warteschlangen vor Änderungen. Eine kleine Frontend-Änderung wartet auf die Überprüfung durch Personen, die für andere Teile der Codebasis zuständig sind, und dann auf den nächsten Release-Zyklus. Die eigentliche Arbeit dauert Stunden. Die Durchlaufzeit beträgt Wochen.
  • Auswirkungsradius. Eine Regression an einer beliebigen Stelle in einem gemeinsamen Bundle kann alle darin enthaltenen Funktionen lahmlegen. Daher birgt jedes Deployment das Risiko für das gesamte Frontend statt nur für eine einzelne Änderung.
  • Kopplung, die die Entscheidung überdauert. Framework- und Abhängigkeitsversionen werden geteilt, sodass ein Upgrade zu einem produktweiten Projekt wird, aufgeschoben wird und schließlich in eine Migration mündet – die schleichende Anhäufung von technischen Schulden, die niemand abbauen kann.

Ein Frontend-Monolith schränkt also die unabhängige Bereitstellung ein, die man eigentlich durch Microservices erreichen wollte. Genau diese Lücke schließen Micro-Frontends. Man muss jedoch offen aussprechen, worin diese Lücke besteht: Sie ist organisatorischer Natur. Wenn die Verzögerung in der Review-Kultur oder in einem Change-Board begründet liegt und nicht in der Codebasis, wird eine Aufteilung des Codes das Problem nicht lösen.

Unabhängiges Deployment hilft nur, wenn der dahinterstehende Bereitstellungsprozess diszipliniert ist. Genau hier haben die besten agilen Praktiken ihren Platz.

Illustration einer Frau mit Planungskarten und Text zu 18 besten agilen Praktiken in der Dev.
blue arrow to the left
Imaginary Cloud logo

Warum ein Micro-Frontend nutzen?

Mit einem Micro-Frontend können Unternehmen:

  • Ein konsistentes Nutzererlebnis über verschiedene Geräte und Drittplattformen hinweg bieten. Jeder Teilbereich wird in dieselbe Shell integriert, sodass Navigation, Sitzungsverwaltung und Design-Tokens – also die gemeinsamen Werte für Farben, Typografie und Abstände – überall gleich funktionieren. Der entscheidende Mechanismus sind die Shell und das Design-System, nicht die Aufteilung selbst. Deshalb benötigen beide von Anfang an einen festen Verantwortlichen.
  • Wartezeiten bei Frontend-Änderungen verkürzen. Ein Team, das für einen Teilbereich verantwortlich ist, kann diesen veröffentlichen, ohne auf einen gemeinsamen Release-Zyklus warten zu müssen. Änderungen gehen also live, sobald sie fertig sind, und nicht erst, wenn der nächste Release-Termin ansteht. Die Effizienzgewinne zeigen sich in der Durchlaufzeit, nicht in der Anzahl der Entwickler.
  • Die Produktoberfläche skalieren, ohne alles neu schreiben zu müssen. Neue Funktionen werden als eigenständige Teilbereiche hinzugefügt, anstatt bestehende Codebasen anzupassen. Dadurch ist die Leistungsfähigkeit des Produkts nicht mehr durch die Kapazität einer einzelnen Frontend-Codebasis begrenzt.
Übergreifende End-to-End-Teams verwalten separate Produktfeatures in einer Micro-Frontend-Architektur.

Dieser Ansatz eignet sich für Teams, die im Backend bereits unabhängig voneinander arbeiten. Die Vorteile sind spürbar, doch wie im nächsten Abschnitt erläutert, ist jeder von ihnen mit einem gewissen Aufwand verbunden.

blue arrow to the left
Imaginary Cloud logo

Die Vorteile von Micro Frontends

Die Liste der veröffentlichten Vorteile dieser Architektur ist lang. In der Praxis lassen sie sich auf vier Kernpunkte reduzieren, jeweils mit dem zugrunde liegenden Mechanismus und der notwendigen Voraussetzung.

  • End-to-End-Verantwortung. Ein Team betreut einen Bereich von der Konzeption über die Veröffentlichung bis hin zum Support in der Produktion. Genau das eliminiert den Koordinationsaufwand – nicht die bloße Aufteilung des Codes. Mehrere Teams können so parallel am selben Produkt arbeiten, ohne den hohen Abstimmungsbedarf einer gemeinsamen Codebasis. Die Voraussetzung dafür ist echte Autonomie: Ein Team, das für jeden Schritt eine externe Freigabe benötigt, profitiert nicht davon.
  • Unabhängige Bereitstellung und die daraus resultierende Release-Geschwindigkeit. Jeder Bereich verfügt über eine eigene Pipeline. So gelangen Funktionen in die Produktion, ohne dass alle anderen Teams bereit sein müssen, und ein Rollback betrifft nur einen Teilbereich statt des gesamten Frontends. Dies ist der entscheidende Vorteil, der die Architektur rechtfertigt. Er ist zudem derjenige, der gemessen werden sollte.
  • Überschaubare Codebasen. Ein monolithisches Frontend wird mit der Zeit unstrukturiert, da kein Team mehr den Überblick behalten kann. Wenn jeder Bereich für ein Team verständlich bleibt, führt dies zu saubererem Code und einfacheren Tests – beides Folgen der geringeren Größe und keine inhärenten Eigenschaften des Musters selbst. Die Kehrseite ist, dass das Testen des Gesamtprodukts komplexer wird, was im nächsten Abschnitt behandelt wird.
  • Technologiewahl pro Bereich, inklusive der Freiheit zur Migration. Verschiedene Bereiche können unterschiedliche Frameworks und Versionen nutzen. So ist kein Teil des Produkts über die gesamte Lebensdauer der Anwendung an eine veraltete Technologie gebunden, und Upgrades können zunächst in einem Bereich erprobt werden, bevor sie ausgerollt werden. Bei der Bundle-Größe gibt es zwei Seiten: Der Browser lädt nur den Code, den die jeweilige Seite benötigt. Wenn jedoch jeder Bereich sein eigenes Framework mitliefert, kann die Gesamtgröße die eines Monolithen übersteigen. Verwalten Sie gemeinsame Abhängigkeiten daher bewusst.
blue arrow to the left
Imaginary Cloud logo

Was Sie ein Micro-Frontend kostet

Die Kosten entsprechen denselben vier Eigenschaften, nur aus einer anderen Perspektive betrachtet. Keine davon ist ein Grund, diese Architektur zu meiden. Aber für alle braucht es einen Verantwortlichen, bevor Sie beginnen.

  • Das zusammengesetzte Produkt muss als Ganzes getestet werden. Jeder Teilbereich lässt sich isoliert einwandfrei testen. Um jedoch sicherzustellen, dass sie über unabhängige Pipelines hinweg reibungslos zusammenarbeiten, ist eine End-to-End-Testsuite und eine verantwortliche Person erforderlich – andernfalls treten Integrationsprobleme erst in der Produktion auf.
  • Mehr bewegliche Teile bei der Bereitstellung. Ein verteiltes Frontend bedeutet mehr Pipelines, mehr Abhängigkeiten zwischen den Teilbereichen und mehr Möglichkeiten, das Gesamtsystem fehlerhaft zusammenzusetzen. Mit der Anzahl der Teilbereiche wächst auch der Aufwand, den Überblick über die Abhängigkeiten zu behalten, um eine sichere Bereitstellung zu gewährleisten.
  • Konsistenz ist kein Selbstläufer mehr. Unterschiedliche Frameworks in den verschiedenen Teilbereichen können zu einem uneinheitlichen Tech-Stack, schwankender Performance und einer Benutzeroberfläche führen, die sich von einem Produktbereich zum nächsten sichtbar unterscheidet. Zurück zum Einkaufszentrum: Ohne einheitliche Beschilderung und klare Richtlinien für die Vermietung erhalten Sie nur eine Aneinanderreihung von Läden statt eines attraktiven Gesamtziels.
  • Fixkosten für die Plattform. Die Shell, die Kompositionsschicht, das Design-System und die End-to-End-Testsuite müssen nicht nur entwickelt, sondern auch kontinuierlich gewartet werden – ebenso wie die Managementkapazitäten, um mehrere Teams zu koordinieren. Diese Kosten fallen bereits vor der Auslieferung des ersten Teilbereichs an und enden auch nach dem Launch nicht.
blue arrow to the left
Imaginary Cloud logo

Micro-Frontends vs. Monolith: Ein direkter Vergleich

Die beiden Architekturen lösen unterschiedliche Probleme. Hier ist der Vergleich auf einen Blick – betrachten Sie ihn als Entscheidungshilfe für die Frage „Welche Einschränkungen liegen bei mir tatsächlich vor?“ und nicht als Bewertung, was besser ist.

DimensionMonolithisches FrontendMicro-Frontend
CodebasisEin gemeinsames Repository, an dem alle arbeitenMehrere unabhängig verwaltete Abschnitte
Bereitstellung (Deployment)Eine gemeinsame Pipeline / Release TrainPipeline pro Abschnitt, Bereitstellung bei Bedarf
Eignung für TeamsEin bis zwei TeamsDrei, vier oder mehr autonome Teams
Release-FrequenzAbhängig von der langsamsten Änderung im PaketJeder Abschnitt wird veröffentlicht, sobald er fertig ist
Schadensradius (Blast Radius)Ein Fehler (Regression) kann das gesamte Frontend lahmlegenAuf einen einzelnen Abschnitt beschränkt
TechnologieGemeinsames Framework und Versionen; ein Upgrade ist ein projektweites UnterfangenFreie Wahl pro Abschnitt; ein Upgrade wird zuerst an einem Abschnitt erprobt
Bundle-GrößeEin einzelnes Paket, keine DuplizierungNur der Code, den eine Seite benötigt – jedoch Risiko doppelter Framework-Kopien
TestenEinfachere End-to-End-Tests: eine Gesamteinheit zu testenAbschnitte werden isoliert getestet; das zusammengesetzte Produkt benötigt eine eigene E2E-Testsuite
Laufende PlattformkostenKeine über die Anwendung selbst hinausShell + Komposition + Design System + E2E-Testsuite (≈ ein Entwickler plus ein Verantwortlicher für das Design System)
Ideal wennRelease-Engpässe nicht Ihr Hauptproblem sindMehrere autonome Teams Schlange stehen, um dieselbe Codebasis bereitzustellen
blue arrow to the left
Imaginary Cloud logo

Was kostet ein Micro Frontend und wann amortisiert es sich?

Die wirtschaftliche Entscheidung ist ein Abwägen zwischen Koordinationsaufwand und Liefergeschwindigkeit, das sich erst ab einer gewissen Größenordnung rechnet. Die folgenden Zahlen sind eher als Richtwerte zu verstehen. Die Art der Abwägung ist wichtiger als die konkreten Zahlen.

  • Die Schwelle bei der Teamgröße. Unter drei oder vier autonomen Frontend-Teams sind Micro Frontends in der Regel ein Verlustgeschäft: Der Plattformaufwand und die teamübergreifende Koordination kosten mehr, als durch die Entschärfung von Release-Konflikten eingespart wird. Ein einzelnes Team erhält ein verteiltes System ohne jeglichen organisatorischen Nutzen.
  • Plattform- und Koordinationsaufwand. Rechnen Sie mit laufenden Kosten für die Shell, das gemeinsame Design-System, die Kompositionsschicht und die End-to-End-Testsuite. Bei den Projekten, die wir sehen, entspricht dies in etwa der kontinuierlichen Kapazität eines Entwicklers plus eines Verantwortlichen für das Design-System – und dieser Aufwand entfällt auch nach dem Launch nicht.
  • Wo sich der Nutzen zeigt. Der Gewinn liegt in der Unabhängigkeit bei der Bereitstellung. Messen Sie ihn daher an der Zykluszeit und der Release-Frequenz, nicht an eingespartem Personal. Teams, die von einem gemeinsamen zweiwöchigen Release-Zyklus auf eine eigene Pipeline umsteigen, verzeichnen die größten Veränderungen. Teams, die bereits täglich releasen, bemerken kaum einen Unterschied.
  • Vorgehensweise. Die Migration eines bestehenden Monolithen Stück für Stück hinter einer Shell ist der risikoarme Weg, der eher Quartale als Sprints in Anspruch nimmt. Ein kompletter Rewrite in einem Schritt birgt die gleichen Risiken wie jeder andere Rewrite auch.
  • Fehlermodi, die ein Rollback erzwingen. Drei davon treten immer wieder auf: doppelte Framework-Payloads, die die Seite langsamer machen als den ursprünglichen Monolithen; ein Design-System, für das sich niemand verantwortlich fühlt, wodurch das UI zwischen den einzelnen Teilen sichtbar auseinanderdriftet; und Versionskonflikte, bei denen Teile inkompatible Versionen einer gemeinsamen Abhängigkeit oder Schnittstelle verwenden, was meist erst auffällt, wenn sie gemeinsam in der Produktion bereitgestellt werden. Jedes dieser Probleme ist eher organisatorischer als technischer Natur, weshalb sich der folgende Check zur Einsatzbereitschaft auch auf die Organisation konzentriert.
blue arrow to the left
Imaginary Cloud logo

Wann man Micro Frontends einsetzen sollte

Micro-Frontend-Architekturen bieten echte Vorteile, sind aber keine Universallösung. Nicht jede Webanwendung eignet sich für diesen Ansatz, und die entscheidenden Faktoren sind ebenso organisatorischer wie technischer Natur.

Der Drei-Stufen-Check zur Einsatzbereitschaft

Bevor wir uns für Micro Frontends entscheiden, durchläuft ein Projekt drei Prüfphasen. Besteht es eine davon nicht, ist der Monolith weiterhin die bessere Wahl – wobei die jeweilige Hürde als erste Aufgabe definiert ist.

  • Anzahl und Autonomie der Teams. Gibt es mindestens drei oder vier Frontend-Teams, die jeweils ohne die Zustimmung eines anderen Teams releasen können? Wenn Release-Entscheidungen immer noch über eine einzige Führungskraft oder ein Change-Board laufen, beseitigt die Architektur einen Engpass, der gar nicht die Ursache der Verzögerung ist.
  • Domänentrennung. Lässt sich das Produkt in in sich geschlossene Vertikale mit klaren Grenzen unterteilen, sodass ein Bereich seine Daten und seine UI durchgängig eigenständig verwalten kann? Ein modulares ERP-System (Finanzen, CRM, Personalwesen, Lagerhaltung) lässt sich sauber trennen. Ein einzelner, komplexer Workflow, an dem jedes Team arbeitet, hingegen nicht.
  • Reifegrad der Bereitstellung. Kann jedes Team bei Bedarf hinter Feature-Flags bereitstellen – also Schaltern, mit denen Änderungen deaktiviert ausgeliefert und später aktiviert werden können – inklusive Monitoring und eigenem Rollback-Pfad? Micro Frontends vervielfachen die Anzahl unabhängiger Deployments; ein Bereitstellungsprozess, der bei einer Pipeline instabil ist, wird bei acht Pipelines nur noch problematischer.

Zwei weitere Rahmenbedingungen sind ebenfalls wichtig. Unterschiedliche Technologie-Stacks für verschiedene Module sollten eine echte Anforderung und keine bloße Präferenz sein, und das Budget muss die oben genannten laufenden Plattformkosten decken können.

Wenn Sie unsicher sind, ob Micro Frontends für Ihr Projekt geeignet sind, gehen Sie die drei Prüfphasen mit jemandem durch, der eine solche Migration bereits durchgeführt hat. Letztlich hängt es von den Besonderheiten Ihres Geschäftsplans ab und nicht von den abstrakten Vorzügen der Architektur.

Web- & Mobile-Entwicklungsbanner mit isometrischem Monitor und Smartphone-App mit React-Logo.
blue arrow to the left
Imaginary Cloud logo

Was die Slices zusammenhält: Routing, State und Authentifizierung

Das Frontend aufzuteilen ist der einfache Teil. Ob das Ergebnis als Ganzes funktioniert, hängt von vier Bereichen ab, für die kein einzelner Slice zuständig ist. Für jeden dieser Bereiche muss vor der ersten Migration eine Entscheidung getroffen werden, nicht erst danach.

  • Routing. Die Shell verwaltet die Top-Level-Routen und übergibt die passende URL an den zuständigen Slice; der Slice ist für alles unterhalb dieses Pfads verantwortlich. Wenn diese Grenze falsch gezogen wird, enden Sie mit zwei konkurrierenden Routern und einer Zurück-Taste, die sich in verschiedenen Teilen des Produkts unterschiedlich verhält.
  • Shared State und Session. Halten Sie die gemeinsame Schnittstelle so klein wie möglich: Wer ist der Benutzer, welche Berechtigungen hat er, in welchem Tenant oder welcher Region befindet er sich? Alles andere gehört zu dem Slice, der die Daten verwaltet. Slices, die den internen Status anderer Slices auslesen, bauen stillschweigend genau die Kopplung wieder auf, die Sie durch die Aufteilung eigentlich beseitigen wollten.
  • Authentifizierung. Authentifizieren Sie sich einmal in der Shell und übergeben Sie dann ein Token, das die Slices gegen die API validieren. Slices, die jeweils ihren eigenen Login-Prozess mitbringen, erzeugen genau die Brüche, die Benutzer als Erstes bemerken.
  • Governance für Design-Systeme. Gemeinsam genutzte Komponenten benötigen eine Versionsrichtlinie, einen Prozess für die Deprecation und einen Verantwortlichen mit der Befugnis, auch einmal Nein zu sagen. Ohne dies erstellt jeder Slice eine eigene Kopie der benötigten Komponente, und das Interface driftet innerhalb eines Quartals auseinander.

Utility-Komponenten, die den Status verwalten oder mit der Anwendungsumgebung kommunizieren, anstatt UI-Elemente zu rendern, können wie jeder andere Slice bei Bedarf geladen werden. Da sie meist kein UI besitzen, werden sie bei der Festlegung der Zuständigkeiten leicht übersehen.

Wie implementiert man ein Micro-Frontend?

Sie können Micro-Frontends auf zwei Arten integrieren: zur Build-Zeit oder zur Laufzeit.

Integration zur Build-Zeit: Slices als Bibliotheken installiert

Der Container installiert jeden Slice als Bibliothek, ähnlich wie Sie ein Paket aus dem npm-Registry für Node.js installieren würden. So wird heute der Großteil des Codes geschrieben, und es ist die einfachste funktionierende Lösung.

Die Nachteile sind der Grund, warum die meisten Teams diesen Ansatz hinter sich lassen. Mehrere Versionen gemeinsam genutzter Bibliotheken müssen synchron gehalten werden, was bei Versäumnissen zu Build-Problemen führt. Die Kombination verschiedener Technologien ist schwierig. Das finale Paket enthält sämtliche Abhängigkeiten und ist daher sehr groß. Da jede Änderung an einer Abhängigkeit ein erneutes Build und Deployment des Containers erfordert, bleiben der Container und alle seine Slices eng miteinander gekoppelt. Genau diese Kopplung soll durch die Architektur jedoch vermieden werden.

Integration zur Laufzeit: Server-, Edge- und Client-Komposition

Bei der Laufzeit-Integration wird die Seite aus unabhängig bereitgestellten Slices zusammengesetzt, während sie ausgeliefert wird oder nachdem sie geladen wurde. Dadurch kann ein Slice veröffentlicht werden, ohne den Container neu zu bauen. Es gibt drei Arten der Komposition:

  • Serverseitige Komposition. Das Backend bestimmt, welcher Slice wann geladen wird, wobei URLs festlegen, wie der Server Anfragen weiterleitet.
  • Edge-seitige Komposition. Die Orchestrierung erfolgt über das Content Delivery Network (CDN), das verteilte Netzwerk von Servern zwischen Ihrem Ursprungsserver und dem Benutzer. Die Edge setzt Seiten zusammen und liefert statische Inhalte aus, wodurch sie Aufgaben übernimmt, die sonst der Ursprungsserver erledigen müsste.
  • Clientseitige Komposition. Ein Container im Browser entscheidet, welche Version des jeweiligen Slices geladen werden soll, da Container und Slices separat bereitgestellt werden, und fordert jeden Slice bei Bedarf an. Dies ist die gängigste Option. Das übliche Werkzeug hierfür ist Module Federation – mittlerweile in Version 2 verfügbar und in Webpack 5 sowie Rspack enthalten –, das Slices zur Laufzeit von Remote-Endpunkten lädt. Next.js ist die erwähnenswerte, schwierige Ausnahme: das Community- @module-federation/nextjs-mf Plugin unterstützte immer nur den älteren Pages Router, niemals den standardmäßigen App Router, und die Betreuer haben es für ein Ende des Lebenszyklus um Ende 2026 markiert. Für App-Router-Projekte ist das offizielle @vercel/microfrontends Paket – das auf einem Multi-Zones-Modell statt auf dem Zusammenfügen von Chunks zur Laufzeit basiert – nun der unterstützte Weg. single-spa bleibt die wichtigste Alternative, wenn Slices mit unterschiedlichen Frameworks erstellt werden.

Häufig gestellte Fragen

Was ist ein Micro Frontend in einfachen Worten?

Ein Micro Frontend ist ein Teilbereich der Benutzeroberfläche einer Webanwendung, der vom zuständigen Team eigenständig entwickelt und bereitgestellt wird. Anstatt einer einzigen Frontend-Codebasis, an der alle arbeiten, wird die Seite zur Build-Zeit oder direkt im Browser aus mehreren unabhängigen Teilen zusammengesetzt. Jedes Team kann seine Änderungen veröffentlichen, ohne auf andere warten zu müssen.

Micro Frontend vs. Monolith: Was sollten wir wählen?

Wählen Sie den Monolithen, es sei denn, Release-Konflikte sind Ihr tatsächlicher Engpass. Eine einzelne Frontend-Codebasis ist einfacher zu erstellen, zu testen und zu verstehen, und sie bleibt die richtige Lösung für ein oder zwei Teams. Micro Frontends lohnen sich erst, wenn mehrere autonome Teams darauf warten, dieselbe Codebasis bereitzustellen, und nicht der Code, sondern die Warteschlange Sie ausbremst.

Wie hoch sind die Betriebskosten für ein Micro Frontend?

Neben den Teams selbst sollten Sie ein Budget für die Plattforminfrastruktur einplanen: die Shell, die Kompositionsschicht, ein gemeinsames Design-System und eine End-to-End-Testsuite. Bei den Projekten, die wir sehen, entspricht dies etwa der kontinuierlichen Kapazität eines Entwicklers plus einer Person für das Design-System, und dieser Aufwand bleibt auch nach dem Launch bestehen. Die Einsparung, die dies ausgleicht, ist die Durchlaufzeit, nicht die Anzahl der Mitarbeiter.

Wie viele Teams braucht man, damit sich Micro Frontends auszahlen?

Drei bis vier autonome Frontend-Teams sind in der Regel die Schwelle, wobei Autonomie wichtiger ist als die reine Anzahl. Wenn jedes Release weiterhin über einen Lead oder ein Change-Board läuft, beseitigt die Aufteilung des Frontends einen Engpass, der gar nicht das eigentliche Problem war. Ein einzelnes Team, das Micro Frontends einführt, erhält die Betriebskosten eines verteilten Systems ohne jeglichen organisatorischen Nutzen.

Was sind die größten Fehler bei Micro Frontends?

Drei Fehler treten immer wieder auf: Das Ausliefern einer eigenen Framework-Kopie mit jedem Teilbereich, wodurch die Seite langsamer wird als der Monolith, den sie ersetzt hat. Das Design-System nicht zu pflegen, sodass die Benutzeroberfläche zwischen den Bereichen sichtbar auseinanderdriftet. Und das Zulassen unterschiedlicher Versionen in unabhängig bereitgestellten Bereichen, was erst in der Produktion auffällt. Alle drei sind eher Governance-Fehler als technische Probleme.

Verlangsamen Micro Frontends das Laden der Seite?

Das kann in beide Richtungen gehen. Die Aufteilung der Anwendung bedeutet, dass der Browser nur den Code lädt, den eine Seite tatsächlich benötigt, was hilft. Doppelte Abhängigkeiten in den verschiedenen Bereichen wirken jedoch in die entgegengesetzte Richtung und können die Gesamtgröße des Payloads erhöhen. Welcher Effekt überwiegt, hängt davon ab, ob gemeinsame Abhängigkeiten gezielt verwaltet werden. Messen Sie daher die Seitengeschwindigkeit pro Release, anstatt Annahmen zu treffen.

Kann man schrittweise zu Micro Frontends migrieren?

Ja, und das ist der risikoärmere Weg. Setzen Sie eine Shell vor den bestehenden Monolithen, lösen Sie einen vertikalen Bereich mit klaren Grenzen heraus und übertragen Sie die vollständige Verantwortung dafür an ein Team. Jeder weitere Bereich folgt demselben Muster. Planen Sie für die Migration eher Quartale als Sprints ein und halten Sie sich die Option offen, den Prozess jederzeit zu stoppen.

Fazit

Micro-Frontends bieten dem Frontend das, was Microservices dem Backend gebracht haben: unabhängige Bereitstellung durch den Tausch von Koordinationsaufwand gegen Liefergeschwindigkeit. Dieser Tausch lohnt sich erst bei entsprechender Skalierung: Die Plattform verursacht laufende Kosten und die Fehlerquellen sind eher organisatorischer als technischer Natur. Prüfen Sie daher zuerst die drei Voraussetzungen: Teamgröße und Autonomie, Domänentrennung sowie Reifegrad der Bereitstellung. Wenn eine davon nicht erfüllt ist, ist deren Behebung die wertvollere Aufgabe, und der Monolith bleibt vorerst die bessere Lösung.

Wir haben sowohl Micro-Frontends als auch Monolithen entwickelt, gewartet und migriert. Gerne begleiten wir Ihre Systemlandschaft durch diese drei Prüfschritte – auch wenn das Ergebnis lautet, alles beim Alten zu belassen. Kontaktieren Sie uns und wir schauen uns das gemeinsam an.

Alexandra Mendes
Alexandra Mendes

Alexandra Mendes ist Senior Growth Specialist bei Imaginary Cloud und verfügt über mehr als 3 Jahre Erfahrung in der Erstellung von Texten über Softwareentwicklung, KI und digitale Transformation. Nach Abschluss eines Frontend-Entwicklungskurses erwarb Alexandra einige praktische Programmierkenntnisse und arbeitet nun eng mit technischen Teams zusammen. Alexandra ist begeistert davon, wie neue Technologien Wirtschaft und Gesellschaft prägen. Sie liebt es, komplexe Themen in klare, hilfreiche Inhalte für Entscheidungsträger umzuwandeln.

LinkedIn

Read more posts by this author
André Santos
André Santos

Ein ganz normaler Webentwickler, der sich gerne im Backend versteckt. Javascript und Ruby sind mein Ding. Ich tue mich noch schwer mit Docker und meine Builds gehen ziemlich oft kaputt.

Read more posts by this author

People who read this post, also found these interesting:

Dropdown caret icon