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 exactly which workflow step your application is in, and stores an event log of data that is passed between application components. That means that if networks fail or components hang, your application can pick up right where it left off.
Application development is faster and more intuitive with Step Functions, because you can define and manage the workflow of your application independently from its business logic. Making changes to one does not affect the other. You can easily update and modify workflows in one place, without having to struggle with managing, monitoring and maintaining multiple point-to-point integrations. Step Functions frees your functions and containers from excess code, so your applications are faster to write, more resilient, and easier to maintain.
Using Step Functions, you define your workflows as state machines, which transform complex code into easy to understand statements and diagrams. Building apps, and confirming that they are implementing your desired functionality, is quick and easy. Read more about how Step Functions works.
Step Functions provides ready-made steps for your workflow called states that implement basic primitives for you, which means you can remove that logic from your application. States can pass data to other states, add timeouts, make decisions, execute multiple paths in parallel, and more. Learn more about states.
AWS Step Functions coordinates your existing Lambda functions and microservices into robust applications, and lets you quickly rewire them into new compositions. The tasks in your workflow can run anywhere, including on instances, containers, functions, and mobile devices. Learn how to reuse existing application components.
Step Functions decouples your application workflow from its business logic. This makes the workflows of even complex applications easier to manage and understand. You can quickly make changes to your workflow without making any changes to your code, and with less risk.
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 functions. This means you don't have to manage state yourself with data stores or by adding state management into your existing Lambda functions.
Built-in error handling
AWS Step Functions automatically handles errors and exceptions with built-in try/catch and retry, whether the task takes seconds or months to complete. You can automatically retry failed or timed-out tasks, respond differently to different types of errors, and recover gracefully 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 quickly identify not only where, but why, and quickly troubleshoot and remediate failures. Learn more about Step Functions monitoring and logging.
Launching an application is as simple as pressing a button, then watching the steps execute graphically, so you can quickly verify that everything is operating in order – and as expected. The console clearly highlights errors, so you can quickly pinpoint their root-cause, and troubleshoot issues.
AWS Step Functions has built-in fault tolerance and maintains service capacity across multiple Availability Zones in each region to protect applications against individual machine or data center failures. This helps ensure high availability for both the service itself and for the application workflow it operates.
AWS Step Functions automatically scales the operations and underlying compute to run the steps of your application for you in response to changing workloads. Step Functions scales automatically to help ensure the performance of your application workflow remains consistent as the frequency of requests increases.
AWS Step Functions is integrated with AWS Identity and Access Management (IAM), and IAM policies can be used to control access to the Step Functions APIs. Step Functions is a HIPAA eligible service, and can be used with applications containing healthcare-related information such as personal health information (PHI). AWS Step Functions is also compliant with SOC (System & Organization Control) measures, and the results of these third-party audits are available on the AWS SOC Compliance site. Learn more about Step Functions security and authentication.
Pay per use
With AWS Step Functions, you pay for each transition from one state to the next. Billing is metered by state transition, and you do not pay for idle time, regardless of how long each state persists (up to one year). This keeps Step Functions cost-effective as you scale from a few executions to tens of millions.