In this talk, I'm gonna tell you all about AWS Step Functions - how it works, when to use it, and some tips on how to accelerate app development so you can ship customer values faster.
Recording: coming soon
Real-world serverless podcast: https://realworldserverless.com
Learn Lambda best practices: https://lambdabestpractice.com
Blog: https://theburningmonk.com
Consulting services: https://theburningmonk.com/hire-me
Production-Ready Serverless workshop: https://productionreadyserverless.com
34. @theburningmonk theburningmonk.com
"TaskState": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:1234556788:function:hello-world",
"Next": "NextState",
"TimeoutSeconds": 300
}
Task
Defaults to 60s, even if function has longer timeout
Performs a task.
35. @theburningmonk theburningmonk.com
"TaskState": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:1234556788:function:hello-world",
"Next": "NextState",
"TimeoutSeconds": 300
}
Task
Defaults to 60s, even if function has longer timeout
Set this to match your function’s timeout
Performs a task.
36. @theburningmonk theburningmonk.com
"TaskState": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:1234556788:function:hello-world",
"Next": "NextState",
"TimeoutSeconds": 300
}
Task
Doesn’t have to be Lambda function.
Performs a task.
37. @theburningmonk theburningmonk.com
"TaskState": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:1234556788:function:hello-world",
"Next": "NextState",
"TimeoutSeconds": 300
}
Task
Doesn’t have to be Lambda function.
Performs a task.
Activity, AWS Batch, ECS task, DynamoDB,
SNS, SQS, AWS Glue, SageMaker
83. @theburningmonk theburningmonk.com
long running workflows
what: workflows that cannot complete in 15 minutes
(Lambda limit).
why: AWS discourages recursive Lambda functions,
Step Functions gives you explicit branching checks,
and can timeout at workflow level.
105. @theburningmonk theburningmonk.com
Backend system was slow and had
timing issue, so they needed to add a
90s delay before processing payment.
Step Functions was the most cost-
efficient and scalable way to
implement this wait.