Skip to content

Advanced Serverless

How do you understand how your application is held together?

AWS Step Functions Workflow Studio allows you to visually design your workload. When you're done configuring, you can export your configuration as IaC.

This guy really likes his Step Functions.

Using Step Functions also gives a single pane of glass to see how your application is behaving. No more digging through CloudWatch Logs, but you get an overview of all steps in your workload and if they're good or bad. Each individual step also has the relevant logs.

Based on your use case, you can decide to use Standard or Express execution model. I just learned that express is way cheaper (but it has some side effects, so use wisely).

Why use standard? When the workflow takes longer than 5 minutes or if you need to guarantee exactly-once executions. When you are using a standard workflow, you want to reduce the amount of state transitions. When you are using an express workflow, you want it to run fast.

The emit and wait pattern: do a step in Step Functions, save the TaskToken somewhere, and let the workflow wait until the task has completed. Read the documentation.