Entwicklung & Code
Warum viele Teams mit Monolithen besser fahren als mit Micro-Frontends
Softwarearchitektur kennt Moden und Gegenbewegungen. Frontends in winzige unabhängige Teile zu zerschneiden, galt in den letzten Jahren als modern: Micro-Frontends und Microservices. Heute zeigt sich: Der Ansatz bleibt wertvoll. Aber nur dort, wo er die organisatorische Realität tatsächlich abbildet. Für viele kleine bis mittlere Teams ist ein modularer Monolith oft die robustere Startarchitektur.

Nicolai Wolko ist Softwarearchitekt, Consultant und Mitgründer der WBK Consulting AG. Er unterstützt Unternehmen bei komplexen Web- und Cloudprojekten und wirkt als Sparringspartner sowie Gutachter für CTOs. Fachbeiträge zur modernen Softwarearchitektur veröffentlicht er regelmäßig in Fachmedien und auf seinem Blog.
State of Frontend
Die internationale Umfrage State of Frontend des Unternehmens The Software House zeigt eine klare Bewegung: 2022 gaben 75,4 Prozent der Befragten an, Micro‑Frontends zu nutzen. 2024 waren es nur noch 23,6 Prozent. Das klingt auf den ersten Blick dramatisch, ist aber kein Tod der Idee. Der Rückgang zeigt, dass viele Teams Micro-Frontends nicht mehr als Standardlösung betrachten, sondern selektiv dort einsetzen, wo organisatorische oder architektonische Gründe es rechtfertigen. Denn parallel dazu steigt die Popularität von Module Federation, und zwar nicht nur für Micro‑Frontends: 2024 berichten 51,8 Prozent die Nutzung, oft auch in monolithischen Anwendungen, um Teile unabhängig zu aktualisieren. Das stützt die These einer Konsolidierung auf weniger Deployment-Einheiten bei weiterhin modularer Struktur.
Bemerkenswert ist, dass auch KI Microservices favorisiert: Fragt man ChatGPT ohne Kontext nach Architekturmustern, empfiehlt es fast immer Microservices und oft auch Micro-Frontends. Das ist kein Indiz für universelle Richtigkeit, sondern für den Hype-Bias in den Trainingsdaten. Ohne fachliche Einordnung bleibt es eine Wahrscheinlichkeitsaussage und ersetzt nicht die Analyse eines erfahrenen Architekten oder einer erfahrenen Architektin.
Warum der Micro-Frontend-Hype abkühlt
Micro-Frontends entstanden als Analogie zu Microservices und erfreuen sich nicht ohne Grund großer Beliebtheit. Die Idee besteht darin, schwerfällige SPAs oder Webportale in kleine, autonome Apps aufzuteilen. Jedes Team kann sein Stück mit dem Lieblingsframework entwickeln und unabhängig deployen. Das reduziert den Koordinationsaufwand, vermeidet monolithische Rebuilds und erlaubt, Teile des Frontends asynchron zu laden.
In der Praxis führt diese Freiheit jedoch auch oft zu neuen Problemen: Mehrere Frameworks oder UI-Bibliotheken erhöhen die Downloadgröße und verlängern die Time to Interactive, globale Stores oder Shells schaffen den berüchtigten Hidden Monolith oder verteilten Monolithen, in dem Micro-Apps weiterhin denselben Zustand teilen, und zusätzliche Deployments erzeugen Overhead bei CI/CD, Feature Flags und Versionierung.
Micro‑Frontends eignen sich, wenn wirklich unabhängige Teams und heterogene Stacks aufeinandertreffen, etwa bei Tech‑Riesen wie Amazon oder Spotify. In sehr vielen Projekten erzeugt die zusätzliche Orchestrierung jedoch mehr Probleme, als sie löst und sorgt schnell für komplexe Builds und längere Ladezeiten. Gerade bei kleineren Teams und klar abgegrenzten Produkten übersteigt der Aufwand den Nutzen, und die erhoffte Entkopplung bleibt aus. Oft entsteht faktisch ein verteilter Monolith mit zahlreichen Teilprojekten, die doch nur gemeinsam leben können. Eine fatale Entwicklung, denn der verteilte Monolith vereint oft die schlechtesten Eigenschaften beider Welten in sich.
Monolith vs. Microservices vs. Serverless
Die Debatte über Monolithen und Microservices krankt oft daran, dass Begriffe nicht klar sind. Ein Beitrag auf dem Dev-Details-Blog erläutert anschaulich, dass die Einordnung nicht von der Anzahl der Repositories, Container oder Teams abhängt:
- Ein Monolith entsteht, wenn mehrere Teile so eng gekoppelt sind, dass sie nur gemeinsam deployt werden können.
- Microservices wiederum zeichnen sich durch lose Kopplung und hohe Kohäsion aus. Sie können Daten und Ressourcen mit anderen Diensten teilen, solange jede Komponente ihre eigene Verantwortung behält.
- Serverless bedeutet nur, dass die Infrastrukturverwaltung abstrahiert wird. Es ist kein Synonym für Function as a Service. Entscheidend ist, dass sich die Teams nicht um Server kümmern müssen und nur für tatsächliche Nutzung bezahlen.
Diese Perspektive hilft, Modebegriffe zu entmystifizieren. Man kann monolithische, Microservices‑basierte oder Serverless-Architekturen mischen – entscheidend ist, wie stark die Komponenten voneinander abhängen. Wenn mehrere Services stets gemeinsam deployt werden müssen, entsteht faktisch wieder ein „verteilter Monolith“.
Das Fallbeispiel Amazon Prime Video
Oft zitiert wird das Team hinter Amazon Prime Video, wie auch bereits auf heise berichtet. Es hat 2023 die Audio/Video-Monitoring-Komponente von einem Step-Functions-getriebenen verteilten Design auf ein monolithisches Prozessdesign umgestellt, was zu über 90 Prozent geringeren Kosten und höherer Skalierbarkeit für diese Komponente führte.
Das ist keine Abkehr von Microservices im gesamten Produkt, aber eine klare kontextspezifische Optimierung: weniger Netzwerk-Hops, wegfallender S3-Zwischenspeicher und weniger Orchestrierungs-Overhead.
Ein hervorragendes Beispiel dafür, dass Architektur keinem Etikett folgen sollte, sondern in diesem Fall dem Lastprofil und Coupling. Microservices und Serverless sind Werkzeuge, die bei passender Problemklasse hervorragend funktionieren; andernfalls ist ein enger gekoppelter Entwurf aber günstiger und einfacher zu betreiben.
Einfachheit schlägt Cleverness: Lehren aus Code‑Audits
Praktische Erfahrungen bestätigen diese Sicht: Ken Kantzer, VP Engineering bei FiscalNote und Gründer der Sicherheits- und Architekturberatung PKC Security, hat in über zwanzig Code-Audits von Start-ups wiederkehrende Muster identifiziert. Sein Befund: Die erfolgreichsten Unternehmen hielten ihre Architektur bewusst einfach. Teams, die konsequent nach dem Prinzip „Keep it simple“ arbeiteten, dominierten später ihre Märkte.
Demgegenüber verschwanden viele Firmen, die sich früh in komplexe Architekturexperimente stürzten. Kantzer hält die vorzeitige Umstellung auf Microservices, stark verteilte Systeme und Messaging-lastige Designs für eine eine selbst verschuldete Falle, die Teams in unnötige Betriebs- und Entwicklungsprobleme manövriert. In seinen Audits zeigte sich, dass solche Systeme einen Großteil der Entwicklerzeit mit Queue-Fehlern, Versionsinkompatibilitäten und Netzwerk-Latenzen blockierten, während die eigentliche Produktentwicklung ins Stocken geriet.
Die Lehre: Komplexität ist keine Investition in Zukunftsfähigkeit, wenn sie dem Kontext vorauseilt – sie ist ein Kostenfaktor, der den Markterfolg gefährden kann.
Modularer Monolith: Bewährtes Konzept mit Renaissance
Der modulare Monolith oder auch Modulith vereint die Vorteile von Monolith und Microservices: Die Anwendung wird in klar abgegrenzte Module unterteilt, die sich intern unabhängig entwickeln, testen und versionieren lassen, aber gemeinsam deployed werden. Thoughtworks beschreibt ihn als „best of both worlds“: Es gibt weniger bewegliche Teile, einfache Deployments und geringere Infrastrukturkosten, während eine klare Aufteilung in Module dennoch möglich ist. Durch die gemeinsame Deployment-Einheit entfallen Gateways, Service Discovery und verteiltes Logging. Das verbessert die Performance, da Module über Funktionsaufrufe statt über das Netzwerk kommunizieren und das System bei Ausfall eines Moduls nicht sofort fragmentiert. Gleichzeitig lassen sich klare Teamgrenzen und Domänen definieren, sodass Entwickler ein Modul später relativ leicht ausgliedern können.
Eine praktische Entscheidungshilfe in Tabellenform stellen die Architekturexperten hinter der Toolsuite Ptidej zur Verfügung. Microservices bieten Vorteile, wenn autonome Teams mit eigenen Releasezyklen an unterschiedlichen Teilen eines großen Systems arbeiten, wenn einzelne Komponenten sehr unterschiedlich skalieren oder wenn verschiedene Technologien notwendig sind. Ein Monolith hingegen genügt, wenn das Team überschaubar ist, die Domäne klar umrissen und die Skalierungsanforderungen homogen sind. Wichtig ist, dass das System modular bleibt, damit es sich bei Bedarf später in Microservices zerlegen lässt.
Der modulare Monolith bietet somit einen pragmatischen Mittelweg: Er teilt eine Anwendung in klar abgegrenzte Module, deployt sie aber gemeinsam. Im Python/Django-Umfeld ist das Prinzip seit Jahren gelebte Praxis („Apps“ als Modulgrenzen), auch wenn es dort nicht Modulith heißt.
Thoughtworks empfiehlt, mit einem solchen Monolithen zu starten und erst nach gründlichem Verständnis der Geschäftsprozesse einzelne Module auszulagern. Die Vorteile sind klar: einfache Deployments, gute Performance, niedrigere Betriebskosten und weniger Latenz.
Monorepos: Modularisieren ohne Zerreißen
Moderne Monorepo‑Werkzeuge senken die Reibung größerer Codebasen: Nx etwa bietet Computation Caching (lokal und remote) und „Affected“‑Mechaniken, sodass bei Änderungen nur die betroffenen Projekte gebaut und getestet werden. Das senkt Build‑ und CI‑Zeiten drastisch und macht ein Repo mit vielen Modulen praktikabel.
Interessant ist, dass Nx explizit dokumentiert, dass Micro‑Frontends vor allem dann empfehlenswert sind, wenn unabhängiges Deployment wirklich notwendig ist. Andernfalls lassen sich dieselben Build‑Effekte zunehmend auch ohne Micro-Frontend‑Architektur erzielen (etwa Module Federation nur zur Build‑Beschleunigung).
Entscheidungsrahmen: Architektur vom Kopplungsgrad ableiten
Aus Daten, Praxisberichten und Werkzeugtrends lassen sich pragmatische Leitlinien ableiten:
- Für die meisten kleinen bis mittleren Teams ist ein modularer Monolith der schnellste Weg zu Features und Feedback. Er reduziert Kosten, minimiert Betriebsrisiken und bleibt evaluierbar.
- Wenn Komponenten immer gemeinsam deployt werden müssen, ist die Anwendung monolithisch – unabhängig davon, auf wie viele Container oder Repos sie verteilt ist. Umgekehrt sind Microservices erst dann sinnvoll, wenn Deployments wirklich unabhängig sind.
- Verteilte Systeme erkauft man sich mit Betriebskosten: Observability, Versionierung, Backward Compatibility, Netzwerklatenz, CAP‑Trade‑offs (Abwägungen zwischen Konsistenz, Verfügbarkeit und Partitionstoleranz). Wer diese Reife nicht hat oder nicht braucht, verliert Zeit und Fokus aufs Produkt. Genau das zeigen Code‑Audits aus der Start‑up‑Praxis.
- Was in einem Konzern mit Dutzenden Teams sinnvoll ist, ist für ein Team mit zehn Leuten häufig Overkill. Architektur folgt Teamschnitt und Geschäftsprozess, nicht dem Blog‑Hype. Der Artikel auf Heise hat das am Prime‑Video‑Beispiel sorgfältig eingeordnet (Stichwort Modulith).
- Werden einzelne Module zu Engpässen (abweichender Release‑Rhythmus, stark abweichende Last, anderes Team), lassen sie sich sauber herauslösen. Ohne vorzeitige Zersplitterung bleibt die Komplexität beherrschbar.
Entwicklung & Code
Firefox: Neue Erweiterungen müssen Datenerhebung offenlegen
Ab dem 3. November 2025 müssen Entwickler neuer Firefox-Erweiterungen in der Manifest-Datei deklarieren, welche persönlichen Nutzerdaten ihre Software erhebt oder überträgt. Die Angaben müssen im Schlüssel browser_specific_settings.gecko.data_collection_permissions der manifest.json hinterlegt werden.
Weiterlesen nach der Anzeige
Zunächst gilt die Regelung ausschließlich für neu eingereichte Erweiterungen. Updates bestehender Add-ons sind vorerst von der Pflicht ausgenommen. Ferner müssen Extensions, die keine Daten sammeln, dies explizit durch den Eintrag „none required“ deklarieren. Sobald eine Erweiterung erstmals die neuen Schlüssel verwendet, sind diese für alle künftigen Versionen verpflichtend.
Firefox zeigt die vom Entwickler deklarierten Informationen künftig bereits beim Installationsdialog an – zusammen mit den angeforderten Berechtigungen. Zusätzlich werden die Angaben auf der Detailseite der jeweiligen Erweiterung auf addons.mozilla.org sowie im Bereich „Berechtigungen und Daten“ der about:addons-Seite in Firefox sichtbar. Damit setzt Mozilla die im April angekündigte Standardisierung der Datenerhebungs-Dialoge um.
Für Erweiterungen, die noch ältere Firefox-Versionen vor 140 (Desktop) beziehungsweise 142 (Android) unterstützen, gelten Übergangsregelungen: Entwickler müssen Nutzern in diesem Fall weiterhin unmittelbar nach der Installation eine eigene Möglichkeit zur Kontrolle der Datenerhebung anbieten.
Konsequenzen bei fehlenden Angaben
Extensions, die die erforderlichen Deklarationen nicht korrekt setzen, werden künftig nicht mehr zur Signierung auf addons.mozilla.org zugelassen. Das System weist Entwickler in diesem Fall mit einer Fehlermeldung auf das Problem hin. Mozilla will so sicherstellen, dass Nutzer vor der Installation transparent über den Umgang mit ihren Daten informiert werden.
Die im Extension Workshop veröffentlichte Dokumentation zeigt Entwicklern, welche konkreten Datentypen sie deklarieren müssen. Hierunter fallen unter anderem Browserverlauf, Standortdaten oder persönliche Kommunikation.
Ausweitung auf alle Extensions geplant
Weiterlesen nach der Anzeige
In der ersten Jahreshälfte 2026 plant Mozilla, die Anforderungen auf sämtliche Firefox-Erweiterungen auszuweiten – also auch auf bestehende Add-ons. Details zu dieser Umstellung sowie zusätzliche Werkzeuge für Entwickler und Nutzer will das Unternehmen rechtzeitig über den Add-ons-Blog bekanntgeben. Die schrittweise Einführung soll Entwicklern Zeit geben, ihre Extensions entsprechend anzupassen. Alle Informationen finden sich im Blogeintrag von Mozilla.
(fo)
Entwicklung & Code
Electron-Nerv: App zeigt, welche Programme mit macOS Tahoe Probleme machen
Spätestens seit dem offiziellen Release von macOS 26 alias Tahoe ist klar, dass manche App, die mit dem populären Electron-Framework erstellt wurde, massive Probleme unter dem neuen Mac-Betriebssystem bereiten können. Der Grund ist simpel: Werden ältere Versionen des Cross-Platform-Systems eingesetzt und gleichzeitig ein bestimmter privater AppKit-API-Override verwendet, bremst eine einzige solche Anwendung das komplette System aus. Warum dies nicht schon während der monatelangen Betaphase von Tahoe auffiel, ist nach wie vor unklar. Abhilfe für das Problem können nur die Entwickler solcher Apps selbst liefern, indem sie das Framework intern aktualisieren. Um festzustellen, ob man betroffen ist, gibt es nun ein neues Werkzeug.
Weiterlesen nach der Anzeige
Tool teilt mit, welche Apps noch betroffen sind
Die App stammt von Craig Hockenberry, Macher des Softwareanbieters und Designstudios Icon Factory. Mit dem Tahoe Electron Detector kann man prüfen, ob Electron-basierte Apps bereits mit dem notwendigen Bugfix ausgerüstet wurden oder nicht. Die Anwendung basiert auf einem Script von Entwickler Tomas Kafka, das um einige Xcode-Spezialitäten entschlackt wurde. Heraus kam ein AppleScript-Applet, das nach Freigabe das System auf Electron-Anwendungen scannt und dann mitteilt, ob diese betroffen sind oder nicht.
Anschließend kann man prüfen, ob die jeweilige App bereits ein Electron-Update erhalten hat oder aber nicht – sollte das nicht der Fall sein, muss man mit der Anwendung vorsichtig umgehen und sie gegebenenfalls deinstallieren (oder man weiß zumindest, warum der Mac derart lahmt, wenn sie läuft). Der Detektor hilft hoffentlich auch dabei, bei den entsprechenden Entwicklern Druck zu machen.
Shaming-Website für Electron-Nutzer
Tatsächlich waren zumindest zwischenzeitlich diverse bekannte Apps betroffen, die Electron nutzen – von Dropbox über GitHub Desktop bis hin zu Slack. Weiterhin gibt es mittlerweile auch eine eigene Website auf GitHub, die sich nur dem „Shaming“ von Entwicklern widmet, die das Framework in ihrer App noch nicht aktualisiert haben. Bislang noch nicht aktualisiert wurden laut der Seite unter anderem die Apps von Superhuman, Loom, Logi Options+ oder Notion (Mail und Calendar).
Die betroffenen Apps verwenden einen Override-Hack einer privaten AppKit-API, um bestimmte (eigentlich eher sinnfreie) Fenstereffekte zu generieren. Das kollidiert wiederum mit macOS 26 respektive dessen Implementierung des WindowServer-Tasks, der für die macOS-Fensterdarstellung zuständig ist, heißt es im GitHub-Forum des Electron-Projekts. Resultat: Eine Electron-App generiert Last, die unter anderem zu verlangsamtem Scrollen führt. Mit mehreren Apps wird es noch schlimmer.
Weiterlesen nach der Anzeige
(bsc)
Entwicklung & Code
Rust Coreutils 0.3.0: Bis zu 3,7-mal schneller als GNU-Tools
Das Projekt Rust Coreutils hat Version 0.3.0 veröffentlicht und liefert damit erhebliche Geschwindigkeitsverbesserungen gegenüber den traditionellen GNU Core Utilities. Nach Angaben der Entwickler übertrifft das sort-Kommando die GNU-Variante beim regulären Sortieren um den Faktor 3,72. Auch andere Werkzeuge wurden deutlich beschleunigt: expand arbeitet 1,8-mal schneller, nl ist 1,57-mal flotter unterwegs.
Weiterlesen nach der Anzeige
Die Rust Coreutils sind eine Neuimplementierung der über 100 klassischen Unix-Kommandozeilenprogramme wie ls, cp oder rm, die ursprünglich in C geschrieben wurden. Einige Nutzer sind bereits umgestiegen: Canonical setzt die Rust-Tools in Ubuntu 25.10 standardmäßig ein. Die Entwickler der Rust-Coreutils streben eine hundertprozentige Kompatibilität mit GNU an, damit bestehende Skripte der Anwender ohne Anpassungen weiter funktionieren.
Performance-Monitoring mit CodSpeed
Für die kontinuierliche Überwachung der Performance-Entwicklung haben die Entwickler die Plattform CodSpeed in ihre CI/CD-Pipeline integriert. Das System erkennt automatisch Performance-Verschlechterungen und stellt sicher, dass Optimierungen auch langfristig erhalten bleiben. Die Benchmarks decken mittlerweile über 15 zentrale Werkzeuge ab, darunter sort, ls, uniq, du und base64. Auch base64 (1,2-mal schneller), unexpand (1,5-mal schneller) und uniq -c (1,13-mal schneller) profitieren von den Anpassungen.
Ein wesentlicher Schwerpunkt der Version 0.3.0 liegt auf der verbesserten Sicherheit. Die Entwickler haben für die Werkzeuge rm, du, chmod und chgrp eine sichere Directory-Traversal-Implementierung umgesetzt, die auf den Systemaufrufen openat und unlinkat basiert. Statt unsicherer libc-Aufrufe kommt dabei das nix-Crate zum Einsatz, das speichersichere Abstraktionen bereitstellt – einer der Hauptvorteile von Rust gegenüber C.
GNU-Kompatibilität bei 83,91 Prozent
Bei der Kompatibilität mit der GNU-Test-Suite erreichen die Rust-Coreutils aktuell 532 bestandene Tests – eine Quote von 83,91 Prozent. Gegenüber Version 0.1 (damals: 87,06 Prozent) scheint das zunächst ein Rückschritt zu sein. Die Entwickler erklären dies jedoch mit dem Upgrade der Referenzimplementierung von GNU Coreutils 9.7 auf 9.8, wodurch sich Testerwartungen bei bestehenden Prüfungen änderten und 16 neue Tests hinzukamen. Somit stieg die Gesamtzahl der Tests von 618 auf 634. Von den neuen Tests schlagen 68 fehl, 33 werden übersprungen und einer führt zu einem Fehler.
Weiterlesen nach der Anzeige
Für Entwickler bringt das Update ebenfalls Verbesserungen: Die Generierung von Dokumentation und Shell-Completions wurde aus den Binaries ausgelagert, was die Build-Zeiten verkürzt. Die CI-Pipeline kompiliert Benchmarks nun parallel, und das Makefile unterstützt verschiedene Build-Konfigurationen besser.
Die aktuelle Version steht auf der Projektwebsite zum Download bereit. Neben den genannten Verbesserungen wurden zahlreiche weitere Details optimiert, darunter die Unicode- und Non-UTF8-Pfadunterstützung sowie das Fehlerhandling quer durch verschiedene Utilities. Weitere Informationen finden sich in den Release Notes auf GitHub.
(fo)
-
UX/UI & Webdesignvor 2 MonatenDer ultimative Guide für eine unvergessliche Customer Experience
-
UX/UI & Webdesignvor 2 MonatenAdobe Firefly Boards › PAGE online
-
Social Mediavor 2 MonatenRelatable, relevant, viral? Wer heute auf Social Media zum Vorbild wird – und warum das für Marken (k)eine gute Nachricht ist
-
Entwicklung & Codevor 2 MonatenPosit stellt Positron vor: Neue IDE für Data Science mit Python und R
-
Entwicklung & Codevor 2 MonatenEventSourcingDB 1.1 bietet flexiblere Konsistenzsteuerung und signierte Events
-
UX/UI & Webdesignvor 1 MonatFake It Untlil You Make It? Trifft diese Kampagne den Nerv der Zeit? › PAGE online
-
UX/UI & Webdesignvor 1 WocheIllustrierte Reise nach New York City › PAGE online
-
Apps & Mobile Entwicklungvor 2 MonatenGalaxy Tab S10 Lite: Günstiger Einstieg in Samsungs Premium-Tablets
