Verteilte Anwendungen: Microservices transparent überwachen

Microservices sind beliebt, erhöhen aber die Komplexität der Infrastruktur. Open-Source-Werkzeuge helfen, die spezialisierten Minidienste zu überwachen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Verteilte Anwendungen – Microservices transparent überwachen
Lesezeit: 14 Min.
Von
  • Alexander Knipping
Inhaltsverzeichnis

Amazon, Netflix und Zalando machen es vor: Mit kleinen Teams und Microservices lassen sich fast täglich neue Features veröffentlichen. Auch für kleinere Unternehmen sind solche verteilten Systeme interessant.

Eine traditionelle Applikation in kleinere, unabhängige Services aufzuteilen, kann viele Vorteile bringen. Teams lassen sich nach deutlich voneinander abgegrenzten Modulen ausrichten und strukturieren. Richtig umgesetzt sind Microservices lose miteinander gekoppelt und weisen eine geringe Abhängigkeit zueinander auf. Diese lose Kopplung erlaubt das Ausrollen, Ändern, Austauschen und Skalieren einzelner Services, ohne das gesamte System negativ zu beeinflussen. Und da Microservices oft nur dünne API-Wrapper um eine serviceeigene Datenbank sind, führt dies letztendlich zu weniger komplexem und leicht verständlichem Quellcode. Die gewonnenen Vorteile gibt es jedoch nicht gratis, denn die eingesparte Komplexität in der Entwicklung findet sich letztendlich aufseiten der Infrastruktur wieder.

Um das volle Potenzial von Microservices nutzen zu können, ist es nicht nur wichtig, eine gut funktionierende CI/CD-Pipeline zu haben. Man sollte sich der Tatsache bewusst sein, dass es sich bei dieser Architektur um ein verteiltes System handelt – mit allen Vor- und Nachteilen. Zu den Vorteilen gehört die bereits erwähnte erhöhte Verfügbarkeit und Ausfallsicherheit. Selbst wenn Teile des Systems unerreichbar oder fehlerhaft sind, ist die Gesamtfunktionalität meist noch gewährleistet. Weiterhin ist es wesentlich effizienter, ein verteiltes System zu skalieren: Durch Mechanismen wie Service Discovery und Lastverteilung können schnell neue Knoten oder Services in ein Cluster ein- und ausgegliedert werden. Zudem ist es heutzutage viel einfacher als noch vor wenigen Jahren, ein verteiltes System zu betreiben: Public-Cloud-Anbieter erlauben es, per Knopfdruck nahezu beliebig viele Maschinen zu starten und zu vernetzen.

Das war die Leseprobe unseres heise-Plus-Artikels "Verteilte Anwendungen: Microservices transparent überwachen". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.