Amazon Simple Workflow Service (Amazon SWF) is a workflow service for building scalable, resilient applications. Whether automating business processes for finance or insurance applications, building sophisticated data analytics applications, or managing cloud infrastructure services, Amazon SWF reliably coordinates all of the processing steps within an application.
With traditional development approaches, it is both time-consuming and costly to build and track processing steps that run at different times and have different durations, while ensuring they are executed reliably and without duplication. When the execution of applications is distributed across multiple systems, the coordination of processing steps across those systems presents an added challenge. Using Amazon SWF, developers can structure the various processing steps in an application as “tasks” that drive work in distributed applications, and Amazon SWF coordinates these tasks in a reliable and scalable manner. Amazon SWF manages task execution dependencies, scheduling, and concurrency based on a developer’s application logic. The service stores tasks, reliably dispatches them to application components, tracks their progress, and keeps their latest state.
Amazon SWF is a fully managed service, with no hardware or software to administer, scale, tune, patch or upgrade. Amazon SWF provides simple API calls that can be executed from code written in any language and run on your EC2 instances, or any of your machines located anywhere in the world that can access the Internet. On-premises machines can simply open an Internet connection to request tasks from SWF APIs, requiring no changes to firewall rules. Detailed reporting on the current status and execution history of your workflows is available through the AWS Management Console.
Using Amazon SWF to manage workflows within your application is easy. The Amazon SWF service acts as the coordination hub for all of the different components of your application:
Simple - Amazon SWF replaces the complexity of custom-coded workflow solutions and process automation software with a fully managed web service. This eliminates the need for developers to manage the infrastructure plumbing of process automation so they can focus their energy on the unique functionality of their application.
Scalable - Amazon SWF seamlessly scales with your application’s usage. No manual administration of the workflow service is required as you add more workflows to your application or increase the complexity of your workflows.
Flexible - Amazon SWF lets you write your application components and coordination logic in any programming language and run them in the cloud or on-premises.
Pay only for what you use. There is no minimum fee. Estimate your monthly bill using the Simple Monthly Calculator.
Free Tier*
As part of AWS’s Free Usage Tier, Amazon SWF offers the following each month to new and existing customers:
A workflow is a set of tasks executed in a certain order (sometimes with a set of conditional flows or loops). Each time that workflow is executed, it’s considered a distinct workflow execution. You pay for workflow executions when you start them (i.e. their first task becomes available for application hosts to execute) and for each 24-hour period until they are completed. The first 24 hours of workflow execution are free.
Until a workflow execution is completed, your worker or client machines will execute additional tasks, may add “markers” (custom workflow execution log entries), start timers, or receive signals. For each of these you pay:
All charges are metered daily and billed monthly.
| Region: US East (Northern Virginia) | Pricing |
|---|---|
| Data Transfer IN | |
| All data transfer in | $0.000 per GB |
| Data Transfer OUT*** | |
| First 1 GB / month | $0.000 per GB |
| Up to 10 TB / month | $0.120 per GB |
| Next 40 TB / month | $0.090 per GB |
| Next 100 TB / month | $0.070 per GB |
| Next 350 TB / month | $0.050 per GB |
| Next 524 TB / month | Contact Us |
| Next 4 PB / month | Contact Us |
| Greater than 5 PB / month | Contact Us |
Data transfer “in” and “out” refers to transfer into and out of Amazon SWF. Data transferred between Amazon SWF and other AWS services (e.g. Amazon EC2 where workers and deciders may be deployed) within a single region is free of charge. Data transferred between Amazon SWF and other AWS services in different regions will be charged at Internet Data Transfer rates on both sides of the transfer.
* Your free usage is calculated each month and automatically applied to your bill – free usage does not accumulate.
** As part of AWS’s Free Usage Tier, AWS customers will receive free 15 GB of data transfer out each month aggregated across all AWS services for one year.
*** Data transfer out rate tiers aggregate outbound data transfer across Amazon EC2, Amazon S3, Amazon RDS, Amazon SimpleDB, Amazon DynamoDB, Amazon SWF, Amazon SQS, Amazon SNS, AWS Storage Gateway, and Amazon VPC.
To illustrate Amazon SWF pricing, consider a simple video processing application with three tasks: download a video, encode it, and store the encoded video in Amazon S3. This application is used to encode 10,000 videos, each of which comprises a unique workflow execution. The workers and deciders in this application are all running on Amazon EC2 in the same region as Amazon SWF. The cost incurred for running 10,000 workflow executions of this workflow daily is $1.75 as follows:
Let’s suppose you also want to have Amazon SWF retain information about the encoding workflow executions for 7 days after they complete. The cost for retaining information about the workflow executions is $0.35 ($0.000005 per day per execution x 7 workflow-days of retention x 10,000 workflow executions).
In total the Amazon SWF cost to coordinate the encoding and uploading of 10,000 videos and to retain information about the associated workflow executions and processing steps for 7 days is: $2.10 ($1.75 for running the workflow executions + $0.35 for retaining information on them).
Amazon SWF is a fully managed workflow service for building scalable, resilient applications. Amazon SWF provides simple API calls that can be executed from code written in any language and run on your EC2 instances, or any of your machines located anywhere in the world that can access the Internet.
Amazon SWF acts as a coordination hub with which your application hosts interact. You create desired workflows with their associated tasks and any conditional logic you wish to apply and store them with Amazon SWF. Each time you execute a workflow, it is considered a distinct workflow execution. You program your application components to request various tasks to be performed in your workflow execution and Amazon SWF coordinates the tasks getting done, in the order you specified, on your hosts (whether the hosts are located in the cloud or on premises). Applications communicate with Amazon SWF using APIs to record success or failure of tasks. Amazon SWF then either continues the sequence of tasks by assigning the next workflow task to an application host, or by re-running a failed task depending on your business logic.
Log in to the AWS Management Console to start an Amazon SWF workflow execution. Alternatively, you can start a workflow execution via our Amazon SWF APIs. Amazon SWF employs a simple web service interface that is easy to use and highly flexible:
The best way to understand Amazon SWF is to review the the documentation. Use the Launch Sample Walkthrough feature in the AWS Management Console to run a sample workflow that will introduce you to the basic Amazon SWF concepts.
Your use of this service is subject to the Amazon Web Services Customer Agreement.