Definition

AWS Step Functions

Step Functions ist ein Cloud-Service von Amazon Web Services (AWS), der es einem Entwickler ermöglicht, die Komponenten von verteilten, mehrkomponentigen Anwendungen zu verwalten und zu visualisieren.

Verteilte und mehrkomponentige Applikationen, wie zum Beispiel Anwendungen, die aus Microservices bestehen, bieten unter anderem eine verbesserte Skalierbarkeit, die Fähigkeit, einen weit verbreiteten Anwendungsausfall zu verhindern, und die Flexibilität, eine Softwarekomponente zu aktualisieren oder Änderungen an einer Softwarekomponente vorzunehmen, ohne die gesamte Anwendung modifizieren zu müssen.

Es kann jedoch schwierig sein, die Interaktion zwischen den Microservices zu verwalten. AWS Step Functions zielt darauf ab, dieses Problem zu lösen.

Der Dienst umfasst eine grafische Benutzeroberfläche, mit der ein Entwickler Anwendungskomponenten – auch Funktionen genannt – als eine Reihe von Schritten, die als Statusmaschine bezeichnet werden, abbilden und visualisieren kann. Dies ermöglicht es dem Entwickler, Workflow-Komponenten ohne Code hinzuzufügen, zu ändern und zu koordinieren.

AWS Step Functions lösen automatisch jeden Schritt aus, der sequentiell, parallel, verzweigt oder zeitbasiert sein kann. Ein Schritt kann auch eine Aufgabe, eine Einheit oder eine Arbeit darstellen. Der Dienst verfolgt jeden Schritt in Echtzeit, ermöglicht Wiederholungsversuche im Falle eines Fehlers und protokolliert den Ausführungsverlauf sowie die Fehler.

Der Dienst löst Aufgaben über die Programmierschnittstelle (API) von Step Functions aus, die von Ressourcen wie einer AWS-Lambda-Funktion, einem CloudWatch-Event, einer EC2-Instanz, einem Container oder einem lokalen Server ausgeführt werden können.

Step Functions kann besonders für serverlose Anwendungen hilfreich sein, da es die Interaktionen zwischen Lambda-Funktionen visualisiert. Dies erleichtert deren Verwaltung.

Ein Entwickler kann Statusmaschinen im deklarativen JSON-Format schreiben. AWS Step Functions unterstützt jede Programmiersprache, die mit ihren APIs interagiert, und ein Entwickler kann ein AWS Software Development Kit zum Schreiben von Aufgaben verwenden.

AWS Step Functions lässt sich auch in eine Vielzahl von Amazon Cloud-Services integrieren, einschließlich AWS Identity and Access Management (IAM) zur Authentifizierung von Benutzern und zur Steuerung des Zugriffs auf Step Functions APIs.

Ein Entwickler kann über die AWS Management Concole auf den Dienst zugreifen. AWS Step Functions verwaltet und skaliert die zugrunde liegende Infrastruktur für den Service.

Ein AWS-Kunde bezahlt für jeden Statusübergang innerhalb des Dienstes – einen Übergang von einem Schritt einer Anwendung zum nächsten Schritt – sowie für die zugrunde liegenden Ressourcen, die der Dienst nutzt.

AWS Step Functions versus andere Dienste

Step Functions ähnelt anderen AWS-Tools, doch die Anwendungsfälle unterscheiden sich leicht:

Amazon Simple Queue Service (SQS) bietet eine gehostete Warteschlange, die Nachrichten zwischen Diensten sendet, speichert und empfängt. SQS erfordert vom Benutzer die Verfolgung von Aktionen auf der Anwendungsschicht, die sich über mehrere Warteschlangen erstrecken können, während Step Functions Aufgaben und Ereignisse verfolgt. Step Functions bietet mehr Sichtbarkeit und Entwicklungsfunktionen als SQS, das für grundlegendere Workflows gedacht ist.

AWS Step Functions ähnelt ebenfalls Amazon Simple Workflow Service (SWF). Der Service bietet die Kontrolle über die Orchestrierungslogik von Anwendungen, verlangt allerdings von einem Entwickler, sogenannte Entscheider zu entwerfen, um Aktivitäts- von Entscheider-Schritten innerhalb eines Anwendungs-Workflows zu trennen. Dadurch sind die Anforderungen komplexer. Laut AWS bietet Step Functions einen produktiveren und agileren Ansatz zur Koordinierung von Anwendungskomponenten als SWF. Der Dienst kann aber dennoch für Entwickler nützlich sein, die abhängige Unterprozesse starten wollen oder externe Signale für Prozesse benötigen.

AWS Batch skaliert die Infrastruktur automatisch, um Batch Computing Workflows zu vervollständigen, doch Step Functions hilft beim Design und der Verwaltung der eigentlichen Anwendung. Ein Entwickler kann mehrere AWS Batch-Jobs innerhalb eines Step Functions Workflows einreichen.

Diese Definition wurde zuletzt im Juni 2020 aktualisiert

Erfahren Sie mehr über Business-Software