Introduction to Step Functions and its features
Step Functions is a managed service by AWS that implements the Finite State Machine (FSM) model. In short, it is a way to control workflow processes and determine what needs to happen next depending on which stage the task encounters itself.
Multiple AWS services (eg. Lambda functions, ECS tasks, SQS queues, etc) can be coordinated into a serverless workflow to accomplish a higher level task with little coding requirements. This enables the composition of multiple services to create feature-rich applications while keeping components decoupled and scalable independently.
Let’s consider a business selling online services. Once a customer closes the purchase on their website, a series of actions need to be taken:
The decision of when to execute each task depends on the status of the overall process. Consider the system tried to process the credit card, but something went wrong. Credentials should not be sent to the customer until this problem is resolved and the payment status is successful.
Handling failures is another aspect of workflow management that Step Functions takes the burden off of developer hands.
When the credit card processing fails, it’s easy to determine what to do. The developer might configure the workflow to trigger a service for sending a failure e-mail to the customer or even open a support ticket in Zendesk1, for example.
If a notification can’t be sent at a given moment, Step Functions can handle the retry logic for it later.
Save time spent on debugging applications.
Increase development velocity and quality.
Get actionable insights to your infrastructure.