Favicon of AWS Step Functions

AWS Step Functions

AWS Step Functions is a serverless orchestrator built on state machines: each step is a state that calls an AWS service or an external worker, execution history is retained and visually debuggable, and the bill is per state transition rather than per server.

LicenseCommercial
DeploymentManagedServerless
PricingSubscription
Operational complexityLow
WorkloadBatch

Use it when

  • The pipeline is mostly AWS service calls; over two hundred services and nine thousand API actions are invocable directly from states.
  • You want zero infrastructure: no scheduler, no workers, nothing running when nothing is scheduled.
  • Error handling, retries, and human-in-the-loop callbacks should be primitives, not patterns you build.
  • The workload splits cleanly: long-running exactly-once work on Standard, high-rate short work on Express.

Think twice when

  • Portability matters; state machines in Amazon States Language are AWS-only, where Temporal or Airflow move with you.
  • The team thinks in data assets and dbt models; there is no modelling layer, no lineage, and no Python-native authoring.
  • Payloads exceed 256 KiB; anything larger passes as S3 pointers.
  • The Standard versus Express choice is subtle: it changes the delivery guarantee and the cost model, not just limits.

How it runs

Fully managed and serverless: author a state machine in Amazon States Language or the visual editor, then trigger it from the API, an EventBridge rule, or EventBridge Scheduler cron. Standard bills per state transition with 4,000 free each month; Express bills per request and GB-second. Your own code runs in Lambda, containers, or any polling activity worker.

Details

Compare

How AWS Step Functions answers the questions Workflow Orchestration turns on.

Workflow Orchestration
How it works
Authoring modelA state machine in Amazon States Language, with a visual editor over it
Unit of workA state in a state machine, a Task that calls something, plus seven flow states: Choice, Parallel, Map, Pass, Wait, Succeed and Fail. Map runs inline or as a Distributed Map for large fan-out, up to 10,000 parallel children
Passing dataJSON travelling between states and hard-capped at 256 KiB for any state input or output, with no offload, past that you pass an S3 pointer instead. Shaping is either JSONPath's five fields or JSONata's Arguments and Output, picked per state machine or per state through QueryLanguage, with Assign holding variables
TriggersStartExecution from the API or SDK, an EventBridge rule over 140+ event sources, EventBridge Scheduler for cron and rate expressions, API Gateway, or a parent state machine, there is no scheduler inside Step Functions itself
Delivery guaranteeStandard is exactly-once; asynchronous Express at-least-once · synchronous Express at-most-once
Caching and rerunsNo caching of any kind. The rerun primitive is redrive (restart a failed Standard execution from the step that failed, keeping the successful results and the same execution ARN) and it is gone 14 days after the execution closes, never available on Express, and bills the transitions again
Running it
Where tasks runAWS runs the engine: states call over 200 services directly, with no substrate to size
Connections
Task languagesNone: Step Functions runs no code of yours. Lambda brings its own runtimes, ECS and EKS bring containers, and an Activity worker is any program that can make an HTTP connection, hosted anywhere, polling for work. The only authoring inside the service is JSONata or JSONPath over the data
ConnectorsOver nine thousand API actions across more than two hundred AWS services through SDK integrations, a smaller optimized set adding run-a-job and wait-for-callback patterns, and an HTTP Task for third-party or private HTTPS APIs, capped at 60 seconds
Cost
Billing unitStandard bills per state transition at $0.000025, with 4,000 free every month that never expire; Express bills $1.00 a million requests plus $0.00001667 a GB-second in 64MB chunks and has no free tier. Choosing the workflow type changes the cost model, not the rate

Share:

Alternatives to AWS Step Functions

Favicon

 

  
  
Favicon

 

  
  
Favicon