Übersicht

  • 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 separate Funktion ausführen, können Sie Anwendungen einfach skalieren und schnell 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.

  • Welche Vorteile hat die Gestaltung meiner Anwendung durch Orchestrierung?

    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.

  • Was sind einige gängige AWS Step Functions-Anwendungsfälle?

    AWS Step Functions hilft bei jedem Berechnungsproblem oder Geschäftsprozess, das bzw. der in eine Reihe von Schritten unterteilt werden kann. Es ist auch nützlich für die Erstellung von End-to-End-Workflows zur Verwaltung von Aufträgen mit wechselseitigen Abhängigkeiten. Folgende Anwendungsfälle sind möglich:

    • Datenverarbeitung: Konsolidierung von Daten aus mehreren Datenbanken zu einheitlichen Berichten, Verfeinerung und Reduzierung großer Datensätze in nützliche Formate oder Koordination von mehrstufigen Analysen und Workflows für Machine Learning.
    • DevOps und IT-Automatisierung: Entwickeln Sie Tools für kontinuierliche Integration und kontinuierliche Bereitstellung oder erstellen Sie ereignisgesteuerte 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.

    Weitere Informationen finden Sie unter AWS Step Functions-Anwendungsfälle und Kundenmeinungen.

  • Wie funktioniert AWS Step Functions?

    Mit AWS Step Functions definieren Sie Zustandsmaschinen, die Ihren Workflow als eine Reihe von Schritten, deren Beziehungen sowie deren Ein- und Ausgänge beschreiben. Zustandsmaschinen enthalten eine Reihe von Zuständen, die jeweils einen einzelnen Schritt in einem Arbeitsablaufdiagramm darstellen. Zustände können Arbeiten ausführen, Entscheidungen treffen, Parameter übergeben, die parallele Ausführung einleiten, Timeouts verwalten oder Ihren Workflow mit Erfolg oder Misserfolg beenden. Die visuelle Konsole stellt jeden Zustand automatisch in der Reihenfolge der Ausführung grafisch dar, sodass es einfach ist, mehrstufige Anwendungen zu erstellen. Der Echtzeit-Status der einzelnen Schritte wird hervorgehoben und ein detaillierter Verlauf jeder einzelnen Ausführung angezeigt. Weitere Informationen finden Sie unter Funktionsweise von Step Functions im AWS Step Functions-Entwicklerhandbuch.

  • Wie verbindet sich AWS Step Functions mit meinen Ressourcen?

    Sie können Ihre Zustandsmaschinen so konfigurieren, dass sie Arbeit verrichten, indem Sie Aktivitäts- und Serviceaufgaben verwenden. Mit Aktivitätsaufgaben können Sie einen bestimmten Schritt in Ihrem Workflow einem Code zuweisen, der an einem anderen Ort ausgeführt wird (bekannt als Activity-Worker). Ein Activity-Worker kann jede Anwendung sein, die eine HTTP-Verbindung herstellen kann, die überall gehostet wird. So können Activity-Workers beispielsweise auf einer Amazon EC2-Instance, auf einem mobilen Gerät oder auf einem lokalen Server ausgeführt werden. Der Activity-Worker pollt Schrittfunktionen für die Arbeit, nimmt alle Eingaben aus den Schrittfunktionen, führt die Arbeit mit Ihrem Code aus und gibt Ergebnisse zurück. Da Activity-Worker Arbeit anfordern, ist es einfach, Worker zu verwenden, die hinter einer Firewall eingesetzt werden.

    Mit Serviceaufgaben können Sie einen Schritt in Ihrem Workflow mit einem unterstützten AWS-Dienst verbinden. Step Functions schiebt Abfragen an andere Dienste, damit sie Aktionen für Ihren Workflow durchführen können, wartet auf die Fertigstellung der Serviceaufgabe und fährt dann mit dem nächsten Schritt fort.

    Eine AWS Step Functions-Zustandsmaschine kann Kombinationen von Aktivitätsaufgaben und Serviceaufgaben enthalten. AWS Step Functions-Anwendungen können auch Activity-Worker, die in einem Rechenzentrum ausgeführt werden, mit Serviceaufgaben kombinieren, die in der Cloud ausgeführt werden. Die Worker im Rechenzentrum werden wie gewohnt weiter ausgeführt, ebenso wie alle Cloud-basierten Serviceaufgaben.

  • Was sind die ersten Schritte mit AWS Step Functions?

    Es gibt eine Reihe von Möglichkeiten, wie Sie mit den AWS Step Functions beginnen können:

  • Welche Sprachen werden von AWS Step Functions verwendet?

    AWS Step Functions-Zustandsmaschinen werden in JSON mit der deklarativenAmazon States Language definiert. Um einen Activity-Worker zu erstellen, können Sie jede beliebige Programmiersprache verwenden, solange Sie mit den AWS Step Functions über Webservice-APIs kommunizieren können. Für die leichtere Vorgehensweise können Sie ein AWS SDK in der gewünschten Sprache verwenden. AWS Lambda unterstützt den Code, der in Node.js (JavaScript), Python, Golang (Go) und C# geschrieben wurde (mit der .NET Core-Runtime und anderen Sprachen). Weitere Informationen zum Lambda-Programmiermodell finden Sie im AWS Lambda-Entwicklerhandbuch.

Vergleiche

  • Wann sollte ich AWS Step Functions im Vergleich zu 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 (Amazon 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.

  • Wann sollte ich AWS Step Functions im Vergleich zu 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 externe 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 (Amazon 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.

Integration

  • Wie verbinden und koordinieren AWS Step Functions andere AWS-Dienste?

    Workflows, die Sie mit AWS Step Functions erstellen, können andere AWS-Dienste über Serviceaufgaben verbinden und koordinieren. Beispielsweise können Sie:

    • Eine AWS Lambda-Funktion aufrufen
    • Einen Amazon Elastic Container-Service oder einer AWS Fargate-Aufgabe ausführen
    • Ein bestehendes Element aus einer Amazon DynamoDB-Tabelle abrufen oder ein neues Element in eine DynamoDB-Tabelle einfügen.
    • Einen AWS Batch-Auftrag senden und warten, bis er abgeschlossen ist
    • Eine Nachricht zu einem Amazon SNS-Thema veröffentlichen
    • Eine Nachricht an eine Amazon SQS-Warteschlange senden
    • Einen AWS Glue-Auftrag starten
    • Einen Amazon SageMaker-Auftrag erstellen, um ein Machine Learning-Modell zu trainieren oder einen Datensatz im Batch-Verfahren zu transformieren.

    Weitere Informationen über die Verwendung von Step Functions zur Verbindung mit anderen AWS-Diensten finden Sie im Step Functions-Entwicklerhandbuch. Sie können auch Aufgaben in Ihren Zustandsmaschinen erstellen, die Anwendungen ausführen, siehe Häufig gestellte Fragen im Abschnitt Übersicht, Wie verbinden sich AWS Step Functions mit meinen Ressourcen?

  • Wie funktioniert AWS Step Functions mit Amazon API Gateway?

    Sie können Ihre Step Functions-APIs mit dem Amazon API-Gateway verknüpfen, so dass diese APIs Ihre Zustandsmaschinen aufrufen, wenn eine HTTPS-Anfrage an eine von Ihnen definierte API-Methode gesendet wird. Sie können eine Amazon API Gateway-API verwenden, um Step Functions-Zustandsmaschinen zu starten, welche die Komponenten einer verteilten Backend-Anwendung koordinieren und menschliche Aktivitäten in die Schritte Ihrer Anwendung integrieren, wie z. B. Genehmigungsanträge und Antworten. Sie können zudem serverlose asynchrone Aufrufe an die APIs von Services ausführen, die Ihre Anwendung verwendet. Weitere Informationen finden Sie in unserem Tutorial, Creating a Step Functions API Using API Gateway.

  • Wie funktioniert die Protokollierung und Überwachung für AWS Step Functions?

    AWS Step Functions sendet Metriken an Amazon CloudWatch und AWS CloudTrail zur Anwendungsüberwachung. Mit Amazon CloudWatch können Metriken gesammelt und nachverfolgt sowie Alarme eingestellt werden. Zudem reagiert es automatisch auf Veränderungen in AWS Step Functions. AWS CloudTrail erfasst alle API-Aufrufe für Step Functions als Ereignisse, einschließlich Aufrufe von der Step Functions-Konsole und von Codeaufrufen zu den Step Functions-APIs. Step Functions unterstützt auch Amazon CloudWatch Events-Verwaltungsregeln für jeden integrierten Dienst in Ihrem Workflow und erstellt und verwaltet CloudWatch Events-Regeln in Ihrem AWS-Konto nach Bedarf. Weitere Informationen finden Sie unter Überwachung und Protokollierung im AWS Step Functions-Entwicklerhandbuch.

Sicherheit

Erste Schritte in AWS Step Functions

Seite "Erste Schritte" besuchen
Sind Sie startbereit?
An der AWS Step Functions-Konsole anmelden
Haben Sie Fragen?
Kontakt