Workflow-Management


Über Workflow-Management

Der Workflow-Dienst ermöglicht es, Aufgaben und Workflows zu definieren, damit Workflows in der Cloud-Umgebung verwaltet und ausgeführt werden können. Das Ziel des Workflow-Management-Dienstes ist die Unterstützung von Geschäftsprozessen (dazu gehören Aufgaben, ihre Ausführung und deren Reihenfolge, Abhängigkeiten, Berichtsgenerierung usw.), anstatt Dienste sowie Infrastruktur-Stacks zu erstellen oder zu verwalten, um einen Dienst auszuführen.(was ein Zweck der Infrastruktur-Orchestrierungstools ist).

Die meisten Geschäftsprozesse bestehen aus mehreren einzelnen, miteinander verknüpften Schritten, die in einer bestimmten Reihenfolge ausgeführt werden müssen. Ein Anwender kann einen Geschäftsprozess als eine Menge von Aufgaben und deren Übergängen beschreiben. Danach ist es möglich, eine solche Beschreibung in dem Dienst hochzuladen, der sich Zustandsverwaltung nennt,und sich um die korrekte Ausführungsreihenfolge, Parallelität, Synchronisation und der Hochverfügbarkeit kümmert.

Der Workflow-Management-Dienst basiert auf einem Openstack-Dienst namens "Mistral". Diese Dokumentation zielt nicht darauf ab, eine vollständige Beschreibung der Workflow- und Aufgabendefinitionssyntax zu geben, daher können Sie auf die verfügbare Online-Dokumentation wie [diesee "Anleitung] zugreifen (https://docs.openstack.org/mistral/latest/).


Begriffe und Definitionen

Bevor wir die Workflow-Management-Funktionalität besprechen, lassen Sie uns die die in der Plattform (und in diesem Dokument) verwendete Terminologie erklären.

Workflow ist ein Satz von Aufgaben, der einen Geschäftsprozess abbildet. Auf der Plattform wird das Workflow-Objekt erstellt, wenn der Benutzer eine Workflow-Definition hochlädt, das ist eine Textbeschreibung in einer Sprache, die die Plattform interpretieren und ausführen kann. Oftmals sind Workflows so konzipiert, dass sie nur bestimmte Eingaben akzeptieren, wie Objektnamen oder Ressourcen IDs, auf die sich der Workflow beziehen kann.

Workflows können entweder manuell (durch den Benutzer) ausgeführt werden, oder durch das Erstellen eines Triggers. Der Trigger hat einen Zeitplan angehängt, der steuert, wann der Workflow ausgeführt wird. Ein Trigger-Zeitplan verwendet das Standard "cron"-Format, das aus einer 5-stelligen Zahlenfolge besteht, wobei die Zahl auch durch ein "Stern" Symbol ersetzt werden kann. Zum Beispiel: "43 7 * * 5` ist ein gültiges Cron-Muster.

Der Zeitplan wird verwendet, um zu bestimmen, wann die Ausführung ausgelöst werden soll und wird wie folgt interpretiert:

    1. Nummer - Minuten der Stunden, zwischen 0 und 59.
      • Stunde des Tages, zwischen 0 und 23.
      • Tag des Monats, zwischen 1 und 31.
      • Monat des Jahres, zwischen 1 und 12
      • Tag der Woche, zwischen 0 und 7 (sowohl 0 als auch 7 stehen für Sonntag).

Jede Zahl kann auch durch das Symbol * ersetzt werden - das bedeutet, dass kein spezifischer Wert gesetzt wurde. Daher interpretiert die Plattform das Muster über 43 7 * * 5 wie Wöchentlich ausführen - jeden Freitag, um 7:43 Uhr". Ein anderes Muster 56 7 15 * * bedeutet: "Einmal im Monat ausführen, jeden 15. des Monats, um 7:56".

Beachten Sie, dass der Scheduler mit der UTC-Zeitzone arbeitet (welche von Ihrer lokalen Zeitzone abweichen kann).

Eine Workflow Ausführung ist ein Objekt, das die Ergebnisse eines bestimmten Workflows ausführt. Es kann dafür genutzt werden um Fehler zu finden.

Erstellen eines Workflows

Um einen neuen Workflow zu erstellen, klicken Sie auf den Abschnitt "Workflow" im linken Menü. Klicken Sie dann auf die Schaltfläche "Workflow erstellen".

In diesem Bildschirm haben Sie die Wahl, entweder Ihre eigene Workflow Definition (eine YAML-Datei) hochzuladen, oder einen Workflow aus einer Vorlage zu erstellen. Das Portal bietet eine Reihe von einfachen Workflows als Vorlagen an, um Routineabfragen wie z. B. das Anlegen oder Löschen von Instanzen durchzuführen. Sie können diese Vorlagen entweder als Ausgangspunkt für die Erstellung Ihres eigenen Workflows oder für Schulungszwecke verwenden.

Sobald der Workflow erstellt ist, können Sie ihn ausführen - entweder sofort (durch Drücken der Taste "Ausführen" oder durch die Auswahl des entsprechenden Aktionsmenüs), oder durch Erstellen eines Triggers mit Zeitplan. In beiden Fällen, wenn der Workflow beliebige Eingabeparameter enthält, werden Sie aufgefordert, diese einzugeben.

Wenn die Ausführung abgeschlossen ist, können Sie die Ausführungsergebnisse in dem entsprechenden Abschnitt des Workflows sehen.

Außerdem können Sie die Workflow-Definition jederzeit direkt im Webbrowser ändern. Sobald die Änderungen abgeschlossen sind, wird die Workflow-Definition in der Plattform durch die neue ersetzt.

Was die Abrechnung betrifft, so sind Workflow-Ausführungen kostenlos. Wenn der Workflow jedoch Ressourcen (wie Instanzen oder Volumes) benötigt, werden diese entsprechend in Rechnung gestellt.

Syntax zur Workflow-Definition

Workflow-Definitionen basieren auf der YAML-Syntax mit YAQL-Abfragesprachenerweiterungen. Die Erweiterungen ermöglichen eine Laufzeitauswertung der von der Plattform erhaltenen Ergebnisse und treffen so Entscheidungen auf Basis der Werte.

Weitere Informationen zur unterstützten Workflow-Definitionssyntax finden Sie in dieser Dokumentation link.