Skip to content
IRC-Coding IRC-Coding
Microservices Monolith API Gateway CI/CD Skalierung

Microservices vs. Monolith: Architekturvergleich, Vorteile/Nachteile & Prüfungsfragen

Microservices vs. monolithische Architektur: Unterschiede, Kernkomponenten (API Gateway, DB pro Service), Vor-/Nachteile, Prüfungsfragen und Lernstrategie.

S

schutzgeist

2 min read

Microservices vs. monolithische Architektur

Dieser Beitrag ist eine Begriffserklärung zum Architekturvergleich Microservices vs. Monolith – inklusive Prüfungsfragen, Kernelementen und Tags.

In a Nutshell

Microservices und monolithische Architektur sind zwei gegensätzliche Ansätze zur Softwarestruktur: modular/dezentral/skalierbar vs. zentral/einfach/konsistent.

Kompakte Fachbeschreibung

Die monolithische Architektur beschreibt eine Software, die als eine einzige Einheit bereitgestellt und betrieben wird. Funktionen, Logiken und Schnittstellen sind eng gekoppelt.

Die Microservices-Architektur zerlegt die Anwendung in viele kleine, eigenständige Dienste, die über Netzwerkschnittstellen (meist REST oder Messaging) kommunizieren. Jeder Service ist unabhängig entwickel-, test- und deploybar – oft mit eigener Datenhaltung.

Microservices bieten Vorteile bei Skalierung und Wartbarkeit, benötigen aber mehr Infrastruktur, DevOps-Know-how und saubere Schnittstellen.

Prüfungsrelevante Stichpunkte

  • Monolith = eine Anwendung, ein Deployment
  • Microservices = unabhängige Dienste (oft eigene Repositories)
  • Microservices fördern Skalierbarkeit und Flexibilität (IHK-relevant)
  • Monolith ist einfacher bei kleinen Projekten (Praxisbezug)
  • Microservices brauchen API-Gateways, Authentifizierung, Logging (Sicherheitsaspekt)
  • Infrastrukturaufwand bei Microservices ist höher (Wirtschaftlichkeit)
  • Schnittstellen und Abhängigkeiten müssen dokumentiert werden (Dokumentationspflicht)
  • Microservices eignen sich gut für CI/CD und agile Teams

Kernkomponenten

  1. Servicegrenzen und Bounded Context
  2. Kommunikation (REST, gRPC, Messaging)
  3. Datenbank pro Service (Microservices)
  4. Zentrale Datenbank (Monolith)
  5. Deployment-Strategie (Single vs Multiple Pipelines)
  6. Service Registry & Discovery
  7. Monitoring/Logging pro Service
  8. Sicherheitslayer und Authentifizierung
  9. Fehlerisolierung (Circuit Breaker, Retry, Fallback)
  10. Service-Dokumentation (OpenAPI)

Einfaches Praxisbeispiel

Monolith:
Ein Webshop ist ein Java-Spring-Boot-Projekt mit Modulen (User, Bestellungen, Lager) → ein Deployment.

Microservices:
User-Service, Order-Service, Inventory-Service sind eigenständige Dienste, kommunizieren über REST,
werden getrennt via Docker/Kubernetes deployed.

Vorteile und Nachteile

Monolith

  • Vorteile: einfaches Deployment, geringerer Infrastrukturbedarf, weniger Komplexität bei kleinen Teams
  • Nachteile: schwer skalierbar, Änderungen beeinflussen andere Module, längere Releasezyklen

Microservices

  • Vorteile: unabhängige Teams, Skalierung pro Service, Technologievielfalt
  • Nachteile: hoher DevOps-Aufwand, komplexe Schnittstellen, verteilte Transaktionen schwieriger

Typische Prüfungsfragen (mit Kurzantwort)

  1. Was ist ein Monolith? Eine Anwendung, die als eine Einheit läuft und deployed wird.
  2. Zwei Vorteile von Microservices? Skalierung einzelner Dienste, unabhängiges Deployment.
  3. Wann ist ein Monolith sinnvoll? Bei kleinen Projekten mit wenigen Beteiligten.
  4. Wie kommunizieren Microservices typischerweise? Über HTTP/REST, gRPC oder Messaging (Kafka/RabbitMQ).
  5. Warum ist Microservice-Architektur komplexer? Verteiltes System, mehrere Deployments, mehr Fehlerquellen.
  6. Was ist ein API-Gateway? Zentrales Eingangstor zu Services (Routing, Auth, Monitoring).

Glossar

BegriffDefinition
Monolithische Architekturzentrale Softwarestruktur in einer Codebasis
Microservices-Architekturverteilte Architektur mit autonomen Diensten
API-Gatewayzentrale Steuerung der Zugriffe auf Microservices

Freie Antwort

Für viele IHK-Prüfungsprojekte ist ein Monolith oft besser dokumentierbar und ausreichend. Microservices lohnen sich erst, wenn klare Grenzen, Infrastruktur und DevOps-Fähigkeiten vorhanden sind. Ein guter Kompromiss ist ein modularer Monolith.

Lernstrategie

  1. Verständniseinstieg: Skizziere beide Architekturen für denselben Use Case.
  2. Vertiefung: Baue ein Mini-System mit Docker Compose.
  3. Prüfungsfokus: Begründe schriftlich die Architekturwahl.
  4. Fehlervermeidung: Nicht automatisch „Microservices = besser“ annehmen.

Themenanalyse

  • Technischer Kern: Serviceorientierung, Schnittstellen, Deployments
  • Implementierung: Kommunikation, Datenkonsistenz, CI/CD
  • Sicherheit: Dienstgrenzen, Auth, Gateways
  • Doku: Schnittstellen/Abhängigkeiten/Deployments
  • Wirtschaftlichkeit: Aufwand vs. Flexibilität

Weiterführende Infos

  1. https://martinfowler.com/articles/microservices.html
  2. https://www.ibm.com/cloud/learn/monoliths-vs-microservices
  3. https://learn.microsoft.com/en-us/azure/architecture/guide/architecture-styles/microservices
Zurück zum Blog
Share:

Ähnliche Beiträge