Step Functions allow you to build pipelines involving one or more amazon, or external service. Some examples of this are:
complex customer on boarding processes jobs which provision resources then send a welcome email billing jobs where you may need wait for payment authorisation provisioning users and setup of any resources each user may need pipeline In software engineering, a pipeline consists of a chain of processing elements (processes, threads, coroutines, functions, etc.
Background jobs form the backbone of a lot of modern applications, they are used to perform a range of asynchronous tasks, from image processing through to order processing, fulfillment and shipping. Wherever there is a need to dispatch some sort of task, then monitor or wait for it’s result.
In the serverless space AWS Step Functions play a similar role to projects such as delayed job or resque in ruby, celery in python, but with the following differences:
Lately I have been using apex to build a side project, this tool stream lines building and deploying serverless applications using AWS Lambda. While working on this project I have helped others get started with golang at the same time as apex.
My general strategy for building apex applications is to build a standalone version of the functionality on my machine, typically in a way which makes the code reusable, then I import and use that in apex.