Step Functions and AppSynch Flashcards
What is the execution duration for a Standard vs Express Step Function?
Express: 5 minutes
Standard: 1 Year
Why would you use a standard over an express step function (or vice-a-versa)
Standard Workflows are ideal for long-running, durable, and auditable workflows. They can run for up to a year and you can retrieve the full execution history using the Step Functions API, up to 90 days after your execution completes.
Express Workflows are ideal for high-volume, event-processing workloads such as IoT data ingestion, streaming data processing and transformation, and mobile application backends.
Which step function type executes on:
- at-most-once model
- at-least-once model
And what do these mean?
Standard: at-most-once meaning the function will not execute more than once (unless retries are configured)
Express: possibility that an execution might be run more than once
If a state in a step function fails, what is the default behaviour?
The default behaviour is to fail the function if a single stage fails.
What two ways can we recover from a stage error in a step function?
We can either retry on fail (using exponential backoff) or we can catch the error and handle it and move on.
I have an ETL job which has been transitioned to lambda to take advantage of a serverless platform. The job requires multiple processing stages which I need to orchestrate so that when one process finishes, the next one starts. Execution time for each process can vary between 1 and 8 minutes. What technology would I use and why?
Step functions would be ideal to orchestrate the various lambda processes. Standard step functions would be required as these have a maximum execution time of one year vs 5 minutes for express functions.