Step Functions

The “Architecting on AWS” started covering Step Functions in October 2018.

The course labs do not include step functions, but there is a good “10 Minute” tutorial here.

Step Functions is a serverless orchestration service that lets you easily coordinate multiple Lambda functions into flexible workflows that are easy to debug and easy to change.

The workflows you build with Step Functions are called state machines, and each step of your workflow is called a state.

All work is done by task states, which can be Lambda functions

The tutorial creates a step function which is presented visually

This state machine uses a series of Task states to open, assign and work on a support case. Then, a Choice state is used to determine if the case can be closed or not. Two more Task states then close or escalate the support case as appropriate.

The above image shows an execution of the workflow where the support case was escalated, causing the workflow to exit with a Fail state.

In a real world scenario, you might decide to continue working on the case until it is resolved instead of failing out of your workflow. To do that, you could remove the Fail state and edit the Escalate Case Task in your state machine to loop back to the Work On Case state. No changes to your Lambda functions would be required