Durable Workflows

Durable Workflows

Durable Workflows sind Programmabläufe, die ihren Zustand dauerhaft speichern und nach einem Absturz genau dort weiterlaufen, wo sie unterbrochen wurden. Sie werden vor allem für lange, mehrstufige Prozesse eingesetzt, etwa Bestellungen, Zahlungen oder KI-Agenten.

Ein Programm läuft normalerweise nur im Arbeitsspeicher eines Computers. Fällt dieser Computer aus, ist alles weg, was bis dahin passiert ist. Bei einem kurzen Vorgang ist das kein großes Problem: man startet einfach neu. Bei einem Vorgang, der Stunden oder Tage dauert, wäre ein Neustart von vorne teuer und ärgerlich. Durable Workflows lösen genau dieses Problem. Sie schreiben nach jedem Zwischenschritt fest, was schon erledigt wurde, und können deshalb nach einer Unterbrechung an derselben Stelle weitermachen.

Warum Abstürze mitten im Ablauf so teuer sind

Viele Geschäftsvorgänge bestehen aus mehreren Schritten, die nacheinander passieren müssen. Eine Onlinebestellung zieht Geld von der Karte ein, reserviert die Ware im Lager, bucht den Versand und schickt eine Bestätigung. Zwischen diesen Schritten vergehen manchmal Minuten, manchmal Tage. Wenn der Server nach dem Geldeinzug abstürzt, entsteht ein gefährlicher Zwischenzustand: Der Kunde hat bezahlt, aber niemand verschickt etwas.

Ohne besondere Vorkehrungen muss man solche Fälle mühsam von Hand aufräumen. Entwicklerinnen und Entwickler bauen dann eigene Datenbanktabellen, Wiederholungslogik und Aufräumskripte. Dieser Code hat mit dem eigentlichen Geschäft nichts zu tun und ist trotzdem oft der größte Teil des Programms. Durable Workflows nehmen einem diese Arbeit ab, weil das Speichern und Fortsetzen von der Plattform erledigt wird.

Ein zweiter Grund ist Nachvollziehbarkeit. Weil jeder Schritt aufgezeichnet wird, lässt sich später genau ansehen, was wann passiert ist. Das hilft bei der Fehlersuche und bei Prüfungen, etwa wenn eine Bank belegen muss, warum eine Zahlung so und nicht anders lief.

Das Protokoll, aus dem der Ablauf wiederhergestellt wird

Der Kern ist ein Protokoll, im Fachjargon Event Log genannt. Jedes Mal, wenn der Ablauf etwas Wichtiges tut, wird das Ergebnis in eine Datenbank geschrieben. Startet der Ablauf nach einem Absturz neu, liest die Plattform dieses Protokoll von vorne. Schritte, deren Ergebnis schon aufgezeichnet ist, werden nicht noch einmal wirklich ausgeführt, sondern nur nachgespielt. Erst an der ersten unbekannten Stelle läuft echte Arbeit weiter.

Man kann sich das wie ein Kochbuch mit Häkchen vorstellen. Nach jedem erledigten Arbeitsschritt setzt man ein Häkchen an den Rand. Kommt jemand Neues in die Küche, liest er die Häkchen und weiß sofort, wo es weitergeht. Der Kuchen wird nicht zweimal in den Ofen geschoben.

Damit das funktioniert, muss der Ablauf deterministisch sein: Bei gleichen Eingaben muss immer dasselbe herauskommen. Zufallszahlen oder die aktuelle Uhrzeit darf man deshalb nicht einfach so verwenden, sondern nur über Funktionen der Plattform, deren Ergebnisse ebenfalls protokolliert werden. Aufrufe nach außen, etwa an eine Zahlungsschnittstelle, laufen als sogenannte Activities. Sie werden bei Fehlern automatisch wiederholt, mit wachsenden Wartezeiten dazwischen.

Von Bestellsystemen bis zu KI-Agenten

Bekannte Werkzeuge dieser Art sind Temporal, Azure Durable Functions, AWS Step Functions und Restate. Große Anbieter wie Netflix, Stripe oder Uber setzen solche Systeme für Abrechnungen, Auslieferungen und Bestellprozesse ein. In Stellenanzeigen und Fachartikeln taucht dafür auch der Begriff Durable Execution auf, der dasselbe Prinzip meint.

Besonders viel Aufmerksamkeit bekommt das Thema durch KI-Agenten. Das sind Programme, die ein Sprachmodell mehrfach hintereinander befragen und dabei Werkzeuge benutzen, etwa eine Suchmaschine oder eine Datenbank. Solche Ketten dauern lange, kosten bei jedem Modellaufruf Geld und brechen häufig ab. Ein Durable Workflow sorgt dafür, dass nach einem Fehler nicht die gesamte teure Kette neu berechnet werden muss.

Ein häufiger Irrtum ist, Durable Workflows mit einer Warteschlange gleichzusetzen. Eine Warteschlange transportiert einzelne Aufgaben, kennt aber den Gesamtablauf nicht. Ein Durable Workflow kennt die Reihenfolge, den Zustand und die Fehlerbehandlung des ganzen Prozesses. Warteschlangen bleiben trotzdem wichtig, denn sie werden oft im Inneren solcher Plattformen verwendet.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.