AWS Step Functions orchestrates multi-step workflows across Lambda functions and AWS services. The pricing model has a critical fork: Standard workflows charge per state transition while Express workflows charge per execution duration. Picking the wrong type for a high-volume workflow can cost 10-50x more than necessary.
TL;DR: Standard workflows cost $25 per million state transitions with exactly-once execution and up to 1-year duration. Express workflows cost per execution duration ($0.00001667/GB-second) with at-least-once execution and 5-minute max duration. For short, high-volume workflows (data processing, API orchestration), Express saves 80-90%. For long-running, low-volume workflows (order processing, human approvals), Standard is appropriate.
Pricing Models
Standard Workflows
| Component | Cost |
|---|---|
| State transitions | $25.00 per million |
| Free tier | 4,000 transitions/month (always free) |
Each step in your workflow counts as a state transition. A 5-step workflow executing once = 5 state transitions.
Express Workflows
| Component | Cost |
|---|---|
| Requests | $1.00 per million requests |
| Duration | $0.00001667 per GB-second (64 MB minimum) |
| Free tier | None |
Duration is billed per execution based on memory allocated (minimum 64 MB).
Cost Comparison
| Scenario | Standard | Express |
|---|---|---|
| 100K executions/mo, 5 steps each | $12.50 (500K transitions) | $0.10 + duration |
| 1M executions/mo, 5 steps, 2s each | $125.00 | $1.00 + $2.13 = $3.13 |
| 10M executions/mo, 10 steps, 1s each | $2,500.00 | $10.00 + $10.67 = $20.67 |
| 1K executions/mo, 20 steps, 1hr each | $0.50 | N/A (5-min limit) |
Key takeaway: Express workflows cost 80-99% less for high-volume, short-duration workloads.
When to Use Each Type
| Requirement | Standard | Express |
|---|---|---|
| Max duration | 1 year | 5 minutes |
| Execution guarantee | Exactly-once | At-least-once |
| Execution history | 90 days (free) | CloudWatch only |
| Visual debugging | Full step-by-step | Limited |
| Best for | Order processing, human approval, long pipelines | Data processing, API orchestration, ETL |
Hidden Costs
State Transition Counting
Every step counts — including Parallel branches, Map iterations, Pass states, Wait states, and retries. A workflow with a Map state iterating over 100 items with 3 steps each = 300 transitions per execution.
CloudWatch Logs (Express)
Express workflows require CloudWatch Logs for execution history. At $0.50/GB ingested, logging every execution of a high-volume workflow adds significant cost. Use sampling or log only failures.
Integrated Service Calls
Calling Lambda, DynamoDB, or other services from Step Functions incurs the normal costs of those services in addition to Step Functions charges.
Cost Optimization Tips
1. Use Express for High-Volume Short Workflows
Any workflow under 5 minutes that runs more than 10,000 times/month should use Express. The savings are dramatic.
2. Minimize State Transitions in Standard
Combine multiple operations into a single Lambda function instead of using separate states. Reducing a 10-step workflow to 5 steps cuts your Step Functions cost in half.
3. Use Map State Carefully
A Map state iterating over 1,000 items with 5 steps = 5,000 transitions per execution. Consider processing batches in a single Lambda instead.
4. Log Express Workflows Selectively
Set logging to ERROR level only in production. Full logging on high-volume Express workflows can cost more than Step Functions itself.
Related Guides
- AWS Lambda Pricing Guide
- AWS API Gateway Pricing Guide
- AWS SQS Pricing: Standard vs FIFO Queue Costs
- AWS CloudWatch Pricing Guide
FAQ
Are Step Functions cheaper than Lambda-based orchestration?
For simple linear workflows, calling Lambda functions directly (using one Lambda to invoke the next) is cheaper. Step Functions' value is in error handling, retries, parallel execution, and visual debugging — features that would require significant custom code in pure Lambda.
Can I switch between Standard and Express?
Not directly — you must create a new state machine. However, the Amazon States Language definition is the same for both types, so migration requires minimal code changes.
Is the 4,000 free state transitions per month useful?
Barely. A 5-step workflow running 800 times/month uses 4,000 transitions. For development and testing, the free tier is helpful. For production, budget for paid transitions.
Lower Your Step Functions Costs with Wring
Wring helps you access AWS credits and volume discounts to lower your Step Functions costs. Through group buying power, Wring negotiates better rates so you pay less per state transition.
