Suche
Skalier mich hoch, Zeebe

Open Source Tool Zeebe: Microservices spielend orchestrieren und visualisieren

Dominik Mohilo

© Shutterstock.com / Sergey Nivens

Microservices sind aus der heutigen Welt der Softwarearchitektur nicht mehr wegzudenken. Doch einem monolithischen Moloch wird man nur dann mit Microservices Herr, wenn man alles im Griff hat – insbesondere, wenn das Ganze auch noch verteilt ablaufen soll. Mit der Orchestrierungsengine Zeebe bietet der Softwarehersteller Camunda nun eine Open-Source-Lösung dafür an.

Das Thema Orchestrierung werden viele unserer Leser in erster Linie aus dem Container-Bereich kennen, wo Tools wie Kubernetes, Docker Swarm oder Amazon ECS im Einsatz sind. Aber auch für Microservices sind Orchestrierungstools schon lange nichts ungewöhnliches mehr, so hat Netflix beispielsweise Ende letzten Jahres seine Orchestration Engine Conductor Open Source gestellt.

Mit Zeebe skalieren und visualisieren

Ein neuer Player im Bereich Microservices wurde nun vom Berliner Softwarehersteller Camunda veröffentlicht. Mit Zeebe stellt das Unternehmen eine neue Open-Source-Technologie zur Orchestrierung von Microservices zur Verfügung, die das Monitoring und das Verwalten (auch großer) Microservice-Architekturen vereinfachen soll.

Mit Zeebe können Orchestration Flows im ISO-Standard BPMN visuell definiert und technisch ausgeführt werden. Das Tool stellt hierbei die vollständige Ausführung der Flows sicher: Kommt es in einem Schritt zu einem Fehler, wird dieser Schritt wiederholt ausgeführt, bis er erfolgreich abgeschlossen werden kann. Durch das Führen eines vollständigen Audit Logs kann der Fortschritt mit BPMN auch visuell nachvollzogen und überwacht werden. Zeebe ist zudem ein Big-Data-System und skaliert mit wachsenden Transaktionsvolumen.

Zeebe / Quelle: Camunda

Vorteilhaft ist, dass Zeebe keine Datenbank oder irgendein externes System benötigt, um zu funktionieren. Das System ist komplett eigenständig und kann unabhängig betrieben werden. Da alle Nodes innerhalb eines Clusters gleich sind, wird die oben erwähnte Skalierung vergleichsweise einfach. Gleichzeitig sorgt dies natürlich auch dafür, dass Zeebe recht komplikationslos mit modernen Datenzentren und Technologien wie Docker, Kubernetes oder DC/OS verknüpft werden kann. Gerade im Bereich DevOps ist auch das CLI nicht zu verachten, mit dessen Hilfe man Verwaltungs- oder Ausführungs-Tasks scripten und vor allem automatisieren kann.

Als verteiltes System setzt Zeebe auf Event-Sourcing, Append-only-Persistenz und Datenreplikation. Es kann außerdem in Kombination mit verschiedenen Programmiersprachen verwendet werden. Clients für Java und Go werden aktuell entwickelt, so die Macher des Toolings, weitere sollen später folgen. Die Produktionsreife ist für den Anfang des kommenden Jahres geplant.

Jakob Freund, CEO von Camunda, erklärt die Motivation hinter dem Projekt:

Durch die digitale Transformation stehen Unternehmen zunehmend unter Innovationsdruck und müssen ihre IT-Entwicklungsprozesse skalieren. Um die dafür notwendige Agilität zu gewinnen, setzen immer mehr Unternehmen auf Microservices und brechen große monolithische Systeme in kleine Teile auf. Die dadurch entstehende Verteilung erschwert jedoch die zuverlässige Ausführung und Überwachung geschäftskritischer Transaktionen und Prozesse über mehrere verteilte Microservices hinweg. Wir haben Zeebe entwickelt um Unternehmen in die Lage zu versetzen die Vorteile von Microservices zu nutzen und gleichzeitig die Kontrolle über ihren Betrieb zu behalten.

Weitere Informationen zu Zeebe sind auf der Webpräsenz des Toolings zu finden, auf GitHub gibt es neben einer Roadmap des Projektes einige Beispiele. Die Dokumentation befindet sich noch im Aufbau, hält aber bereits wertvolle Einblicke für alle bereit, die Zeebe probieren wollen.

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.