AWS Step Functions makes it easy to coordinate the components of distributed applications and microservices using visual workflows. Building applications from individual components that each perform a discrete function lets you scale and change applications quickly. Step Functions is a reliable way to coordinate components and step through the functions of your application. Step Functions provides a graphical console to arrange and visualize the components of your application as a series of steps. This makes it simple to build and run multistep applications. Step Functions automatically triggers and tracks each step, and retries when there are errors, so your application executes in order and as expected. Step Functions logs the state of each step, so when things do go wrong, you can diagnose and debug problems quickly. You can change and add steps without even writing code, so you can easily evolve your application and innovate faster.
AWS Step Functions manages the operations and underlying infrastructure for you to help ensure your application is available at any scale.
AWS Step Functions creates cloud state machines to execute the steps and coordinate the components of your application in a reliable and scalable fashion. State machines have been a central concept in programming for a very long time, and are ideal for coordinating many small components with fast, predictable performance. State machines consist of different states that each perform a specific task. The state machine passes data between components, and decides the next step in the operation of the application. This makes it easy to implement and change the logic of your application as a series of interconnected states.
In addition to using the Step Functions console, you can also create and delete Step Functions state machines using AWS CloudFormation templates, and start state machines using Amazon API Gateway or Amazon CloudWatch Events.
AWS Step Functions provides a graphical console that makes it easy to coordinate the components of distributed applications with visual workflows. You can define each step of your application using simple commands, and Step Functions automatically graphs the end-to-end series of steps as a visual workflow. 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 tracks the state of each step and automatically handles errors with built-in retry and fallback, whether the task takes seconds or months to complete. Using Step Functions, you can automatically retry failed or timed-out tasks, catch specific errors and recover gracefully, and when all else fails, fall back to designated cleanup and recovery code.
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 consistently high as the frequency of requests increases.
AWS Step Functions has built-in fault tolerance. Step Functions maintains service capacity across multiple Availability Zones in each region to help protect application workflows against individual machine or data center facility failures. Step Functions and the state machines running your application workflows are designed to provide predictable and reliable operational performance. This helps ensure high availability for both the service itself and for the application workflow it operates. There are no maintenance windows or scheduled downtimes.
AWS Step Functions delivers real-time diagnostics and dashboards, integrates with Amazon CloudWatch and AWS CloudTrail, and logs every execution, so when things do go wrong, you can quickly identify not only where, but why. All of the execution history - including overall state, failed steps, inputs, and outputs, is available visually and programmatically to deliver the information needed to quickly troubleshoot and remediate failures.
With AWS Step Functions, you pay only for the transition from one step of your application workflow to the next, called a state transition. Billing is metered by state transition, regardless of how long each state persists (up to one year). Pay per use billing means that the service scales cost-effectively and easily, from a few executions to tens of millions.