Microservices-Architektur heißt: Eine Software wird stark modularisiert, es handelt sich je um kleine Dienste, die als eigene Prozesse laufen (mit eigener Datenbank und eigenem Storage) und die miteinander über APIs miteinander kommunizieren. Da diese Microservices unabhängig voneinander sind, können Sie in verteilten Umgebungen laufen, zudem kann jeder Microservice in einer eigenen Programmiersprache geschrieben sein. Microservices können in einer Container-Infrastruktur in einer (Public) Cloud einfach skaliert werden. Wenn etwas ausfällt, betrifft das in der Regel nur das Modul, nicht das Gesamtsystem.

Vorteile im Überblick

  • Modularisierung
  • Teamgröße/-verantwortung für einen Service
  • Spezifizierung auf einen Funktionsbaustein (geringere Komplexität)
  • Agile Entwicklung von einzelnen Bausteinen (unabhängige Entwicklung)
  • Autarke Services ermöglichen spezifische Skalierung
  • Technologie-Unabhängigkeit

Es gibt auch – wie immer im Leben – ein paar Nachteile

  • Dezentrale Datenhaltung und Synchronisation
  • CAP-Theorem/-Problematik der verteilten Architektur
  • Zusätzliche Monitoring- und Logging-Infrastruktur
  • Höhere Komplexität für Betrieb (wegen verteilter Architektur)
  • Fokus verstärkt auf Fachlichkeit und nicht auf Wiederverwendung
Author

Sebastian Zang hat eine herausragende Karriere in der IT-Branche aufgebaut und eine Vielzahl von Softwareprojekten mit einem klaren Fokus auf Automatisierung und Unternehmensentwicklung geleitet. In seiner aktuellen Rolle als Vice President Partners & Alliances bei der Beta Systems Software AG nutzt er seine umfassende Expertise, um technologische Innovationen auf globaler Ebene voranzutreiben. Als Absolvent der Universität Passau bringt Sebastian wertvolle internationale Erfahrung mit, die er in verschiedenen Märkten und Branchen gesammelt hat. Neben seiner technischen Kompetenz ist er als Vordenker in Bereichen wie Automatisierung, Künstliche Intelligenz und Unternehmensstrategie anerkannt.