Amazon Simple Workflow Service (Beta)

Amazon Simple Workflow Service (Amazon SWF) ist ein Workflow-Service zum Erstellen skalierbarer, ausfallsicherer Anwendungen. Ganz gleich, ob es um Geschäftsprozesse für Anwendungen aus dem Finanz- oder Versicherungswesen, das Erstellen anspruchsvoller Datenanalyseanwendungen oder die Verwaltung von Cloud-Infrastruktur-Services geht – Amazon SWF koordiniert zuverlässig alle Verarbeitungsschritte in einer Anwendung.

Bei traditionellen Entwicklungsansätzen ist es sowohl zeitaufwendig als auch kostenintensiv, Verarbeitungsschritte, die zu verschiedenen Zeiten ausgeführt werden und unterschiedlich lange dauern, zu erstellen und nachzuhalten und dabei gleichzeitig sicherzustellen, dass sie zuverlässig und ohne Duplikate ablaufen. Wenn die Ausführung von Anwendungen über mehrere Systeme verteilt ist, stellt die Koordination der Verarbeitungsschritte über diese Systeme hinweg eine zusätzliche Herausforderung dar. Mit Amazon SWF können Entwickler die verschiedenen Verarbeitungsschritte in einer Anwendung als "Tasks" strukturieren, die die Arbeit in verteilten Anwendungen steuern, und Amazon SWF koordiniert diese Tasks in einer zuverlässigen und skalierbaren Weise. Amazon SWF verwaltet Abhängigkeiten, Zeitplanung und Gleichzeitigkeit der Task-Ausführung basierend auf der Anwendungslogik des Entwicklers. Der Service speichert Tasks, sendet diese zuverlässig an die Anwendungskomponenten, hält deren Fortschritt nach und speichert ihren jeweiligen Status.

Amazon SWF ist ein vollständig verwalteter Service, ohne Hardware oder Software, die verwaltet, skaliert, optimiert, gepatcht oder aktualisiert werden muss. Amazon SWF stellt einfache API-Aufrufe bereit, die von Code ausgeführt werden können, der in einer beliebigen Sprache geschrieben sein und sich in Ihren EC2-Instanzen oder auf beliebigen Computern mit Internetzugang an jedem Ort der Welt befinden kann. Unternehmensinterne Computer brauchen lediglich eine Internetverbindung herzustellen, um Tasks von den SWF-APIs anzufordern. Es sind keine Änderungen an Firewall-Regeln erforderlich. Über die AWS Management Console ist eine detaillierte Berichterstattung über den aktuellen Status und den Ausführungsverlauf Ihrer Workflows verfügbar.

Einfache Anmeldung,
Sie zahlen nur für das, was Sie auch tatsächlich nutzen
Anmelden


Amazon SWF – Überblick

Abbildung: Amazon SWF – Überblick



Webinar: Amazon SWF
22. Februar 2012, 10-11 Uhr PST

Diese Seite enthält folgende Informationskategorien. Klicken Sie auf den Link, um zum Thema zu gelangen:

Funktionsweise von Amazon SWF

Die Verwendung von Amazon SWF zum Verwalten von Workflows in Ihrer Anwendung ist einfach. Der Amazon SWF-Service dient als Koordinierungs-Hub für alle verschiedenen Komponenten Ihrer Anwendung:

  • Verwalten des Anwendungsstatus
  • Nachhalten von Workflow-Ausführungen und Protokollieren des jeweiligen Fortschritts
  • Bereithalten und Senden von Tasks
  • Steuern, welche Tasks den Anwendungs-Hosts zur Ausführung zugewiesen werden
Die Verwendung von Amazon SWF ist einfach:
  • Mit der AWS Management Console oder den Amazon SWF-APIs legen Sie die Namen von Workflows fest.
  • Mit den Amazon SWF-APIs "starten" Sie einen neuen Workflow, was dazu führt, dass eine bestimmte Folge von Workflow-Tasks, eine so genannte "Workflow-Ausführung", aktiviert wird.
  • Sie verwenden die Amazon SWF-APIs von Ihren Worker-Computern aus (ein "Worker" ist eine Komponente Ihrer Anwendung, die bestimmte Tasks verarbeitet), um die Task-Reihenfolge festzulegen, bedingte Arbeitsabläufe zu verwalten und Schleifen für eine Workflow-Ausführung auszuführen.
  • Sie verwenden die Amazon SWF-APIs von Ihren Worker-Computern aus, um Workflow-Tasks in der Cloud oder auf unternehmensinternen Computern anzufordern und auszuführen.
  • Sie überwachen Status und Fortschritt der Workflow-Ausführungen und der zugehörigen Tasks in der AWS Management Console.
Der Beispielrundgang in der AWS Management Console führt Sie durch die Schritte zum Registrieren und Ausführen einer Beispielanwendung. In der Dokumentation finden Sie weitere Einzelheiten zum Amazon SWF-Service und den APIs.

Servicemerkmale

Einfach – Amazon SWF ersetzt komplexe individuell kodierte Workflow-Lösungen und Prozessautomatisierungssoftware durch einen vollständig verwalteten Web-Service. Dadurch entfällt für die Entwickler die Notwendigkeit, die Infrastrukturinstallationen der Prozessautomatisierung zu verwalten, und sie können ihre Energie in die einzigartige Funktionalität ihrer Anwendung investieren.

Skalierbar – Amazon SWF lässt sich nahtlos skalieren und an die Nutzung Ihrer Anwendung anpassen. Es ist keine manuelle Verwaltung des Workflow-Services erforderlich, wenn Sie weitere Workflows zur Anwendung hinzufügen oder die Komplexität Ihrer Workflows erhöhen.

Flexibel – Mit Amazon SWF können Sie die Anwendungskomponenten und Koordinierungslogik in jeder beliebigen Programmiersprache erstellen und wahlweise in der Cloud oder auf unternehmensinternen Computern ausführen.


Preise

Zahlen Sie nur für das, was Sie auch tatsächlich nutzen. Es gibt keine Mindestgebühr. Kalkulieren Sie Ihre voraussichtliche Monatsrechnung mit dem einfachen Monatsrechner.

Kostenloses Nutzungskontingent*

Als Teil des kostenlosen Nutzungskontingents von AWS macht Amazon SWF jeden Monat neuen und vorhandenen Kunden folgendes Angebot:

  • 1.000 Workflow-Ausführungen können kostenlos gestartet werden
  • 10.000 Tasks, Timer, Signale und Marker können insgesamt ohne weitere Kosten verwendet werden
  • 30.000 Workflow-Tage können ohne weitere Kosten genutzt werden. Ein Workflow-Tag bezieht sich auf jeden 24-Stunden-Zeitraum, während dem eine Ausführung entweder geöffnet oder in Amazon SWF aufbewahrt wird.
Ein kostenloses Nutzungskontingent für die Datenübertragung ist im Rahmen des kostenlosen Nutzungskontingents von AWS verfügbar**

Workflow-Ausführungen

Ein Workflow ist eine Reihe von Tasks, die in einer bestimmten Reihenfolge ausgeführt werden (manchmal mit einer Reihe bedingter Arbeitsabläufe oder Schleifen). Immer wenn dieser Workflow ausgeführt wird, wird er als bestimmte Workflow-Ausführung betrachtet. Sie zahlen für Workflow-Ausführungen, sobald sie gestartet werden (also sobald die erste Task für Anwendungs-Hosts zum Ausführen verfügbar wird) und für jeden 24-Stunden-Zeitraum, bis sie abgeschlossen sind. Die ersten 24 Stunden der Workflow-Ausführung sind kostenlos.

  • Für den Start einer Workflow-Ausführung: 0,0001 USD pro Workflow-Ausführung (d. h. 0,10 USD pro 1.000 gestartete Workflow-Ausführungen)
  • Bis zum Abschluss einer Workflow-Ausführung: 0,000005 USD pro Workflow-Ausführung (d. h. 0,05 USD pro 10.000 Workflow-Ausführungen) für jeden angefangenen 24-Stunden-Zeitraum. (Hinweis: Die ersten 24 Stunden nach dem Start einer Workflow-Ausführung bis zu deren Abschluss sind kostenlos.)
  • Für die Aufbewahrung einer abgeschlossenen Workflow-Ausführung: 0,000005 USD pro aufbewahrte Workflow-Ausführung pro Tag (d. h. 0,05 USD pro 10.000 aufbewahrte Workflow-Ausführungen). (Hinweis: Sie können festlegen, wie lange Amazon SWF Daten zu abgeschlossenen Workflow-Ausführungen aufbewahrt. Sie zahlen für jeden Tag, den die Daten zu einer abgeschlossenen Workflow-Ausführung in Amazon SWF aufbewahrt werden.)

Tasks, Marker, Timer und Signale

Bis zum Abschluss einer Workflow-Ausführung führen Ihre Worker oder Client-Computer zusätzliche Tasks aus. Sie können zudem "Marker" (benutzerdefinierte Protokolleinträge für Workflow-Ausführungen) hinzufügen, Timer starten oder Signale empfangen. Für alle diese Elemente zahlen Sie:

  • 0,000025 USD (d. h. 0,25 USD pro 10.000)

Alle Gebühren werden täglich aufgezeichnet und monatlich in Rechnung gestellt.

Datenübertragung**

Region: USA Ost (Nord-Virginia) Preise
Übertragung eingehender Daten
Übertragung aller eingehenden Daten 0,000 USD pro GB
Übertragung ausgehender Daten***
Erstes 1 GB pro Monat 0,000 USD pro GB
Bis zu 10 TB pro Monat 0,120 USD pro GB
Nächste 40 TB pro Monat 0,090 USD pro GB
Nächste 100 TB pro Monat 0,070 USD pro GB
Nächste 350 TB pro Monat 0,050 USD pro GB
Nächste 524 TB pro Monat Kontakt
Nächste 4 PB pro Monat Kontakt
Mehr als 5 PB pro Monat Kontakt

Die Bezeichnungen "eingehende" und "ausgehende" Datenübertragung beziehen sich auf die Datenübertragung innerhalb von Amazon SWF. Datenübertragungen zwischen Amazon SWF und anderen AWS-Services innerhalb einer einzigen Region (z. B. Amazon EC2, bei dem Worker und Entscheider bereitgestellt werden dürfen) ist kostenlos. Datenübertragungen zwischen Amazon SWF und anderen AWS-Services in verschiedenen Regionen werden auf beiden Seiten der Übertragung zu den Tarifen der Internet-Datenübertragung berechnet.

* Ihr kostenloses Kontingent wird jeden Monat berechnet und automatisch in die Rechnung einbezogen – kostenlose Kontingente können nicht akkumuliert werden.

** Im Rahmen des kostenlosen Nutzungskontingents für AWS erhalten AWS-Kunden für ein Jahr kostenfrei 15 GB ausgehenden Datenverkehr pro Monat, zusammengefasst für alle AWS-Services.

*** Die Kosten für ausgehende Datenübertragung beinhalten die ausgehenden Datenübertragungen auf Amazon EC2, Amazon S3, Amazon RDS, Amazon SimpleDB, Amazon DynamoDB, Amazon SWF, Amazon SQS, Amazon SNS, AWS Storage Gateway und Amazon VPC.

Beispielkostenkalkulation

Zur Veranschaulichung der Amazon SWF-Preisgestaltung nehmen wir als Beispiel eine einfache Videoverarbeitungsanwendung mit drei Tasks: Herunterladen, Verschlüsseln und Speichern des verschlüsselten Videos in Amazon S3. Diese Anwendung wird genutzt, um 10.000 Videos zu verschlüsseln. Jedes umfasst eine eindeutige Workflow-Ausführung. Die Worker und Entscheider in dieser Anwendung werden alle unter Amazon EC2 in derselben Region wie Amazon SWF ausgeführt. Die für die Ausführung von 10.000 Workflow-Ausführungen entstehenden täglichen Kosten belaufen sich auf 1,75 USD und setzen sich wie folgt zusammen:

  • 1,00 USD für den Start von 10.000 Workflow-Ausführungen (10.000 mal 0,0001 USD)
  • 0,75 für die Initiierung von Tasks (0,000025 USD pro Task mal 3 Tasks pro Workflow-Ausführung mal 10.000 Workflow-Ausführungen)
  • Wir nehmen an, ein Video kann in weniger als 24 Stunden verschlüsselt und in S3 hochgeladen werden. Daher wird die Workflow-Ausführung innerhalb von 24 Stunden nach dem Start abgeschlossen und es fallen keine weiteren Gebühren für die Workflow-Ausführung an.

Nehmen wir an, Sie möchten, dass Amazon SWF Daten über die Verschlüsselungs-Workflow-Ausführungen bis zu 7 Tage nach deren Abschluss aufbewahrt. Die Kosten für die Aufbewahrung von Daten der Workflow-Ausführungen betragen 0,35 USD (0,000005 USD pro Tag pro Ausführung mal 7 Workflow-Tage lang Aufbewahrung mal 10.000 Workflow-Ausführungen).

Insgesamt betragen die Amazon SWF-Kosten für die Koordination der Verschlüsselung und des Hochladens von 10.000 Videos und zum Aufbewahren der Daten zu den entsprechenden Workflow-Ausführungen und die Verarbeitungsschritte für 7 Tage: 2,10 USD (1,75 USD zum Ausführen der Workflow-Ausführungen + 0,35 US-Dollar für die Aufbewahrung der zugehörigen Daten).


Detaillierte Beschreibung

Amazon SWF ist ein vollständig verwalteter Workflow-Service zum Erstellen skalierbarer, ausfallsicherer Anwendungen. Amazon SWF stellt einfache API-Aufrufe bereit, die von Code ausgeführt werden können, der in einer beliebigen Sprache geschrieben sein und sich in Ihren EC2-Instanzen oder auf beliebigen Computern mit Internetzugang an jedem Ort der Welt befinden kann.

Amazon SWF dient als Koordinierungs-Hub mit dem Ihre Anwendungs-Hosts interagieren. Sie erstellen die gewünschten Workflows mit den zugehörigen Tasks und sämtlicher Bedingungslogik, die Sie anwenden möchten, und speichern sie in Amazon SWF. Jede einzelne Ausführung eines Workflows wird als eigene Workflow-Ausführung behandelt. Sie programmieren Ihre Anwendungskomponenten so, dass sie verschiedene Tasks anfordern, die in Ihrer Workflow-Ausführung ablaufen sollen, und Amazon SWF koordiniert die Erledigung dieser Tasks, und zwar in der angegebenen Reihenfolge und auf Ihren Hosts (ganz gleich, ob diese Hosts sich in der Cloud oder im Unternehmen befinden). Anwendungen kommunizieren mit Amazon SWF über APIs, um Erfolg oder Misserfolg der einzelnen Tasks zu erfassen. Amazon SWF setzt dann entweder die Folge der Tasks fort, indem es einem Anwendungs-Host die nächste Workflow-Task zuweist oder indem es eine fehlgeschlagene Task entsprechend Ihrer Geschäftslogik erneut ausführt.

Zum Starten einer Amazon SWF-Workflow-Ausführung melden Sie sich bei der AWS Management Console an. Alternativ dazu können Sie eine Workflow-Ausführung auch über Ihre Amazon SWF-APIs starten. Amazon SWF verwendet eine benutzerfreundliche und äußerst flexible Web-Service-Oberfläche:

  • StartWorkflowExecution: Startet eine Folge von Workflow-Tasks und stellt die erste Task für einen Ihrer Anwendungs-Hosts bereit.
  • DescribeWorkflowExecution: Gibt den Status Ihrer Workflow-Ausführungen und -Tasks an.
  • PollForActivityTask: Ihre Anwendungs-Hosts (in der Cloud oder im Unternehmen) fordern ununterbrochen Workflow-Tasks an und führen diese aus.
  • RespondActivityTaskCompleted: Ein Anwendungs-Host teilt Amazon SWF mit, dass er eine Task erfolgreich abgeschlossen hat. Amazon SWF setzt die Workflow-Ausführung daraufhin fort, indem die nächste Task für einen Anwendungs-Host verfügbar gemacht wird.
  • TerminateWorkflowExecution: Beendet die Fortsetzung einer bestimmten Workflow-Ausführung. Amazon SWF weist dem Anwendungs-Host keine Tasks dieser speziellen Workflow-Ausführung mehr zu.

Erste Schritte

Um einen umfassenden Einblick in Amazon SWF zu erhalten, lesen Sie die Dokumentation. Mit der Funktion Beispielrundgang starten in der AWS Management Console können Sie einen Beispiel-Workflow starten, der die grundlegenden Konzepte von Amazon SWF verdeutlicht.


Vorgesehene Verwendung und Einschränkungen

Die Nutzung dieser Dienstleistung unterliegt der Kundenvereinbarung von Amazon Web Services.

©2011, Amazon.com, Inc. oder Tochtergesellschaften.