Member-only story
How to Build Lightning Fast APIs With AWS Step Functions
Step Functions are quickly turning into the de facto standard for building workflows in AWS. Discover the trick to configuring them with your REST APIs.

When I first started out with serverless a few years ago, Step Functions were a bit of a mystery.
I knew that they were designed for orchestrating workflows but their scope escaped me. Should they span microservices? Should they be constrained to a single microservice? Should they be limited to services within a bounded context?
What about cross-account Lambda invocations in a workflows Where do Step Functions come into play there?
At the time, the only options for Step Functions were asynchronous. Express workflows hadn’t come out yet. There was lots of functionality, but it was shrouded in both my inexperience and a lack of clear direction from the service.
But that has changed.
I’m convinced the Step Functions team doesn’t sleep. They pump out high-quality, high-value features every week, plus the AWS developer community writes about them all the time. It’s a wonderful time to get introduced to what is sure to be the way of the future.
Last week I wrote about “storage first” development that uses asynchronous workflows to do your processing. But that’s not always going to be an option.
There are many use cases where you need a synchronous response. If you want to use Step Functions in these scenarios, you’re going to have to use synchronous express workflows. So today we’re going to walk through what it takes to create an endpoint in a REST API that uses an express workflow as its back end.
Why Step Functions Over Lambda?
This is always going to be a hot debate between developers. Having all your code managed and maintained in single lambda function is good for organization and code density. But with Step Functions, you’re technically writing configuration, not code.
Code is a liability. By switching to configuring a state machine rather than handwriting code in a Lambda function, you’re putting the…