Slide 1

Slide 1 text

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.