Effective Step Functions
Tomoharu Ito
https://hugtech.io
Slide 2
Slide 2 text
Agenda
1. Lambda invoking is often bad.
2. The new process with WorkflowStudio
3. Point of view for variable injection in CI/CD
4. Design Patterns
5. Use case (Shifter, SAML integration workflow)
Slide 3
Slide 3 text
1. Lambda invoking is often bad.
Slide 4
Slide 4 text
1. [Problem] sometimes hard to see your logic.
packed in..
- Transcribe:StartBatchJob
- WaitJobComplete
- SNS:Publish
- SES:SendEmail
- DynamoDB: UpdateItem
:
return
FALLBACK?
Slide 5
Slide 5 text
1. [Solution] Extract Lambda by SDK integration
Slide 6
Slide 6 text
Eliminate Lambda (as much as possible).
Express (and don’t hide) your logic on your
StateMachine.
Slide 7
Slide 7 text
2. The new process and benefit for WorkflowStudio
Prototype first.
Business logic first.
Slide 8
Slide 8 text
2. Circulation your workflow Console and Repository
Slide 9
Slide 9 text
2. Alteration ASL easy on the Workflow Studio (1)
Handling all the exceptions.
Slide 10
Slide 10 text
Output modification.
2. Alteration ASL easy on the Workflow Studio (2)
Slide 11
Slide 11 text
Don’t needed write ASL direct.
Designing isolated In/Out.
Mutually exclusive errors and fallbacks.
Slide 12
Slide 12 text
3. Point of view for variable injection in CI/CD
Slide 13
Slide 13 text
3. Pulling variables in the workflow
SSM:GetParameters
on top of Workflow.
Slide 14
Slide 14 text
3. Inject variables from AWS-SAM
Slide 15
Slide 15 text
3. [Recommended Way] Inject variables from AWS-SAM
Reset injected values to
inside Workflow as variables
on top.
Slide 16
Slide 16 text
Refer them as
workflow parameters.
3. [Recommended Way] Inject variables from AWS-SAM
Slide 17
Slide 17 text
Manage credential on the single point.
Dynamic or static more suitable in your
use-case .
Slide 18
Slide 18 text
4. Design Patterns
Exception
Handler
Catching all exceptions
Slide 19
Slide 19 text
4. Design Patterns
Delaying operation in
StateMachine.
Delay
Slide 20
Slide 20 text
4. Design Patterns
Run different operation
depending on
StateMachine input.
Action &
Choice
Slide 21
Slide 21 text
4. Design Patterns
Avoid StateMachine
Nesting with
EventBridge.
Flatten
Slide 22
Slide 22 text
4. Design Patterns
Real time notification
from StateMachine.
Async
Notification
Slide 23
Slide 23 text
5. Use case (Shifter, SAML integration workflow)
Slide 24
Slide 24 text
Switch operation per phase in a workflow
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
No content
Slide 27
Slide 27 text
More traceability comes from SDK integration.
Slide 28
Slide 28 text
Monitoring performance by default with X-Ray.
Slide 29
Slide 29 text
Thanks for listening everyone.
See you at the next meetup.