> For the complete documentation index, see [llms.txt](https://karansingh.gitbook.io/tutorialsdojo-wrong-answers/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://karansingh.gitbook.io/tutorialsdojo-wrong-answers/test-3-66/untitled-1.md).

# Simple Workflow Service (SWF)

* SWF enables applications for a range of use cases, including **media processing, web application back-ends, business process workflows, and analytics pipelines**, to be designed as a **coordination of tasks**.<br>
* Think of SWF as a **fully-managed state tracker and task coordinator in AWS**.<br>
* **Tasks represent invocations of various processing steps in an application** which can be performed by executable code, web service calls, human actions, and scripts.<br>
* SWF **helps developers build, run, and scale background jobs that have parallel or sequential steps**.

## Step Functions vs Simple Workflow Service

* Use **Step Functions for all your new applications** because it provides a **more productive and agile approach to coordinating application components using visual workflows**.<br>
* **Use SWF if you require external signals to intervene in your processes**, or you would like to **launch child processes that return a result to a parent**. <br>
* **With SWF, instead of writing state machines in declarative JSON, you write a decider program to separate activity steps from decision steps**.
  * This provides you **complete control over your orchestration logic**.
    * **It increases the complexity of developing applications**.
