AWS - Simple WorkFlow Service
The following services fall under Application Services section −
- Amazon CloudSearch
- Amazon Simple Queue Services (SQS)
- Amazon Simple Notification Services (SNS)
- Amazon Simple Email Services (SES)
- Amazon SWF
In this chapter, we will discuss Amazon SWF.
Amazon Simple Workflow Service (SWF) is a task based API that makes it easy to coordinate work across distributed application components. It provides a programming model and infrastructure for coordinating distributed components and maintaining their execution state in a reliable way. Using Amazon SWF, we can focus on building the aspects of the application that differentiates it.
A workflow is a set of activities that carry out some objective, including logic that coordinates the activities to achieve the desired output.
Workflow history consists of complete and consistent record of each event that occurred since the workflow execution started. It is maintained by SWF.
How to Use SWF?
Step 1 − Sign in to AWS account and select SWF on the Services dashboard.
Step 2 − Click the Launch Sample Walkthrough button.
Step 3 − Run a Sample Workflow window opens. Click the Get Started button.
Step 4 − In the Create Domain section, click the Create a new Domain radio button and then click the Continue button.
Step 5 − In Registration section, read the instructions then click the Continue button.
Step 6 − In the Deployment section, choose the desired option and click the Continue button.
Step 7 − In the Run an Execution section, choose the desired option and click the Run this Execution button.
Finally, SWF will be created and will be available in the list.
Benefits of Amazon SWF
It enables applications to be stateless, because all information about a workflow execution is stored in its workflow history.
For each workflow execution, the history provides a record of which activities were scheduled, their current statuses and results. The workflow execution uses this information to determine the next steps.
The history provides steps in detail that can be used to monitor running workflow executions and verify completed workflow executions.