Table of Contents
Engineering-Websysteme befinden sich an der Schnittstelle zwischen technischer Präzision, sich ändernden Benutzererwartungen und sich verändernden Geschäftsanforderungen. Im Gegensatz zu vielen anderen Anwendungsdomänen bewältigen Engineering-Plattformen häufig komplexe Workflows, große Datensätze und regulatorische oder Compliance-Beschränkungen. Mit dem Wachstum dieser Systeme werden die Kosten für ein starres Design schmerzhaft deutlich: Das Hinzufügen einer neuen Funktion kann Wochen des Refactorings erfordern, die Bereitstellung einer Änderung kann die Gefahr bergen, dass nicht verwandte Funktionen unterbrochen werden, und die Skalierung, um mehr Benutzer oder Datenmengen aufzunehmen, erfordert ein vollständiges Umdenken der Infrastruktur.
Moderne Engineering-Teams haben sich der modularen Architektur als Antwort zugewandt. Indem sie ein System in diskrete, austauschbare Komponenten aufteilen, können Unternehmen Plattformen aufbauen, die belastbar, zukunftssicher und an neue Technologien anpassbar sind. Wenn sie mit einer flexiblen Datenschicht wie Directus gepaart werden - einem Headless CMS und Datenbankabstraktionswerkzeug - wird das modulare Design noch leistungsfähiger, so dass Teams das Datenmanagement von der Front-End-Logik entkoppeln und Systeme erstellen können, die sich unabhängig entwickeln können. Dieser Artikel untersucht die Prinzipien, Strategien und die reale Anwendung der modularen Architektur für Engineering-Websysteme, mit dem Schwerpunkt auf der Gestaltung für zukünftige Erweiterungen.
Modulare Architektur verstehen
Modulare Architektur ist ein Designansatz, der ein Softwaresystem in eigenständige Einheiten, Module genannt, organisiert. Jedes Modul kapselt einen bestimmten Satz von Verantwortlichkeiten und stellt eine gut definierte Schnittstelle für die Interaktion mit dem Rest des Systems zur Verfügung. Diese Trennung ermöglicht es Teams, Module unabhängig zu entwickeln, zu testen und einzusetzen, wodurch das Risiko unbeabsichtigter Nebenwirkungen reduziert und der Entwicklungszyklus beschleunigt wird.
Im Zusammenhang mit dem Engineering von Websystemen ist Modularität besonders wertvoll. Betrachten wir eine Plattform, die Produktlebenszyklusdaten, Simulationsworkflows und Compliance-Dokumentation verwaltet. Ein monolithischer Ansatz würde all diese Bedenken in einer einzigen Codebasis zusammenführen, was es schwierig macht, die Simulationsmaschine zu aktualisieren, ohne das Dokumentenmanagementsystem zu beeinträchtigen. Mit einer modularen Architektur wird jedes Anliegen zu einem eigenen Modul - Produktdaten, Simulation, Compliance - und sie kommunizieren über APIs oder Ereignisbusse. Änderungen am Simulationsmodul können eingesetzt werden, ohne den Rest des Systems zu berühren, und neue Module (wie ein Kundenportal oder ein Analyse-Dashboard) können mit minimaler Reibung hinzugefügt werden.
Was macht ein Modul aus?
Ein Modul ist mehr als nur ein Ordner in der Codebasis.
- Unabhängig: Das Modul kann isoliert entwickelt, getestet und eingesetzt werden. Es kann von Schnittstellen abhängen, die von anderen Modulen bereitgestellt werden, nicht jedoch von deren interner Implementierung.
- Kohäsiv: Die gesamte Funktionalität innerhalb des Moduls ist eng miteinander verbunden und dient einem einzigen Zweck. Ein Modul, das die Benutzerauthentifizierung übernimmt, sollte nicht auch Logik zur Generierung von Engineering-Berichten enthalten.
- Explizit interfaced: Das Modul kommuniziert mit der Außenwelt über einen Vertrag – in der Regel eine API, eine Reihe von Ereignissen oder eine gemeinsame Bibliothek von Schnittstellendefinitionen.
Wenn diese Kriterien erfüllt sind, wird das System leichter zu begründen, zu testen und zu entwickeln. Teams können Entwicklungsbemühungen parallelisieren, Implementierungen ohne Ripple-Effekte austauschen und neue Funktionen einführen, ohne dass ein vollständiger Systemneustart erforderlich ist.
Grundprinzipien des modularen Designs
Der Aufbau eines wirklich modularen Engineering-Websystems erfordert Disziplin und ein klares Verständnis der grundlegenden Designprinzipien. Die folgenden vier Prinzipien bilden das Rückgrat jeder erfolgreichen modularen Architektur.
Trennung von Bedenken
Bei einer modularen Engineering-Plattform bedeutet dies, dass Datenspeicherung, Geschäftslogik, Benutzeroberfläche und externe Integrationen jeweils von verschiedenen Modulen gehandhabt werden sollten. Zum Beispiel sollte ein Modul, das für die 3D-Modelldarstellung verantwortlich ist, nicht auch Benutzerberechtigungen oder Datenbankverbindungen verwalten. Indem es Bedenken isoliert hält, können Teams einen Aspekt des Systems ändern, ohne sich um unbeabsichtigte Konsequenzen anderswo zu sorgen.
Die praktische Umsetzung beinhaltet oft die Schichtung der Architektur: eine Datenzugriffsschicht, die Datenbankoperationen abstrahiert, eine Serviceschicht, die Geschäftslogik enthält, und eine Präsentationsschicht, die die Benutzerinteraktion behandelt. Jede Schicht kann aus mehreren Modulen bestehen, und die Kommunikation zwischen den Schichten erfolgt über Schnittstellen.
Lose Kupplung
Lose Kopplung bedeutet, dass Module nur minimale Kenntnisse über die interne Funktionsweise des jeweils anderen haben sollten; sie sollten nur über genau definierte Schnittstellen interagieren, und Änderungen an einem Modul sollten keine Änderungen an einem anderen erfordern, sofern die Schnittstelle stabil bleibt.
In technischen Websystemen kann eine lose Kopplung durch Techniken wie:
- API-first design: Definieren Sie RESTful- oder GraphQL-APIs an den Grenzen jedes Moduls.
- Ereignungsgesteuerte Kommunikation: Verwenden Sie einen Nachrichtenbroker (wie RabbitMQ oder Kafka), um Module Ereignisse veröffentlichen und abonnieren zu lassen. Wenn beispielsweise eine Simulation abgeschlossen ist, veröffentlicht das Simulationsmodul ein Ereignis "simulation finished", und das Benachrichtigungsmodul nimmt es auf, um den Benutzer zu alarmieren.
- Abhängigkeitsinjektion: Versorgen Sie jedes Modul mit den externen Ressourcen, die es benötigt (wie Datenverbindungen oder APIs von Drittanbietern), durch Konfiguration oder einen Servicecontainer, anstatt das Modul sie selbst erstellen zu lassen.
Hoher Zusammenhalt
Ein Modul mit hohem Zusammenhalt enthält Funktionen und Daten, die alle einem gemeinsamen Zweck dienen. Ein Modul "Lizenzmanagement" würde beispielsweise Lizenzvalidierung, Ablaufprüfungen und Lizenzverlängerungsworkflows - alle damit verbundenen Aufgaben - behandeln. Wenn dasselbe Modul auch Benutzerprofilfotos behandelt, wäre der Zusammenhalt gering und das Modul wäre schwieriger zu verstehen und zu pflegen.
Um einen hohen Zusammenhalt zu erreichen, sind häufig sorgfältige Analysen der Domänen erforderlich. Teams sollten Zeit damit verbringen, die Geschäftsdomäne zu modellieren und natürliche Grenzen zu identifizieren. Techniken wie Domain-Driven Design (DDD) können besonders für Engineering-Plattformen hilfreich sein, bei denen die Domäne oft komplex und reich an spezialisierten Konzepten ist.
Skalierbarkeit
Die modulare Architektur unterstützt von Natur aus die Skalierbarkeit – sowohl in Bezug auf die Systemleistung als auch auf die Teamproduktivität. Wenn Module unabhängig sind, kann jedes Modul horizontal auf der Grundlage seiner eigenen Ressourcenanforderungen skaliert werden. Das Simulationsmodul erfordert möglicherweise eine hohe CPU und Speicherkapazität, während das Dokumentenspeichermodul möglicherweise eine große Festplattenkapazität benötigt. Mit einem modularen Design können diese Module auf verschiedenen Infrastrukturkonfigurationen eingesetzt werden, wodurch Kosten und Leistung optimiert werden.
Skalierbarkeit gilt auch für den Entwicklungsprozess. Neue Teammitglieder können sich auf ein einzelnes Modul konzentrieren, ohne die gesamte Codebasis verstehen zu müssen. Teams können unterschiedliche Release-Zyklen für verschiedene Module übernehmen, was eine schnellere Iteration bei Funktionen mit hoher Priorität ermöglicht und stabile Module auf einer langsameren Kadenz hält.
Design für zukünftige Expansion
Die eigentliche Herausforderung – und der wahre Wert – liegt darin, das System so zu gestalten, dass es im Laufe der Zeit neue Fähigkeiten, Technologien und Benutzeranforderungen anmutig aufnehmen kann. Zukunftssicher machen erfordert eine bewusste Planung und die Einhaltung bewährter Strategien.
Verwenden von APIs und Interfaces
Jedes Modul sollte eine stabile, versionierte Schnittstelle freilegen, auf die sich andere Module verlassen können. Dies ermöglicht es jedem Modul, sich unabhängig zu entwickeln, solange es seinen API-Vertrag erfüllt. In der Praxis bedeutet dies:
- Verwenden Sie Standardprotokolle wie REST, GraphQL oder gRPC für die intermodulare Kommunikation.
- Versionieren Sie Ihre APIs vom ersten Tag an, auch wenn nur ein Client existiert.
- APIs gründlich dokumentieren, einschließlich Anfrage-/Antwortschemata, Fehlercodes und Tarifgrenzen.
Für das Engineering von Websystemen erleichtern APIs auch die Integration mit externen Partnern, Kunden und Legacy-Systemen. Eine gut dokumentierte API kann Ihre Plattform in ein Plattform-Ökosystem verwandeln, in dem Dritte Erweiterungen und Integrationen erstellen, die Mehrwert schaffen, ohne dass Ihr Team jede Funktion implementieren muss.
Plugin-Systeme implementieren
Eine Plugin-Architektur bringt die Modularität auf ihr logisches Extrem. Anstatt nur Bedenken in Module zu trennen, ermöglicht ein Plugin-System das Hinzufügen neuer Funktionen zur Kernplattform, ohne den Kerncode selbst zu ändern. Dies ist besonders für Engineering-Plattformen, die verschiedene Branchen, Workflows oder Compliance-Regime unterstützen müssen, von Vorteil.
So könnte eine Basisplattform beispielsweise Kerndatenmanagement und Benutzerauthentifizierung bereitstellen, während Plugins branchenspezifische Berechnungen, Berichtsgenerierung oder Integrationen von Drittanbietern durchführen. Plugins können unabhängig installiert, aktualisiert oder entfernt werden, und das Kernsystem bleibt stabil. Dieser Ansatz ermöglicht auch ein Marktplatzmodell, bei dem Partner und Kunden Plugins erstellen und teilen können.
Bei der Implementierung eines Plugin-Systems wird üblicherweise ein Satz von Erweiterungspunkten (Hooks oder Interfaces) im Kerncode definiert und dann zur Laufzeit dynamisch geladen. Jedes Plugin registriert sich beim Kernsystem und stellt eine eigene Implementierung einer vordefinierten Schnittstelle bereit. Das Kernsystem ruft das Plugin an den entsprechenden Stellen während der Ausführung auf.
Microservices übernehmen
Für größere Engineering-Websysteme ist eine Microservices-Architektur oft die am besten geeignete Form der Modularität. In einer Microservices-Architektur wird jedes Modul als unabhängiger Dienst mit eigenem Datenspeicher, API und Deployment-Pipeline bereitgestellt. Dienste kommunizieren über ein Netzwerk, typischerweise mit leichtgewichtigen Protokollen wie HTTP/REST oder Messaging-Warteschlangen.
Microservices bieten mehrere Vorteile für die zukünftige Expansion:
- Technologievielfalt: Jeder Dienst kann die Programmiersprache, Datenbank und Infrastruktur verwenden, die für seine Aufgabe am besten geeignet ist. Der Simulationsdienst kann in C++ für die Leistung geschrieben werden, während der Berichtsdienst möglicherweise Python für seine Rich Data Analysis Libraries verwendet.
- Unabhängige Skalierung: Dienste mit hohem Datenverkehr können ausgeskaliert werden, ohne andere zu beeinflussen. Der Lizenzvalidierungsdienst kann auf einer kleinen Instanz ausgeführt werden, während der Datenaufnahmedienst ein Cluster großer Instanzen verwendet.
- Fehlerisolierung: Ein Fehler in einem Dienst kaskadiert nicht auf das gesamte System. Die Plattform bleibt funktionsfähig, auch wenn einige Funktionen beeinträchtigt sind.
Microservices bringen aber auch Komplexität in Bezug auf Netzwerkkommunikation, Datenkonsistenz und operativen Overhead mit sich. Teams sollten Microservices nur dann einsetzen, wenn der Nutzen die Kosten überwiegt – typischerweise dann, wenn das System einen Umfang erreicht hat, in dem modulare Monolithansätze begrenzt werden.
Plan für Skalierbarkeit
Die Skalierbarkeitsplanung sollte auf der architektonischen Ebene beginnen, nicht nur auf der Infrastrukturebene. Das bedeutet, dass von Anfang an Technologien und Frameworks ausgewählt werden müssen, die modulare Bereitstellung und horizontale Skalierung unterstützen.
- Zustandslosigkeit: Design-Module so zustandslos wie möglich zu gestalten. State sollte auf Datenbanken oder Caches externalisiert werden, so dass jede Instanz eines Moduls jede Anforderung bearbeiten kann.
- Asynchrone Verarbeitung: Verwenden Sie Warteschlangen und Ereignisströme für Aufgaben, die keine sofortigen Antworten erfordern.
- Datenbankmodularität: Richten Sie Datenbankschemata an Modulgrenzen aus. Jedes Modul sollte seine Daten besitzen und sie nur über seine API freilegen. Vermeiden Sie gemeinsame Datenbanken, die eine versteckte Kopplung zwischen Modulen erzeugen.
Die Rolle von Directus in modularen Ingenieursystemen
Directus ist eine Open-Source-CMS- und Datenplattform ohne Kopf, die sich natürlich an modularen Architekturprinzipien ausrichtet. Es bietet eine flexible, API-gesteuerte Ebene für die Verwaltung strukturierter Daten - ob diese Daten technische Spezifikationen, Simulationsparameter, Compliance-Datensätze oder eine andere Domäneneinheit darstellen. Durch die Entkopplung von Datenspeicherung und -verwaltung von Präsentations- und Geschäftslogik ermöglicht Directus Engineering-Teams, modulare Systeme mit weniger Overhead zu erstellen.
Daten als modularer Dienst
In einem modularen Engineering-Websystem ist Datenmanagement oft eines der schwierigsten Probleme. Verschiedene Module müssen möglicherweise auf die gleichen zugrunde liegenden Daten zugreifen, aber eine enge Kopplung an eine gemeinsame Datenbank kann Abhängigkeiten erzeugen, die die Modularität untergraben. Directus löst dies, indem es als zentrale Datenabstraktionsschicht fungiert, die Daten über eine standardisierte API freilegt. Jedes Modul interagiert mit Directus, um Daten zu lesen und zu schreiben, ohne das zugrunde liegende Datenbankschema oder die Verbindungsdetails kennen zu müssen.
Das bedeutet, dass das Simulationsmodul und das Compliance-Modul beide über dieselbe Directus API auf Produktdaten zugreifen können, diese aber unabhängig bleiben, weil ihre Logik nicht vom internen Zustand des anderen abhängt. Benötigt das Compliance-Modul ein zusätzliches Feld in den Produktdaten, kann es ohne Auswirkungen auf das Simulationsmodul - solange der bestehende API-Vertrag erhalten bleibt - in das Directus-Schema aufgenommen werden.
Entkopplung von Front-End und Back-End
Die Headless-Architektur von Directus bedeutet, dass sich Front-End und Back-End unabhängig voneinander entwickeln können. Engineering-Teams können ein modernes, dynamisches Front-End mit React, Vue oder einem anderen Framework erstellen, während die Back-End-Datenschicht stabil bleibt. Dies passt perfekt zum modularen Design: Das Front-End ist nur ein weiteres Modul, das über APIs mit Directus und anderen Diensten kommuniziert.
Für Unternehmen, die mehrere Frontends unterstützen müssen – wie z. B. ein Web-Dashboard, eine mobile App und ein Partnerportal – bietet Directus eine einzige Quelle der Wahrheit für Daten und gewährleistet Konsistenz über alle Kanäle hinweg. Jedes Frontend-Modul kann auf eigene Weise entwickelt und bereitgestellt werden, ohne auf Backend-Änderungen zu warten.
Content Management und Engineering Workflows
Über die einfache Datenspeicherung hinaus bietet Directus umfangreiche Content-Management-Funktionen, die für Engineering-Plattformen wertvoll sind. Teams können Directus verwenden, um Dokumentation, Schulungsmaterialien, Spezifikationsblätter und andere Nicht-Code-Assets zu verwalten, die für die Entwicklung von Workflows unerlässlich sind. Diese Inhaltstypen können mit benutzerdefinierten Feldern, Beziehungen und Validierungsregeln strukturiert werden und sind über die gleiche API zugänglich wie der Rest des Systems.
Indem sie Inhalte als einen weiteren Datentyp innerhalb der modularen Architektur behandeln, können Engineering-Organisationen die Anzahl der spezialisierten Tools reduzieren, die sie benötigen, um die Integration zu vereinfachen und die Konsistenz ihrer Plattform zu verbessern.
Directus für Engineering-Bedürfnisse erweitern
Directus selbst ist mit Modularität konzipiert. Es unterstützt benutzerdefinierte Erweiterungen wie Hooks, Endpunkte und Dashboard-Panels, die es Teams ermöglichen, Engineering-spezifische Funktionen hinzuzufügen, ohne den Kerncode zu ändern. Zum Beispiel könnte ein Engineering-Team einen benutzerdefinierten Endpunkt erstellen, der eine komplexe Berechnung der Daten vor der Rückgabe an den Client durchführt, oder einen Hook, der Eingaben gegen Industriestandards validiert, bevor er in die Datenbank geschrieben wird. Diese Erweiterungen können als unabhängige Pakete entwickelt und unabhängig aktualisiert werden, wobei die Modularität des Gesamtsystems erhalten bleibt.
Vorteile eines modularen Ansatzes
Die Vorteile der modularen Architektur gehen weit über die anfängliche Entwicklungsphase hinaus. Unternehmen, die in modulares Design für ihre Engineering-Websysteme investieren, sehen Gewinne in Flexibilität, Wartbarkeit, Wiederverwendbarkeit und langfristiger Skalierbarkeit.
Flexibilität und Agilität
Wenn jedes Feature ein Modul ist, wird das Hinzufügen oder Ändern von Funktionalitäten zu einer Frage der Arbeit mit einer einzelnen Komponente, anstatt eine monolithische Codebasis zu entwirren. Engineering-Teams können auf Änderungen in Branchenvorschriften, Kundenanforderungen oder Technologietrends mit geringerem Risiko und schnellerem Turnaround reagieren. Ein neues Datenvisualisierungsmodul kann parallel zur laufenden Arbeit an der Kernplattform erstellt und integriert werden, ohne dass Merge-Konflikte oder Bereitstellungsengpässe entstehen.
Pflege und Vertrauen
Modulare Systeme sind einfacher zu beheben, zu testen und zu warten. Da Module isoliert sind, kann ein Fehler in einem Modul identifiziert und behoben werden, ohne das gesamte System verstehen zu müssen. Automatisierte Tests können sich auf die Schnittstelle und das Verhalten eines einzelnen Moduls konzentrieren, was zu schnelleren Testsuiten und einem höheren Vertrauen in Releases führt. Teams können auch einfacher kontinuierliche Bereitstellungspraktiken übernehmen, da jedes Modul seine eigene Build-, Test- und Bereitstellungspipeline haben kann.
Wiederverwendbarkeit über Projekte hinweg
Gut konzipierte Module sind oft über verschiedene Projekte innerhalb derselben Organisation wiederverwendbar. Ein Modul, das beispielsweise die Benutzerauthentifizierung übernimmt, kann in mehreren technischen Anwendungen wiederverwendet werden. Im Laufe der Zeit sammeln Unternehmen eine Bibliothek von kampferprobten Modulen, die neue Entwicklungsanstrengungen beschleunigen und die Kosten für die Erstellung neuer Plattformen senken.
Durch die Einführung von Standardschnittstellen und Plugin-Architekturen können Engineering-Teams ein wachsendes Ökosystem aus Open-Source- und kommerziellen Modulen nutzen, anstatt alles von Grund auf neu zu erstellen.
Skalierbarkeit ohne Redesign
Der vielleicht wichtigste langfristige Vorteil ist, dass modulare Architekturen anmutig skalieren. Wenn die Benutzerbasis wächst, Datenmengen zunehmen und neue Funktionen angefordert werden, kann das System erweitert und skaliert werden, ohne dass es grundlegend neu gestaltet wird. Die modularen Grenzen, die zu Beginn des Projekts festgelegt wurden, dienen weiterhin als natürliche Punkte für Skalierung, Lastausgleich und Teamorganisation. Diese zukunftssichere Gestaltung ist von unschätzbarem Wert für die Entwicklung von Websystemen, die voraussichtlich jahrelang oder jahrzehntelang funktionieren.
Herausforderungen und Überlegungen
Die modulare Architektur ist nicht ohne Herausforderungen. Teams sollten sich über mögliche Fallstricke bewusst sein und entsprechend planen.
Erhöhte anfängliche Komplexität
Die Entwicklung eines modularen Systems erfordert mehr Vorausdenken als die Erstellung eines monolithischen Prototyps. Teams müssen Modulgrenzen identifizieren, Schnittstellen definieren und Kommunikationsprotokolle erstellen, bevor sie viel Code schreiben. Diese Investition zahlt sich im Laufe der Zeit aus, kann jedoch die anfängliche Entwicklung verlangsamen. Um dies zu verwalten, können Teams mit einem modularen Monolithen beginnen, bei dem die Codebasis in Modulen organisiert ist, aber als eine einzige Einheit bereitgestellt wird, und zu Microservices migrieren, wenn das System wächst.
Koordination über Module hinweg
Wenn mehrere Teams an verschiedenen Modulen arbeiten, wird die Koordination zu einer Herausforderung. Schnittstellenänderungen müssen vereinbart und kommuniziert werden. Versionierungsstrategien müssen festgelegt werden. Gemeinsame Abhängigkeiten (wie eine gemeinsame Protokollierungsbibliothek oder ein Authentifizierungsmechanismus) müssen beibehalten werden. Eine regelmäßige teamübergreifende Kommunikation und architektonische Governance können diese Probleme mildern.
Betriebskosten
Insbesondere Microservices bringen einen erheblichen operativen Overhead mit sich. Teams müssen Service Discovery, Load Balancing, Monitoring, Logging und verteilte Tracing verwalten. Containerisierungstools wie Docker und Orchestrierungsplattformen wie Kubernetes können helfen, erfordern aber spezielle Fähigkeiten und Infrastruktur. Organisationen sollten Microservices nur dann einsetzen, wenn die Größe des Systems die Komplexität rechtfertigt.
Datenkonsistenz
In einem modularen System, in dem jedes Modul seine Daten besitzt, kann es schwierig sein, die Konsistenz zwischen den Modulen zu erhalten. Wenn beispielsweise das Simulationsmodul und das Berichtsmodul beide Benutzerdaten enthalten, muss eine Änderung des Benutzernamens propagiert werden. Eventuelle Konsistenzmuster, sagabasierte Transaktionen oder eine gemeinsame Datenschicht (wie Directus) können helfen, aber jeder Ansatz kommt mit Kompromissen.
Schlussfolgerung
Die Schaffung einer modularen Architektur für Engineering-Websysteme ist nicht nur eine technische Entscheidung – sie ist eine strategische. Da Engineering-Organisationen zunehmend unter Druck stehen, neue Funktionen zu liefern, sich in neue Technologien zu integrieren und die globale Nachfrage zu befriedigen, werden die Kosten für starres, monolithisches Design nicht mehr nachhaltig. Modularität bietet einen bewährten Weg, um Systeme zu bauen, die flexibel, wartbar und zukunftsfähig sind.
Durch die Einhaltung von Prinzipien wie Trennung von Bedenken, lose Kopplung, hoher Zusammenhalt und Skalierbarkeit können Teams Plattformen entwerfen, die mit ihren Bedürfnissen wachsen. Strategien wie API-First-Design, Plugin-Systeme und Microservices bieten konkrete Möglichkeiten, diese Prinzipien in der Praxis umzusetzen. Tools wie Directus vereinfachen den Prozess weiter, indem sie das Datenmanagement von der Anwendungslogik entkoppeln und eine flexible Grundlage bieten, die sich an modularem Denken orientiert.
Letztendlich ist das Ziel, Websysteme zu entwickeln, die den Test der Zeit bestehen können - nicht nur zukünftige Veränderungen überleben, sondern auch auf ihnen gedeihen. In modulare Architektur zu investieren ist heute der zuverlässigste Weg, um dieses Ziel zu erreichen.