AWS Step Functions ist nun allgemein verfügbar

Probieren Sie AWS Step Functions kostenlos aus

Das kostenlose Kontingent für AWS Step Functions umfasst jeden Monat 4 000 Statusübergänge.  

Details zum kostenlosen Kontingent für AWS anzeigen »


F: Was ist AWS Step Functions?

AWS Step Functions ist ein vollständig verwalteter Service, der die Koordination der einzelnen Komponenten verteilter Anwendungen und Microservices durch visuelle Workflows vereinfacht. Durch die Erstellung von Anwendungen aus einzelnen Komponenten, die jeweils eine diskrete Funktion ausführen, können Sie Anwendungen schnell anpassen und verändern. Step Functions ist eine zuverlässige Methode zur Koordination von Komponenten und Durchlaufen der Funktionen Ihrer Anwendungen. Step Functions bietet eine grafische Konsole zum Anordnen und Visualisieren der Komponenten Ihrer Anwendungen als eine Serie von Schritten. Dies vereinfacht die Erstellung und Ausführung von mehrstufigen Anwendungen. Step Functions löst jeden Schritt automatisch aus und verfolgt ihn und führt bei Fehlern Neuversuche aus, sodass Ihre Anwendung in der richtigen Reihenfolge und wie erwartet ausgeführt wird. Step Functions protokolliert den Status von jedem Schritt, wenn also Probleme auftreten, können Sie Probleme schnell diagnostizieren und beheben. Sie können Schritte verändern und hinzufügen, ohne dass Sie Codes schreiben müssen, sodass Sie Ihre Anwendung problemlos entwickeln und schneller erneuern können.

AWS Step Functions verwaltet die Vorgänge und die zugrundeliegende Infrastruktur und unterstützt Sie bei der Sicherstellung, dass Ihre Anwendung in jedem Umfang zur Verfügung steht.

F: Wo liegen die Vorteile bei der Entwicklung meiner Anwendung mithilfe von Service-Orchestrierung zu Koordinierung von Aufgaben?

Die Unterteilung einer Anwendung in Service-Komponenten (oder Schritte) stellt sicher, dass beim Ausfall einer Komponente nicht das gesamte System ausfällt, dass jede Komponente einzeln angepasst werden kann und die Komponenten aktualisiert werden können, ohne dass das gesamte System nach jeder Änderung umgestellt werden muss. Die Koordinierung von Service-Komponenten erfordert die Verwaltung von Ausführungsabhängigkeiten, Zeitplanung und Gleichzeitigkeit entsprechend dem logischen Ablauf der Anwendung. In einer solchen Anwendung können Entwickler diese Aufgaben mithilfe der Service-Orchestrierung durchführen und Ausfälle bearbeiten.

F: Können Sie einige Anwendungsfälle nennen, die sich mit Amazon Step Functions lösen lassen?

AWS Step Functions hilft bei jedem Berechnungsproblem oder Geschäftsprozess, das bzw. der in eine Reihe von Schritten unterteilt werden kann. Folgende Anwendungsfälle sind möglich:

  • Dokument- und Datenverwaltung – Konsolidieren von Daten aus mehreren Datenbanken in vereinheitlichte Berichte. Präzisieren und reduzieren von großen Datensätzen in nützliche Formate.
  • DevOps – Erstellen von Tools für die fortlaufende Integration und den ständigen Einsatz. Erstellen von ereignisgesteuerten Anwendungen, die automatisch auf Änderungen in der Infrastruktur reagieren.
  • E-Commerce – Automatisieren von missionskritischen Geschäftsprozessen wie Auftragsabwicklung und Bestandsverfolgung.
  • Webanwendungen – Implementieren von robusten Prozessen zur Benutzerregistrierung und Anmeldeauthentifizierung.

F: Wie funktioniert AWS Step Functions?

Mit AWS Step Functions definieren Sie Ihre Anwendung als Zustandsmaschine, einer Schrittserie, die das Verhalten der Anwendung erfasst. Zustände in der Zustandsmaschine können Aufgaben, sequenzielle Schritte, parallele Schritte, verzweigende Pfade (Auswahl) und/oder Timer (Warten) sein. Aufgaben sind Arbeitseinheiten. Diese Arbeit kann von AWS Lambda-Funktionen, Amazon EC2-Instances jeden Typs, Containern oder Servern vor Ort durchgeführt werden – allen Komponenten, die mit der Step Functions-API kommunizieren können, kann eine Aufgabe zugewiesen werden. Die visuelle Konsole stellt jeden Zustand automatisch in der Reihenfolge der Ausführung grafisch dar, sodass es einfach ist, mehrstufige Anwendungen zu erstellen. In der Konsole wird der Echtzeit-Status von jedem Schritt hervorgehoben und ein detaillierter Verlauf jeder Ausführung angezeigt. Step Functions bedient und skaliert die Schritte Ihrer Anwendung und der zugrundeliegenden Berechnung, damit Sie sicherstellen können, dass Ihre Anwendung auch bei steigender Nachfrage zuverlässig arbeitet.

F: Wann sollte ich AWS Step Functions und wann Amazon SQS verwenden?

Sie sollten sich für AWS Step Functions entscheiden, wenn Sie Service-Komponenten bei der Entwicklung von hoch skalierbaren und auditierbaren Anwendungen koordinieren müssen. Sie sollten sich für Amazon Simple Queue Service (SQS) entscheiden, wenn Sie eine zuverlässige, hoch skalierbare gehostete Warteschlange zum Versenden, Speichern und Empfangen von Nachrichten zwischen Services benötigen. Step Functions verfolgt alle Tasks und Ereignisse in einer Anwendung. Mit Amazon SQS müssen Sie Ihr eigenes Tracking auf Anwendungsebene implementieren, insbesondere, wenn Ihre Anwendung mehrere Warteschlangen nutzt. Die Step Function-Konsole und die Sichtbarkeits-APIs bieten eine anwendungszentrierte Ansicht, mit der Sie nach Ausführungen suchen, Details einer Ausführung anzeigen und Ausführungen verwalten können. Bei Amazon SQS müssen solche zusätzlichen Funktionen implementiert werden. Step Function bietet zahlreiche Funktionen, die die Anwendungsentwicklung erleichtern, z. B. die Übergabe von Daten zwischen Tasks, Signale und Flexibilität bei der Verteilung von Tasks. Bei Amazon SQS müssen Sie manche Funktionen auf Anwendungsebene implementieren. Während Sie Amazon SQS einsetzen können, um grundlegende Workflows zur Koordinierung Ihrer verteilten Anwendung zu erstellen, gibt es diese Funktionalität bei Step Functions neben anderen Funktionen auf Anwendungsebene zum sofortigen Einsatz.

F: Wann sollte ich AWS Step Functions und wann AWS Batch verwenden?

AWS Batch ist ein Service, mit dem Sie einfach Batch-Computing-Workflows mit jedem Umfang in der AWS Cloud ausführen können. Sie sollten AWS Step Functions verwenden, wenn Sie eine verteilte Anwendung in einer Serie von Schritten erstelln möchten, einschließlich sequenzieller, paralleler und/oder Verzweigungslogik (Auswahlmöglichkeiten). Sie können Batch verwenden, um Aufträge in Ihrer Anwendung auszuführen, und Sie können Step Functions verwenden, um mehrere Batch-Aufträge mit gegenseitigen Abhängigkeiten zu übermitteln. Verwenden Sie Batch, wenn Sie die Compute-Infrastruktur automatisch verwalten möchten, um sich an den erforderlichen Umfang der Stapelverarbeitung anzupassen.

F: Wann sollte ich AWS Step Functions und wann Amazon Simple Workflow Service (SWF) verwenden?

Sie sollten sich für AWS Step Functions für all Ihre neuen Anwendungen entscheiden, da dies ein produktives und agiles Vorgehen zur Koordination von Anwendungskomponenten unter Verwendung von visuellen Workflows darstellt. Wenn Sie external Signale benötigen, die in Ihre Prozesse eingreifen, oder Unterprozesse starten möchten, die ein Ergebnis an einen übergeordneten Prozess zurückgeben, sollten Sie sich für Amazon Simple Workflow Service (SWF) entscheiden. Mit Amazon SWF können Sie ein Entscheiderprogramm schreiben, um Aktivitätsschritte von Entscheidungsschritten zu trennen, anstatt Zustandsmaschinen in einer deklarativen JSON zu schreiben. Dies bietet Ihnen die vollständige Kontrolle über Ihre Orchestrierungslogik, erhöht aber die Komplexität der Anwendungsentwicklung. Sie können hier Entscheiderprogramme in der Programmiersprache Ihrer Wahl schreiben oder das Flow-Framework mit seinen Programmierkonstrukten verwenden, die asynchrone Interaktionen für Sie strukturieren.

F: Was passiert mit dem vorhandenen Amazon Simple Workflow Service (SWF)?

AWS bietet weiterhin Amazon Simple Workflow (SWF) an und unterstützt alle Amazon SWF-Kunden.

F: Wie funktioniert AWS Step Functions mit anderen AWS-Services?

AWS Step Functions funktioniert auch zusammen mit verschiedenen anderen AWS-Services, wie AWS CloudFormation, AWS Lambda, Amazon EC2, Amazon EC2 Container Service (ECS), Amazon API Gateway, Amazon CloudWatch, AWS CloudTrail und Auto Scaling.

Nachfolgend sind Beispiele aufgelistet, die alle durch die verschiedenen AWS-Services ermöglicht wurden:

  • Starten mehrerer verwandter Ressourcen, die für AWS Step Functions-Zustandsmaschinen und -Aktivitäten mithilfe von AWS CloudFormation erforderlich sind.
  • Implementieren von Aufgaben mithilfe von Lambda-Funktionen oder -Programmen, die auf EC2 oder in ECS-Containern ausgeführt werden.
  • Zuordnen der Step Functions-APIs zu Methoden in einer API Gateway-API.
  • Skalieren Sie Ihr EC2-Aufgabenangebot für AWS Step Functions-Aktivitäten als Antwort auf CloudWatch-Metriken.

F: Wie funktioniert AWS Step Functions mit AWS Lambda?

Mit AWS Lambda-Funktionen können Sie Aufgaben innerhalb Ihrer Zustandsmaschine durchführen. AWS Step Function leitet die Eingabe an die festgelegte Lambda-Funktion weiter und wartet dann darauf, dass die Lambda-Funktion ein Ergebnis zurückgibt. Mit Lambda können Sie in allen von Lambda unterstützten Sprachen Aufgaben erstelllen, ohne dass Sie Server bereitstellen oder verwalten müssen. Weitere Informationen zur Verwendung von Step Functions mit Lambda finden Sie in unserer Step Functions-Dokumentation.

F: Wie funktioniert AWS Step Functions mit Amazon EC2 und anderen Compute-Ressourcen?

Die gesamte Arbeit in Ihrer Zustandsmaschine wird durch Aufgaben durchgeführt. Eine Aufgabe kann eine Aktivität sein, die aus einem beliebigen Code in jeder Sprache bestehen kann. Die Aktivitäten können in Amazon EC2, Amazon ECS, mobilen Geräten gehostet werden – grundsätzlich auf jedem Computer, der mit der AWS Step Functions-API kommunizieren kann. Aktivitäten fragen Step Functions langfristig ab und verwenden dabei API-Aufrufe, um Arbeit anzufordern, Eingabedaten zu empfangen, die Arbeit zu erledigen und ein Ergebnis zurückzugeben.

F: Wie funktioniert AWS Step Functions mit Amazon API Gateway?

Amazon API Gateway ist ein vollständig verwalteter Service, der das Veröffentlichen, Warten, Überwachen und Sichern von APIs für Entwickler in jeder beliebigen Größenordnung vereinfacht. Mit nur wenigen Klicks in der AWS Management Console können Sie Ihre Step Functions-APIs Methoden in Ihrer API Gateway-API zuordnen, sodass, wenn eine HTTPS-Anforderung an eine von Ihnen definierte API-Methode gesendet wird, API Gateway Ihre Step Functions-API-Aktionen aufruft.

Sie können eine Amazon API Gateway-API verwenden, um Step Functions-Zustandsmaschinen zu starten, die die Komponenten einer verteilten Back-End-Anwendung koordinieren. Sie können auch vom Benutzer auszuführende Aufgaben in die Schritte Ihrer Anwendung integrieren, zum Beispiel Genehmigungsanforderungen und Antworten. Sie können sogar serverlose asynchrone Aufrufe an die APIs von Services ausführen, die Ihre Anwendung verwendet.

Amazon API Gateway handhabt sämtliche Aufgaben im Zusammenhang mit der Annahme und Verarbeitung von Hunderttausenden gleichzeitiger API-Aufrufe, etwa Datenverkehrsmanagement, Autorisierung und Zugriffssteuerung, Monitoring und Versionsmanagement.

F: Wie funktioniert AWS Step Functions mit Amazon CloudWatch?

Amazon CloudWatch ist ein Überwachungsservice für AWS-Services und -Anwendungen, die Sie über AWS ausführen. Mit Amazon CloudWatch können Metriken gesammelt und nachverfolgt sowie Alarme eingestellt werden. Zudem reagiert es automatisch auf Veränderungen in AWS Step Functions.

Nachfolgend einige Beispiele, was Sie mithilfe von Amazon CloudWatch und AWS Step Functions einrichten können:

  • Überwachen Sie Workflow-Metriken mit Step Functions.
  • Starten Sie Step Functions-Workflows als Antwort auf CloudWatch Events.
  • Erstellen Sie Alarme, sobald Step Functions Schwellenwerte in Metriken überschreitet.
  • Planen Sie mit CloudWatch Events Step Functions-Workflows für Zeitintervalle mit einer Dauer von mindestens einer Minute.

F: Kann ich AWS Step Functions mit meinen Ressourcen vor Ort verwenden?

Ja. AWS Step Functions-Anwendungen können Worker im Rechenzentrum mit Workern in der Cloud kombinieren. Die Worker im Rechenzentrum werden wie gewohnt weiter ausgeführt, zusammen mit den Cloud-basierten Workern.


F: Was sind die ersten Schritte mit AWS Step Function?

Um mit der Verwendung von AWS Step Functions zu beginnen, wechseln Sie zur Detailseite von AWS Step Functions, und klicken Sie auf die Schaltfläche "Get Started for Free". Wenn Sie über kein Amazon Web Services-Konto verfügen, werden Sie aufgefordert, ein Konto zu erstellen. Nachdem Sie sich registriert haben, können Sie einen Probedurchlauf durch die AWS Step Functions-Konsole durchführen, der Sie durch die Schritte zur Erstellung einer Zustandsmaschine leitet. Wechseln Sie von der AWS Management Console zur AWS Step Functions. Wählen Sie dann den Plan "Hello World", und fügen Sie eine "HelloWorld"-Lambda-Funktion ein. Sie können jetzt eine Vorschau ansehen und Ihre Zustandsmaschine ausführen. Wenn Sie mit der Verwendung von AWS Step Functions in Ihrer Anwendung starten möchten, finden Sie Informationen in der Dokumentation zu AWS Step Functions.

F: Welche Sprachen werden von AWS Step Functions verwendet?

Sie können jede Programmiersprache zum Schreiben einer Aktivität verwenden, solange Sie über Web-Service-APIs mit AWS Step Functions kommunizieren können. Für die leichtere Vorgehensweise können Sie ein AWS SDK in der gewünschten Sprache verwenden. AWS Lambda unterstützt Code in Node.js (JavaScript), Python, Java (Java 8-kompatibel) und C# (mit .NET Core Runtime). Zustandsmaschinen werden in JSON mit der Amazon States Language definiert.


F: Wie kann ich Benutzer authentifizieren?

AWS Step Functions ist in AWS Identity and Access Management (IAM) integriert. IAM-Richtlinien können verwendet werden, um den Zugriff auf die Step Functions-APIs zu steuern.


F: Wie zahle ich für AWS Step Functions?

Mit AWS Step Functions zahlen Sie nur für den Übergang von einem Schritt Ihres Anwendungs-Workflow zum nächsten, Zustandsübergang genannt. Die Höhe der Rechnung wird von dem Zustandsübergang bestimmt, unabhängig davon, wie lange ein Zustand dauert (bis zu einem Jahr), sodass es kostengünstig und einfach ist, automatisch von einigen Ausführungen pro Tag zu 10 Millionen pro Monat zu skalieren. Einzelheiten finden Sie auf der Seite mit der Preisübersicht zu AWS Step Functions.