Overview
In this tutorial, you will learn how to use AWS Step Functions to design and run a serverless workflow that coordinates multiple AWS Lambda functions. AWS Lambda is a compute service that lets you run code without provisioning or managing servers.
In our example, you are a developer who has been asked to create a serverless application to automate handling of support tickets in a call center. While you could have one Lambda function call the other, you worry that managing all of those connections will become challenging as the call center application becomes more sophisticated. Plus, any change in the flow of the application will require changes in multiple places, and you could end up writing the same code over and over again.
To solve this challenge, you decide to use AWS Step Functions. Step Functions is a serverless orchestration service that lets you easily coordinate multiple Lambda functions into flexible workflows that are easy to debug and change. Step Functions will keep your Lambda functions free of additional logic by triggering and tracking each step of your application for you.
What you will accomplish
In this tutorial, you will:
Create a Step Functions state machine to describe the current call center process
Create a few simple Lambda functions that simulate the tasks of the support team
Pass data between each Lambda function to track the progress of the support case
Perform several tests of your workflow to observe how it responds to different inputs
Delete the AWS resources you used in the tutorial
Prerequisites
You need an AWS account to complete this tutorial. If you don't already have an account, see the Setting Up Your AWS Environment getting started guide.
You will use AWS Step Functions and AWS Lambda in this tutorial. These services are within the AWS Free Tier.