Amazon Simple Workflow Service (SWF)

Amazon Simple Workflow Service (Amazon SWF) is a service from Amazon Web Services used to coordinate work among distributed application components by storing tasks and assigning them to workers during execution. AWS still operates SWF and continues to support existing customers, but its own documentation now steers everyone toward AWS Step Functions instead: “For most use cases, we recommend considering AWS Step Functions for your workflow and orchestration needs.” SWF is not formally deprecated, but it is a legacy service that has received no significant new capabilities in years, so treat Step Functions as the default choice and SWF as something you’d only meet in an existing system.

Key points

  • Controls task implementation and coordination, such as tracking and maintaining state, using an API.
  • Helps create distributed asynchronous applications and supports both sequential and parallel processing.
  • Best suited for human-intervened workflows.
  • AWS’s official guidance recommends AWS Step Functions for new applications; AWS SWF FAQs state “AWS customers should consider using Step Functions for new applications.”
  • A task is a logical representation of work performed by a component of the application.
  • Tasks are performed by implementing workers that execute either on Amazon EC2 or on-premises servers, which means SWF is not a serverless service.
  • Distinct from Amazon SQS: SQS decouples independent components through a simple queue, while SWF coordinates ordered, stateful tasks across workers rather than just decoupling them.

Sources