Zum Inhalt springen
Yoosana Digital Solutions

Temporal

Temporal einführen: worauf es ankommt

Temporal ist schnell ausprobiert. Damit es im Betrieb trägt, braucht es früh einige Entscheide: zum Schnitt der Abläufe, zur Versionierung, zu Tests und zum Betrieb. Erfahrungen aus unserem eigenen produktiven Einsatz.

Workflows und Aktivitäten richtig schneiden

In Temporal besteht ein Ablauf aus einem Workflow, der die Reihenfolge steuert, und Aktivitäten, die etwas bewirken – etwa ein anderes System aufrufen. Der Workflow-Code muss deterministisch sein: Bei einer Wiederaufnahme wird er anhand des gespeicherten Verlaufs erneut durchlaufen und muss dabei zu denselben Entscheidungen kommen.

Zufallswerte, die Systemzeit, Netzwerkaufrufe und Datenbankzugriffe gehören deshalb nicht direkt in den Workflow, sondern in Aktivitäten oder in die dafür vorgesehenen Funktionen von Temporal. Aktivitäten wiederum sollten so gebaut sein, dass eine Wiederholung nichts doppelt auslöst.

Versionierung von Anfang an

Abläufe dauern oft Tage, Wochen oder Monate – länger als die Zeit zwischen zwei Releases. Wird der Workflow-Code geändert, während noch Abläufe laufen, müssen diese nach ihrer bisherigen Logik weiterlaufen können.

Temporal bietet dafür Mechanismen, etwa Verzweigungen im Code für alte und neue Abläufe oder Worker, die nur eine bestimmte Version ausführen. Welcher Weg passt, sollte vor dem ersten produktiven Ablauf feststehen – und Teil der Tests sein.

Testen wie übrige Software

Workflows und Aktivitäten lassen sich automatisiert testen, auch mit verkürzter Zeit für Wartezeiten und Fristen.

Zusätzlich lohnt sich ein Test, der gespeicherte Verläufe gegen neuen Code abspielt. So fällt vor dem Release auf, wenn eine Änderung laufende Abläufe stören würde.

Selbst betreiben oder Temporal Cloud?

Die Geschäftslogik läuft in beiden Fällen in Ihren Workern, also in Ihrer Umgebung. Unterschiedlich ist, wer den Temporal-Server betreibt, der den Stand der Abläufe speichert.

Kriterium Selbst betrieben Temporal Cloud
Betrieb des Servers Ihr Team: Datenbank, Updates, Überwachung Temporal Technologies
Ort der Ablaufdaten in Ihrer Umgebung beim Dienst, in der gewählten Region
Kosten Infrastruktur und Betriebsaufwand nutzungsabhängige Gebühren
Worker mit Ihrer Geschäftslogik in Ihrer Umgebung in Ihrer Umgebung

Für die Wahl zählen auch Datenschutz und Vorgaben zum Datenort, denn Eingaben und Ergebnisse von Abläufen enthalten oft Personendaten. Temporal erlaubt es, diese Nutzdaten vor dem Versand zu verschlüsseln, sodass der Server sie nicht im Klartext sieht.

Was im Betrieb zählt

Wer Temporal selbst betreibt, sollte diese Punkte von Anfang an regeln:

  • eine Datenbank für den Stand der Abläufe, etwa PostgreSQL, mit Sicherung
  • getrennte Namespaces je Anwendung oder Umgebung
  • Überwachung von Warteschlangen, Fehlern und hängenden Abläufen
  • ein erprobtes Vorgehen für Upgrades von Server und Bibliotheken
  • Regeln, wie lange abgeschlossene Abläufe aufbewahrt werden

Klein beginnen

Bewährt hat sich ein schrittweiser Einstieg mit einem Ablauf, der spürbaren Nutzen bringt:

  1. 1einen Ablauf mit spürbarem Nutzen wählen
  2. 2Architektur und Versionierung festlegen
  3. 3umsetzen und eine Zeit lang neben dem bisherigen Weg laufen lassen
  4. 4den Betrieb einrichten und an das Team übergeben

Alle Leistungen

Häufige Fragen

Welche Programmiersprachen unterstützt Temporal?

Unter anderem Go, Java, Python, TypeScript und .NET.

Brauchen wir Kubernetes?

Nein. Für einen selbst betriebenen Server ist Kubernetes aber ein verbreiteter Weg; Temporal stellt dafür Helm-Charts bereit. Alternativ übernimmt Temporal Cloud den Server.

Prüfen Sie auch bestehende Temporal-Projekte?

Ja. Die technische Ausrichtung des Workflow-Checks prüft bestehende Workflows und den Einsatz von Temporal auf Robustheit, Wartbarkeit und Betriebsreife.

Sprechen wir über Ihren Ablauf

Schreiben Sie uns, worum es geht – wir melden uns mit einem Vorschlag für das weitere Vorgehen.

E-Mail schreiben

Yoosana GmbH · Gotthardstrasse 30 · 6300 Zug · Schweiz · info@yoosana.com