AWS Step Functions
AWS Step Functions is a serverless orchestration service from Amazon Web Services that converts an application’s workflow into a series of steps, combining AWS Lambda functions and other AWS services into a low-code, visual state machine for building distributed applications.
Key points
- Resembles a state machine made of tasks; each step in a workflow is a state, and one step’s output becomes the next step’s input, resulting in functions orchestration.
- Executes each step in an order defined by the application’s business logic.
- Provides built-in sequencing, error handling, and timeout handling, removing significant operational overhead from the team.
- Adds a layer of timeout and retry logic to AWS Lambda functions to help manage failures with zero code (per AWS Terminology.xlsx).
- Can control AWS Lambda (to perform tasks), machine learning model processing, AWS Glue (to create ETL workflows), and automated workflows that require human approval.
- Supports automation features like routine deployments, upgrades, installations, migrations, patch management, infrastructure selection, and data synchronization.
- Executions are the instances where a workflow runs to perform tasks.
- Two workflow types, chosen at creation and immutable afterward:
- Standard Workflows — exactly-once execution, can run for up to one year; ideal for long-running, durable, auditable workflows (execution history retrievable via the API for up to 90 days); priced by number of state transitions; supports all service integration patterns, including
.sync(run a job) and.waitForTaskToken(wait for callback). - Express Workflows — can run for up to five minutes; ideal for high-volume, high-event-rate workloads such as streaming data processing, IoT data ingestion, and mobile backends; priced by number of executions, duration, and memory consumed. Asynchronous Express Workflows are at-least-once; Synchronous Express Workflows are at-most-once. Only the Request-Response integration pattern is supported (no
.syncor.waitForTaskToken).
- Standard Workflows — exactly-once execution, can run for up to one year; ideal for long-running, durable, auditable workflows (execution history retrievable via the API for up to 90 days); priced by number of state transitions; supports all service integration patterns, including
- Distributed Map is a high-concurrency mode of the
Mapstate, available only in Standard Workflows, that runs each iteration as its own child workflow execution — up to 10,000 parallel child executions — letting a single workflow process very large datasets (e.g. millions of Amazon S3 objects, or up to the first 100 million lines of a CSV/JSON file in S3) well beyond the payload and event-history limits of the regular (inline)Mapstate. - Can best be described as a serverless state machine service (per AWS Terminology.xlsx).