Introduction to SWF

The SWF is a fully managed solution in AWS that allows us to track the state of our applications and coordinate the tasks and activities within our environment that map to the needs of our business processes. Tracking the state in distributed applications that require coordination between multiple instances of a component, or multiple different components, can be challenging. The SWF gives us the ability to reliably track the state and coordinate tasks among multiple units of data transformation and processing.

The SWF integrates with fully managed services and allows us to automate the provisioning of the service that will perform the task as soon as it is generated. This makes the service highly flexible, as we never need to run any idle components to be able to perform our tasks, and also highly scalable, as the service can spin up its own infrastructure and scale to the size required to meet the number or scale of the tasks at hand.

The SWF enables us to logically separate the processing plane from the control plane as all control, state-tracking, and coordination operations are performed in the SWF service, and the processing and data transformation are performed by other AWS service components that the SWF orchestrates.

For example, in the previous chapter we defined a 10-step order process in an e-commerce website that had multiple tasks and activities that needed to be completed sequentially or in parallel. The state of the order needs to be tracked somewhere and we have found that we can use a database and a message queue to notify components of state changes. To simplify the need to program all of these state notifications into our application, the whole orchestration scenario can be built in SWF.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset