+49 (0) 821 209 615 59 [email protected]
Abstrakte Darstellung von Microservices
Infrastruktur

Microservices

Microservices sind eine Sammlung kleiner, verteilter und unabhängiger Dienste (Services). Jeder dieser Dienste, oder einfacher gesagt Anwendungen, erfüllt eine spezifische Funktion und kommuniziert über gut definierte Schnittstellen (APIs) mit anderen Diensten. Diese Modularität ermöglicht es, einzelne Services unabhängig voneinander zu entwickeln, zu testen und zu skalieren.

Einsatzgebiete von Microservices

Besonders für Cloud-basierte Anwendungen, bei denen Flexibilität und Skalierbarkeit im Vordergrund stehen, sind Microservices geeignet.

Gerade in Umgebungen mit mehreren Entwickler-Teams wird auf sie gesetzt, da eine Einführung neuer Software so erheblich vereinfacht wird. Ein Team erstellt stellt einfach eine neue Anwendung bereit und besitzt dann auch das fortlaufende Ownership für jene App.

Viele bekannte Unternehmen, darunter Netflix und Spotify nutzen Microservices, um ihre riesigen, komplexen Anwendungen zu managen.

Microservices vs. Monolith

Während ein System in der Microservice-Architektur in beliebig viele Einzelanwendungen unterteilt werden kann, stellt ein Monolith genau das Gegenteil dar. Wohingegen monolithische Architekturen oft einfacher und schneller zu entwickeln sind, haben Microservices ihre ganz eigenen Vorzüge.

Wann sind Microservices die bessere Wahl?

Ein Unternehmen muss schnell auf Marktveränderungen reagieren? Mit Microservices kein Problem. Egal ob Skalierung oder neue Technologieeinführung: da alle Dienste getrennt voneinander agieren, kann man sich bei Anpassungen auch nur auf die betroffenen Service konzentrieren. Auch ist es möglich, verschiedene Technologiestacks und Programmiersprachen innerhalb einer Anwendung zu verwenden.

Grenzen monolithischer Architekturen

Monolithen stoßen oft an ihre Grenzen, wenn es um die Skalierung und schnelle Anpassung an neue Anforderungen geht. Bei großen, komplexen Anwendungen kann die Wartung eines Monoliths zudem sehr aufwendig sein.

Vorteile von Microservices

Da jeder Dienst unabhängig ist, können Teams an verschiedenen Diensten parallel arbeiten, was die Entwicklungszeit erheblich verkürzt.

Bei erhöhter Nachfrage kann zudem ein spezifischer Microservice, der mehr Ressourcen benötigt, unabhängig von den anderen skaliert werden.

An eine Technologie ist eine Anwendung nicht gebunden. Während ein Teil der Anwendung unter Java läuft, funktioniert der andere auf Basis von PHP. Möchte man noch eine dritte, vierte oder fünfte Sprache einführen, so ist das kein Problem. Gerade beim Testen neuer Trends ist das der womöglich größte Vorteil.

Fazit

Wer Wert auf Agilität, Skalierbarkeit und schnelle Anpassungsfähigkeit legt, liegt mit Microservices goldrichtig.

Zahlreicher Dienste bringen aber auch erhöhten Verwaltungsaufwand mit sich. Eine Microservice-Architektur läuft nicht selten unter Kubernetes, das erhöhten Manpower benötigt. Eine eigene Cloud muss zudem ständig überwacht und abgesichert werden. Trotzdem kann sich das Aufsetzen einer solchen Umgebung ab einer gewissen Gesamtkomplexität der Anwendung als lohnenswert herausstellen.