Zum Hauptinhalt springen

Microservices

  • Architekturmuster
    • komplexe Applikationen bestehen aus vielen kleinen Modulen
  • Microservice
    • kleine, unabhängige Dienste/Prozesse
    • kommunizieren mit sprachunabhängigen Programmierschnittstellen
    • sind weitgehend entkoppelt
    • erledigen eine kleine Aufgabe

Vorteile

  • schnellere Skalierbarkeit
    • Komponenten können unabhängig voneinander skaliert werden
    • reduziert Ausschuss und Kosten, die mit Skalierung ganzer Anwendungen verbunden sind
  • verbesserte Fehlerisolierung
    • Fehler in einem Service beeinträchtigt nicht die anderen Services
  • höhere Teamproduktivität
    • durch kleine, spezialisierte Teams, die sich auf einen bestimmten Service konzentrieren
  • kürzere Deployment-Zeit
    • jeder Service kann einzeln entwickelt, getestet und bereitgestellt werden
  • höhere Kosteneffizienz
    • optimierte Ressourcenzuweisung und Wartung
  • einfachere Aktualisierung des Codes
    • neue Funktionen oder Anwendungsmöglichkeiten können hinzugefügt werden, ohne die gesamte Anwendung zu ändern
  • verschiedene Stacks und Programmiersprachen
    • es können verschiedene Stacks und Programmiersprachen für verschiedene Komponenten verwendet werden

Nachteile

  • erhöhte Komplexität
    • herausforderndes Management aufgrund vieler kleinen Dienste
  • Herausforderung bei Deployment und Versionierung
    • komplexe Koordination der Deployments und Versionskontrolle über mehrere Services hinweg
    • Kompatibilitätsprobleme
  • Komplexität bei Tests
    • Testen beinhaltet komplexe Szenarien, vor allem bei Integrationstests für verschiedene Services
    • herausfordende Orchesterierung
  • Schwierigkeit bei Fehlerbehebung
    • da Microservices unterschiedliche Protokolle verwenden
    • gleichzeitige Ausführung von Geschäftsprozessen auf mehreren Systemen erhöht Komplexität
  • Herausforderungen beim Datenmanagement
    • komplexe Datenkonsistenz und Transaktionen über mehrere Services hinweg
    • erfordert sorgfältige Datenverwaltung und -koordination, um die Datenintegrität zu unterstützen