TECHNOLOGIE

Microservices

Eine Architektur, die eine Anwendung in viele kleine, unabhängig deploybare Services aufteilt und damit Skalierung und Team-Unabhängigkeit erkauft, zum Preis echter Komplexität verteilter Systeme.

Zuletzt geprüft: 2026-06-02 vonKevin Riedl wiki ↗

Microservices bedeutet, eine Anwendung in viele kleine Services zu zerlegen, von denen jeder ein Stück des Geschäfts verantwortet und jeder für sich deploybar ist. Statt eines Programms, in dem alles im selben Prozess läuft, bekommt man eine Flotte von Services, die über das Netzwerk miteinander reden. Das Versprechen ist echt: Teams können unabhängig liefern, man kann nur die Teile skalieren, die es brauchen, und ein Service kann ausfallen, ohne das ganze System mitzureißen.

Die Kosten sind ebenfalls echt und werden meist unterschätzt. In dem Moment, in dem aus Funktionsaufrufen Netzwerkaufrufe werden, hat man ein verteiltes System, und verteilte Systeme sind schwer. Man erbt Netzwerkausfälle, Latenz, über viele Datenbanken verstreute Daten ohne einfache Transaktionen, Versionierung zwischen Services und die Betriebslast, viele bewegliche Teile statt eines zu betreiben, zu überwachen und zu debuggen. Ein Bug, der früher ein Stacktrace war, ist jetzt eine Spur über fünf Services und drei Queues.

Die ehrliche Haltung: Die meisten Startups sollten mit einem Monolithen starten. Eine gut strukturierte einzelne Anwendung ist schneller zu bauen, weit einfacher zu debuggen und durchaus in der Lage, einen bis zu echtem Umsatz zu tragen. Man teilt in Microservices auf, wenn man einen konkreten Grund hat, ein Team groß genug, dass eine Codebasis ein Engpass ist, oder eine Last, die wirklich unabhängige Skalierung braucht, nicht weil Microservices die modische Antwort sind. Verfrühte Microservices sind die Art, wie kleine Teams aus einem schweren Problem zehn machen.

Polity lief auf sieben Microservices, und das war für seine Größe und Teamstruktur die richtige Entscheidung. Genau das ist der Punkt: Die Architektur sollte dem Problem und dem Organigramm folgen, nicht einem Konferenzvortrag. Wähle die Grenzen dort, wo sie die Kopplung tatsächlich reduzieren, und akzeptiere, dass jede Grenze, die du ziehst, ein Netzwerkaufruf ist, den du jetzt verteidigen musst.

// FAQ

Häufige Fragen

Häufige Fragen

Eine Architektur, die eine Anwendung in viele kleine, unabhängig deploybare Services aufteilt, von denen jeder ein Stück des Geschäfts verantwortet und über das Netzwerk mit den anderen redet. Sie erkauft unabhängiges Deployment und gezielte Skalierung zum Preis der Komplexität verteilter Systeme.
Ein Monolith ist eine Anwendung in einem Prozess, schneller zu bauen und weit einfacher zu debuggen. Microservices sind viele vernetzte Services, besser für große Teams und unabhängige Skalierung, aber deutlich schwerer zu betreiben. Die meisten Startups sollten mit einem Monolithen starten und erst bei konkretem Grund aufteilen.
Wenn eine einzelne Codebasis zu einem echten Engpass für das Team geworden ist, oder wenn ein Teil der Last wirklich unabhängig skalieren muss. Nicht weil es modisch ist. Verfrühte Microservices machen aus einem schweren Problem zehn und bremsen ein kleines Team aus.