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 .sync or .waitForTaskToken).
  • Distributed Map is a high-concurrency mode of the Map state, 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) Map state.
  • Can best be described as a serverless state machine service (per AWS Terminology.xlsx).

Sources