# AWS Step Functions

> Over-engineered. I've never seen the need in production.

- Verdict: Never
- Vendor: AWS
- Layer: [APIs, queues and events](https://cloudlesslabs.com/stack/layers/api-events.md)
- Last reviewed: 18 October 2026, by Nicolas Dao (Cloudless Labs, Sydney)
- Web page: https://cloudlesslabs.com/stack/aws-step-functions/. The whole stack in one file: https://cloudlesslabs.com/stack/brief.md

A JSON state machine for logic that a few lines of JavaScript express better. I've never needed it.

## Don't use it when

- Almost always. Plain code in Lambda (or Lambda durable functions) does the job with less ceremony.

## Pricing

Standard workflows: $25 per million state transitions. 1M four-step runs a month ≈ $110.

## Provisioning

Official Pulumi package · Official Terraform provider

## Use instead

Plain code. SQS for simple async work; Lambda durable functions for multi-step jobs.

## Alternatives

- [Lambda durable functions](https://cloudlesslabs.com/stack/aws-lambda-durable-functions/index.md): You need per-step retries.
- [Amazon SQS](https://cloudlesslabs.com/stack/aws-sqs/index.md): Simple async work.

## Where it fits

- [Background jobs and retries](https://cloudlesslabs.com/stack/use-cases/background.md): don't. A JSON state machine for logic that a few lines of JavaScript express better, and one more thing to deploy and debug. SQS with retries covers simple async work; Lambda durable functions are the candidate for multi-step jobs. Instead: [Amazon SQS](https://cloudlesslabs.com/stack/aws-sqs/index.md) or [Lambda durable functions](https://cloudlesslabs.com/stack/aws-lambda-durable-functions/index.md).
- [Event-driven plumbing](https://cloudlesslabs.com/stack/use-cases/events.md): don't. A JSON state machine where a queue and a few lines of JavaScript do the job. Instead: [Amazon SQS](https://cloudlesslabs.com/stack/aws-sqs/index.md) or [Lambda durable functions](https://cloudlesslabs.com/stack/aws-lambda-durable-functions/index.md).

## In The Stack Weekly

- [Week 43: Lambda durable functions](https://cloudlesslabs.com/weekly/2026-w43/index.md), worth a pilot

## Related

- [APIs, queues and events](https://cloudlesslabs.com/stack/layers/api-events.md): every tool in this layer, with its verdict
- [The whole stack in one file](https://cloudlesslabs.com/stack/brief.md): every use case and tool, for questions that span many
- [Map of every Markdown file on cloudlesslabs.com, with what each one answers](https://ask.cloudlesslabs.com)
