AWS Step Functions Documentation

AWS Step Functions provides serverless orchestration for modern applications. Orchestration centrally manages a workflow by breaking it into multiple steps, adding flow logic, and tracking the inputs and outputs between the steps. As your applications execute, Step Functions maintains application state, tracking which workflow step your application is in, and stores an event log of data that is passed between application components.
 
Application development with Step Functions allows you to define and manage the workflow of your application independently from its business logic. Making changes to one does not affect the other. You can update and modify workflows in one place, without managing, monitoring and maintaining multiple point-to-point integrations.

Workflow configuration

Using AWS Step Functions, you define your workflows as state machines, which transforms code into easier to understand statements and diagrams. Read more about how Step Functions works.

Service primitives

AWS Step Functions provides ready-made steps for your workflow called states that implement basic service primitives for you, which means you can remove that logic from your application. States can pass data to other states and microservices, handle exceptions, add timeouts, make decisions, execute multiple paths in parallel, and more. Learn more about states.

AWS service integrations

Using AWS Step Functions Service Integrations, you can configure your Step Functions workflow to call other AWS services. This includes compute services (AWS Lambda, Amazon ECS, Amazon EKS, and AWS Fargate), database services (Amazon DynamoDB), messaging services (Amazon SNS and Amazon SQS), data processing and analytics services (Amazon Athena, AWS Batch, AWS Glue, Amazon EMR, and AWS Glue DataBrew), machine learning services (Amazon SageMaker), and APIs created by Amazon API Gateway. Learn more about Service Integrations.

Coordination of distributed components

AWS Step Functions allow you to coordinate applications that make an HTTPS connection from various host locations—for example, on Amazon EC2 instances, mobile devices, or on-premises servers. Using Step Functions, you can create distributed applications that leverage AWS services as well as your own microservices. Learn more about activity tasks.

Component reuse

With AWS Step Functions, you can coordinate your existing Lambda functions and microservices into applications, and lets you rewire them into new compositions. The tasks in your workflow can run on instances, containers, functions, and mobile devices. Learn how to reuse existing application components.

Workflow abstraction

AWS Step Functions allows you to keep the logic of your application separated from the implementation of your application. You can add, move, swap, and reorder steps without making changes to your business logic. Through this separation of concerns, your workflows gain modularity, simplified maintenance, scalability, and code reuse.

State management

AWS Step Functions maintains the state of your application during execution, including tracking what step of execution it is in, and storing data that is moving between the steps of your workflow.

Built-in error handling

You can use AWS Step Functions to handle errors and exceptions with try/catch and retry. You can retry failed or timed-out tasks, respond differently to different types of errors, and recover by falling back to designated cleanup and recovery code. Learn more about Step Functions error handling and how you can handle error conditions using a state machine.

History of each execution

AWS Step Functions delivers real-time diagnostics and dashboards, integrates with Amazon CloudWatch and AWS CloudTrail, and logs every execution, including overall state, failed steps, inputs, and outputs. If things go wrong, you can identify where and why, and troubleshoot and remediate failures. Learn more about Step Functions monitoring and logging.

Visual monitoring

You can launch an application by pressing a button, then watch the steps execute visually, so you can verify that everything is operating in order – and as expected. The console highlights errors, so you can pinpoint their root-cause, and troubleshoot issues.

Availability

AWS Step Functions has fault tolerance and maintains service capacity across multiple Availability Zones in each region.

Scaling

AWS Step Functions scales the operations and underlying compute to run the steps of your application for you in response to changing workloads. Step Functions scales to help the performance of your application workflow remain consistent as the frequency of requests increases.

High volume orchestration

AWS Step Functions adds Express Workflows. Express Workflows support event rates greater than 100,000 per second, enabling you to build high volume, short duration workflows. Express Workflows can coordinate AWS Lambda function invocations, AWS IoT Rules Engine actions, and Amazon EventBridge events from over a hundred AWS third-party SaaS event sources.

Parallel processing

Step Functions can iterate over objects such as images, logs, or CSV files stored in Amazon S3, then launch and coordinate thousands of parallel workflows to process the data. You can scale thousands of concurrent workflow executions, helping you analyze large volumes of logs, iterate over terabytes of data or process documents, images, and video files. Learn more about the Step Functions Map state.

Additional Information

For additional information about service controls, security features and functionalities, including, as applicable, information about storing, retrieving, modifying, restricting, and deleting data, please see https://docs.aws.amazon.com/index.html. This additional information does not form part of the Documentation for purposes of the AWS Customer Agreement available at http://aws.amazon.com/agreement, or other agreement between you and AWS governing your use of AWS’s services.