Microservices: Unabhängige Services, die einzeln skaliert und deployed werden können. Jeder Service hat eine klare Verantwortung; die Kommunikation läuft über APIs oder Events. Ideal für große Teams und sich ändernde Anforderungen.
Event-Driven Architecture: Lose gekoppelte Systeme kommunizieren über Events – ein Service publiziert ein Ereignis, andere reagieren darauf. So bleiben Abhängigkeiten minimal und die Systeme erweiterbar.
CQRS (Command Query Responsibility Segregation): Getrennte Modelle für Lesen und Schreiben. Lese- und Schreibpfade können unterschiedlich skaliert und optimiert werden – z. B. schnelle Abfragen über spezialisierte Lesemodelle.
Domain-Driven Design (DDD): Die Softwarearchitektur orientiert sich an der Fachdomäne. Klar definierte Bounded Contexts und eine gemeinsame Sprache zwischen Fach und IT reduzieren Missverständnisse und fördern wartbaren Code.
API Gateway Pattern: Ein zentrales API-Gateway steuert die Kommunikation zwischen Microservices und externen Clients. Es übernimmt Authentifizierung und Autorisierung an einer Stelle, ermöglicht Rate Limiting und Lastverteilung und vereinheitlicht die Schnittstelle nach außen. So müssen Clients nicht mit jedem Service einzeln sprechen – das vereinfacht Integration und Sicherheitsmanagement. Mehr: Softwareentwicklung, Schnittstellen-Entwicklung, Software-Wartung.
Saga Pattern für verteilte Transaktionen: In Enterprise-Workflows laufen fachliche Prozesse oft über mehrere Services hinweg (z. B. Auftrag anlegen, Bonitaet pruefen, Versand buchen, Rechnung erstellen). Klassische ACID-Transaktionen ueber Servicegrenzen sind unpraktisch. Mit dem Saga Pattern wird jeder Schritt als lokale Transaktion modelliert; bei Fehlern greifen kompensierende Aktionen (z. B. Reservierung freigeben, Auftrag auf „fehlgeschlagen“ setzen). Damit bleiben Systeme konsistent, ohne enge technische Kopplung.
Strangler-Fig-Pattern für Legacy-Ablösung: Statt ein Altsystem komplett zu ersetzen, wird neue Funktionalität schrittweise daneben aufgebaut. Alte Endpunkte bleiben bestehen, während neue Routen oder Module den Verkehr schrittweise übernehmen. Dieses Vorgehen minimiert Betriebsrisiko, weil jede Ablösephase isoliert getestet und freigegeben wird. Besonders bei großen ERP-nahen Anwendungen ist das ein bewährtes Vorgehen, um Risiken für Fachbereiche und Betrieb zu senken.
Praxisbeispiel Architekturentscheidung: Ein internationaler Serviceanbieter mit 12 Landesgesellschaften startete mit einem modularen Monolithen fuer schnelle Lieferfaehigkeit. Nach 9 Monaten wurden nur zwei Hotspots als eigene Services ausgekoppelt: Pricing-Engine und Dokumentengenerierung. Ergebnis: 40 % kuerzere Build-Zeit, unabhaengige Deployments fuer kritische Module und stabile Kernprozesse im verbleibenden Monolithen. Das zeigt: Die beste Enterprise-Architektur ist selten „alles Microservices“, sondern eine gezielte Kombination nach Lastprofil und Aenderungsrate.
Beispiel fuer ein eventbasiertes Integrationsmuster: Statt direkte Kaskaden-Calls zu bauen, publiziert der Auftragsservice ein Event wie OrderConfirmed. Nachgelagerte Services reagieren darauf asynchron (Billing, Versand, Reporting). So bleiben Ausfaelle einzelner Verbraucher isoliert, und das System kann Lastspitzen durch Queueing puffern. Genau solche Patterns machen Enterprise-Landschaften robust, auch bei saisonalen Peaks oder ungleichmaessiger Last.
Wichtiger Praxispunkt: Architektur-Patterns liefern nur dann Nutzen, wenn sie mit klaren Betriebsregeln kombiniert werden. Dazu gehoeren Versionierungsregeln fuer APIs, verbindliche Fehlervertraege zwischen Services und ein Monitoring-Konzept, das fachliche und technische KPIs zusammenfuehrt. Ohne diese Leitplanken entstehen schnell „Pattern-Inseln“ mit hoher Komplexitaet, aber geringem Betriebsvorteil.