Microservices sind ein Architekturstil, bei dem eine Anwendung in viele kleine, autonome Dienste zerlegt wird. Jeder Dienst hat eigene Verantwortung, eigenen Datenspeicher und eigenen Deployment-Zyklus. Kommuniziert wird über klar definierte APIs oder Message Queues, niemals durch direkten Zugriff auf fremde Datenbanken.
Der versprochene Gewinn: Teams können unabhängig arbeiten, Skalierung erfolgt gezielt pro Service, Technologiewahl ist pro Dienst möglich, Ausfälle bleiben lokal. Die Realität ist komplexer. Microservices bringen verteilte Systeme mit sich, mit allen ihren Problemen: Netzwerkfehler, Konsistenz, Observability über viele Dienste, Deployment-Orchestrierung.
Die Entscheidung Monolith oder Microservices sollte am Team- und Domain-Schnitt festgemacht werden, nicht an Mode. Für kleine Teams mit einem klaren Produkt ist ein gut strukturierter Monolith oft die bessere Wahl. Microservices entfalten ihren Wert, wenn viele Teams parallel liefern müssen und die Domain natürliche Grenzen hat.