AWS Germany – Amazon Web Services in Deutschland

AWS Step Functions Workflow Studio jetzt in AWS Application Composer verfügbar

Von Donnie Prakoso, übersetzt von Marie Innes

Wir geben heute bekannt, dass AWS Step Functions Workflow Studio [EN] jetzt in AWS Application Composer verfügbar ist.
Diese neue Integration vereint die Entwicklung von Workflows und Anwendungsressourcen in einem einheitlichen visuellen Infrastructure-as-Code (IaC)-Editor und ermöglicht einen nahtlosen Übergang zwischen der Erstellung von Workflows mit AWS Step Functions Workflow Studio und der Definition von Ressourcen mit AWS Application Composer.

Mit dieser Neuerung wird es möglich, jedwede Ressource in allen Phasen der Entwicklung zu erstellen und zu verwalten. Die gesamte Anwendung wird in AWS Application Composer dargestellt und AWS Step Functions Workflow Studio ermöglicht es Ihnen, tiefer in die Workflow-Details einzusteigen – alles innerhalb derselben Benutzeroberfläche.

 

Nahtlose Erstellung von Workflows und modernen Anwendungen

Um beim Design und der Entwicklung moderner Anwendungen zu helfen, haben wir im März 2023 den AWS Application Composer [EN] eingeführt. Mit dem AWS Application Composer können mithilfe eines visuellen Editors serverlose Anwendungen aus AWS Services zusammengestellt und konfiguriert werden, um daraus Infrastructure-as-Code zu generieren.

Häufig müssen bei der Erstellung von modernen Anwendungen auch Microservices orchestriert, geschäftskritische Prozesse automatisiert, event-basierte Anwendungen, die auf Infrastrukturänderungen reagieren, erzeugt oder Pipelines für maschinelles Lernen erstellt werden. Um diese Herausforderungen zu lösen, können AWS Step Functions verwendet werden – ein komplett verwalteter Service, der die Koordination verteilter Anwendungen mittels visueller Workflows erleichtert. Um diese Workflow-Entwicklung zu vereinfachen, haben wir 2021 das AWS Step Functions Workflow Studio [EN] eingeführt, ein visuelles Low-Code-Tool für schnelle Workflow-Entwicklung, welche mehr als 12.000 API-Methoden von über 220 AWS Services umfasst.

Während AWS Step Functions Workflow Studio die Erstellung von Workflows vereinfacht, mussten Kunden, welche Workflows über IaC deployen wollten, die State Machine Ressourcen manuell definieren und ihre Workflow-Definitionen in das IaC-Template überführen.

 

Zusammen stärker: AWS Step Functions Workflow Studio in AWS Application Composer

Mit unserer neuen Integration können AWS Step Functions Workflows in AWS Application Composer jetzt über Drag-und-Drop erstellt werden. Dies beschleunigt den Weg vom Prototyping zur Produktivsetzung sowie die iterative Weiterentwicklung bestehender Workflows.

Im Arbeitsbereich des AWS Application Composer kann über das Hinzufügen einer AWS Step Functions State Machine ein Workflow erzeugt werden. Diese neue intuitive Schnittstelle bietet Ihnen die Möglichkeit, einen Workflow visuell zu erstellen und anzupassen und gleichzeitig Workflow-Schritte mit Ressourcen zu mappen.

 

Funktionsweise

Ich möchte Ihnen nun zeigen, wie Sie AWS Step Functions Workflow Studio in AWS Application Composer verwenden können. Für diese Demo nehme ich als Szenario an, die Verarbeitung von e-Commerce-Transaktionen zu verbessern, indem ich einen Workflow erstelle und diesen mit meinen vorhandenen serverlosen APIs integriere.
Zunächst navigiere ich zum AWS Application Composer. Da ich ein bereits bestehendes Projekt habe, welches Anwendungscode und IaC-Templates aus dem AWS Application Composer enthält, muss ich nichts von Grund auf neu erzeugen.
Ich öffne das Menü und wähle „Project folder“, um die Dateien von meinem lokalen Entwicklungsrechner zu öffnen.

Anschließend wähle ich den Dateipfad meines lokalen Ordners und AWS Application Composer erkennt automatisch das IaC-Template, das ich derzeit dort habe.

Nun stellt AWS Application Composer das Diagramm auf dem Arbeitsbereich dar. Was mir an diesem Ansatz wirklich gefällt, ist, dass der AWS Application Composer den lokalen Synchronisierungsmodus (Local sync) aktiviert, der automatisch alle Änderungen am IaC-Template in meinem lokalen Projekt synchronisiert und speichert.
In unserem Beispiel habe ich eine einfache serverlose API, die auf Amazon API Gateway läuft und eine AWS Lambda-Funktion aufruft, die mit Amazon DynamoDB integriert ist.

Jetzt bin ich bereit, einige Änderungen an meiner API vorzunehmen. Ich konfiguriere eine zusätzliche Route auf Amazon API Gateway und füge eine AWS Step Functions State Machine hinzu, um meinen Workflow zu erstellen.

Wenn ich meine Step Functions State Machine konfiguriere, kann ich mit der Bearbeitung meines Workflows beginnen, in dem ich „Edit in Workflow Studio“ auswähle.

Hierdurch wird Step Functions Workflow Studio innerhalb des AWS Application Composer Arbeitsbereichs geöffnet – mit den gleichen Funktionen wie auch die AWS Step Functions Konsole. Ich kann den Arbeitsbereich verwenden, um Actions, Flows und Patterns zu meiner Step Functions State Machine hinzuzufügen.

Ich beginne mit der Erstellung meines Workflows und hier ist das Ergebnis, das ich über „Export PNG Image“ in Workflow Studio exportiert habe.

Und hier hilft mir diese neue Funktionalität als Entwickler wirklich: In der Workflow-Definition verwende ich verschiedene AWS-Ressourcen, z.B. AWS Lambda-Funktionen und Amazon DynamoDB. Um auf die AWS-Ressourcen zu verweisen, die ich im AWS Application Composer definiert habe, kann ich eine CloudFormationen-Substitution verwenden.

Mit CloudFormation-Substitutionen kann ich eine Ersetzung mittels einer CloudFormation-Konvention hinzufügen – ein dynamischer Verweis auf einen Wert, der in einem IaC-Template bereitgestellt wird. Ich verwende hier zunächst einen Platzhalter, den ich in einem späteren Schritt einer AWS-Ressource im Arbeitsbereich des AWS Application Composers zuordnen kann.

Ich kann hier auch die AWS CloudFormation-Substitution für meine Amazon DynamoDB-Tabelle erstellen.

Jetzt bin ich mit meinem Workflow zufrieden. Um die Definition meiner AWS Step Functions State Machine in der Amazon States Language zu sehen, kann ich auch den Tab „Code“ öffnen. Ich muss nun nicht mehr manuell diese Definitionen in mein IaC-Template kopieren, sondern nur meine Arbeit speichern und „Return to Application Composer“ wählen.

Hier kann ich nun sehen, dass meine AWS Step Functions State Machine sowohl in der visuellen Ansicht als auch im Abschnitt „State machine definition“ aktualisiert wurde.

Wenn ich nach unten scrolle, finde ich AWS CloudFormation Definition Substitutions für die Ressourcen, die ich in Workflow Studio definiert habe. Ich kann das Mapping hier manuell anpassen oder den Arbeitsbereich verwenden.

Um den Arbeitsbereich zu verwenden, ziehe ich ganz einfach die entsprechenden Ressourcen in meine Step Functions State Machine auf dem Application Composer Arbeitsbereich. Hier verbinde ich z.B. den Inventory Process Taskstatus mit einer neuen AWS Lambda-Funktion. Darüber hinaus können meine Step Functions State Machines auf bereits vorhandene Ressourcen referenzieren.

Wähle ich “Template” wird die State Machine-Definition mit anderen AWS Application Composer-Ressourcen integriert. Mit diesem IaC-Template kann ich nun alle Ressourcen ganz einfach über das AWS Serverless Application Model Command Line Interface (AWS SAM CLI) oder CloudFormation installieren.

 

Dinge, die man wissen sollte:

Kosten – Für das AWS Step Functions Workflow Studio im AWS Application Composer fallen keine zusätzlichen Kosten an.

Verfügbarkeit – Diese Funktionalität ist in allen AWS-Regionen verfügbar, die Application Composer anbieten.

AWS Step Functions Workflow Studio im AWS Application Composer bietet ein benutzerfreundliches Erlebnis, um Workflows in moderne Anwendungen zu integrieren. Fangen Sie heute an und erfahren Sie mehr über diese Neuerung auf der AWS Application Composer [EN] Webseite.

Happy building!
— Donnie

Donnie Prokoso
Donnie Prokoso ist ein Software Engineer, selbsternannter Barista und Principal Developer Advocate bei AWS mit mehr als 17 Jahren Erfahrung in der Technologiebranche – von Telekommunikation über Bankenwesen bis hin zu Start-ups. Mittlerweile liegt sein Fokus darauf, Entwickler:innen dabei zu helfen, unterschiedliche Technologien zu verstehen, um mit ihnen innovative Ideen in die Tat umzusetzen. Er liebt Kaffee sowie Diskussionen zu allen technischen Themen von Microservices bis KI/ML.