Rookout hilft Developern bei Fehlersuche in Echtzeit Oberservability ohne Unterbrechung des Programmablaufs
Anbieter zum Thema
Die Daten fürs Troubleshooting von Cloud-Native-Apps sind meist nicht in einem Zustand, der schnelle Problemlösungen fördert. Der neue Ansatz Cloud Observability hilft hier.

Troubleshooting von Software ist immer knifflig. Besonders gilt das für Cloud-Native-Software mit ihren schnellen und sehr frühzeitigen Publikationszyklen. Hier stößt die übliche Strategie, mit ausführlichen, meist aus der Anwenderperspektive arbeitenden Logs und anderen Methoden, wie sie die Werkzeuge von Dynatrace, New Relic oder App Dynamics bereitstellen, an Grenzen. „Logs aus dem Application Performance Management helfen in 90 Prozent der Fälle nicht“, sagt Shahar Fogel, Mitgründer und CEO von Rookout.
Perfektion von der ersten Version an ist bei Cloud Native Apps ohnehin nicht das Ziel. Vielmehr sollen die Apps im Einsatz erweitert werden und reifen, was oft zulasten des Anwendungskomforts geht. Entsprechend häufig kommen neue Releases.
Zudem arbeiten in DevOps-Umgebungen Betrieb und Entwicklung enger zusammen als üblich, was sich aber nicht im Werkzeug fürs Fehlermanagement widerspiegelt. Denn Fehler resultieren häufig aus dem Zusammenspiel vieler einzelner Mikroservices in unterschiedlichen Versionen mit den unterschiedlichsten Endgeräten im gegebenen Moment.
Ausweg Cloud Observability
Das ist besonders deshalb problematisch, weil laut CNCF (Cloud Native Computing Foundation) bis 2024 schon 70 Prozent aller Applikationen Cloud-nativ sein dürften – 2020 waren es erst zehn Prozent. Deshalb bildet sich jetzt die neue Disziplin der Cloud Observability heraus. Ihr Marktvolumen wächst rasant.
Schon 2022 lag der Markt für Observability-Plattformen laut Future Markets Insights bei etwa 2,2 Milliarden Dollar. Bis 2032 soll es auf etwa 5.55 Milliarden Dollar gewachsen sein. Das entspricht einem jährlichen Wachstum von acht Prozent. Europa hängt hinter den USA zurück, hier soll das jährliche Wachstum nur 4.2 Prozent betragen, das derzeitige Marktvolumen liegt bei 30 Prozent des weltweiten. Statista prognostiziert, zudem, die Märkte für Cloud Observability und Cloud Security sollten mittelfristig zusammenwachsen.
Neuartiger Input für die Entwickler nötig
Entwickler, die fehlerhaften Code reparieren sollen, möchten genau sehen, welcher Code in einem bestimmten Moment gelaufen ist, auf welchen anderen Code er sich bezogen hat und wie der gesamte Stack sich verhalten hat. Doch diese Informationen liefern herkömmliche Tools nicht. Um die Fehler zu finden, müsse für die Beseitigung der Malaise meist der gesamte Entwicklungszyklus der App neu durchlaufen werden, kritisiert Fogel. Üblich sei nämlich eine statische Instrumentierung. Da aber niemand genau wissen, wo und wann in einer App Fehler aufträten, reiche das nicht.
Snapshot direkt vom laufenden Code
Die israelische Softwareschmiede Rookout geht deshalb einen anderen Weg, den das Unternehmen im Zuge der jüngsten IT Press Tour in Israel vorgestellt hat.
Gegründet wurde Rookout 2017. Das Führungspersonal hat teils, wie viele Hightech-Entrepreneure des Landes, länger für den israelischen Geheimdienst gearbeitet. Es kennt daher alle Tricks, wenn es darum geht, etwas ohne erkennbare Störung abzuhören. Die Firma beschäftigt mittlerweile 45 Mitarbeiterinnen und Mitarbeiter. Sie konnte 28,4 Millionen Dollar einwerben. Rookout hat einen Sitz in Tel Aviv und einen in Kalifornien. Zu den Financiers gehören einige bekannte lokale Venture-Fonds, beispielsweise Emerge und TLV Partners.
Sein Wissen setzt Rookout ein, um Snapshots des laufenden Codes in Echtzeit on demand aus jeder Umgebung heraus zu gewinnen. Programmiert ist Rookouts Lösung in Java, angeboten wird sie derzeit als ein auf Kubernetes laufender Service in Google Cloud. Dass das Toll Freunde hat, zeigt sich an namhaften Anbietern, die es integriert haben: Dynatrace, App Dynamics, Datadog, AWS, Azure, Google Cloud und Red Hat. Dazu kommen jede Menge kleinerer Player wie Sumo, Loggly, JFrog und so weiter.
Rookout setzt ein Software Development Kit und einen Agenten auf dem Server voraus, der einen mimimalen Zugriff auf den zu prüfenden Code gewährt. Damit keine Unberechtigten im Code herumfuhrwerken können, hat Rookout ein rollenbasiertes Zugriffssystem (RBAC) implementiert.
IDE-ähnliche Schnittstelle
Anwender arbeiten mit einer IDE-ähnlichen Schnittstelle. Integrationen sind mit Jetbrains, CLI-Werkzeuge und VS-Code möglich. Überwacht werden eBPF-, Frontend- und mobile Apps. Anwender können herausfiltern, welche Abläufe sie auf welchen Servern prüfen wollen. Der Agent ermöglicht es ihnen, in die Runtime bei laufendem Betrieb Unterbrechungspunkte in den Code der App zu injizieren. Das dauert pro Punkt eine Millisekunde.
Sind die gewünschten Messungen durchgeführt und so alle gewünschten Daten gesammelt, werden die injizierten Zeilen wieder entfernt. Der Overhead der Rookout-Lösung liegt bei zwei bis drei Prozent.
Datenreduktion und Datenschutz integriert
Die Logdateien werden dahin geschickt, wo sie anschließend bearbeitet werden sollen. Zuvor filtert das Tool sensitive und personenbezogene Daten aus. Auch der Umfang der Dateien wird reduziert. Auf Wunsch landen die Daten ausschließlich on premises.
Den Code der Apps verändert Rookout nicht, es dient nur der Aufzeichnung im kritischen Moment. Gemessen werden können alle lokalen Variablen und Werte, Software- und Prozessinformationen sowie der gesamte Stack und seine Leistung, zudem Daten darüber, um welches Deployment, Code Level oder um welchen Betriebsmodus es sich handelt.
Breites Anwendungsfeld
Diese Methode eignet sich für das Live-Debugging von Logfiles, fürs Live-Logging, für die Fehlersuche in Kubernetes, Serverless-Services, und Applikationen, die ein Service-Mesh nutzen. Rookout unterstützt bislang Java und andere auf JVM-basierende Sprachen, Python, .NET, Node js, Ruby und Golang.
Die meisten Anwender nutzen das Werkzeug von Ruby neben APM- und Logging-Tools. Beispielsweise verwenden sie Rookout für das Debugging eigener Agenten. Das wird dadurch begünstigt, dass es laut Rookout in nur 20 Minuten zu installieren ist. Es gibt eine kostenlose Version und eine, deren Preis sich nach der Zahl derjenigen richtet, die Rookout nutzen. Nur bei letzterer ist wie üblich Support eingeschlossen.
Neue Version im April
Mit der neuen Version Anfang April integriert Rookout Live-Metrik in sein Portfolio. Damit können als Ergänzung konventioneller Metrik-Tools ad hoc Messungen zu- und wieder abgeschaltet werden. Die Daten werden in Echtzeitgraphen der Ereignisse umgesetzt. Dafür müssen weder der Apps-Provider noch andere Softwarekomponenten geändert werden. Dazu kommen Smart Snapshots: Kunden können im Vorhinein Snapshot-Befehle in Code einfügen. So lassen sich Tests und Monitoring beschleunigen.
Laut Rookout dauert es mit seinen Tools nur noch ein Fünftel der Zeit, eine App zu reparieren. Konventionelle, ausgedruckte Logs werden dadurch sehr viel seltener gebraucht, was die Logging-Kosten um 30 bis 40 Prozent senke. Außerdem schrumpfe die Zeit bis zur Markteinführung neuer Funktionen oder Apps und es gebe weniger unnötige Deployments.
Rookout adressiert mit seiner Lösung Anwender aller Größenordnungen. Beispielsweise große Versicherungsunternehmen, der CAD-Spezialist Autodesk, Amdocs, Netapp und Mobileye, aber auch Mittelständler. Laut dem Anbieter geht die Zahl der Downloads in die Hunderttausende.
(ID:49322054)