Slide 1

Slide 1 text

Introducing AWS Step Functions

Slide 2

Slide 2 text

Hello! I am Michael Wittig. AWS since 2013. Freelancer. Everything Cloud and DevOps. 3

Slide 3

Slide 3 text

● Covers fundamental parts of AWS: EC2, EBS, EFS, S3, RDS, DynamoDB, Lambda, VPC, IAM, Auto Scaling, ELB, … ● Learn how to build scalable, highly available, or even fault tolerant systems ● Focuses on Infrastructure as Code with CloudFormation manning.com or Amazon Book Amazon Web Services in Action 4

Slide 4

Slide 4 text

● Running your web application on AWS with Docker: ECS and Fargate. ● Simple to use and fast to implement! ● A production-ready infrastructure for everyone. ● Including deployment pipeline and Infrastructure as Code. cloudonaut.io/rapid-docker-on-aws/ Book Rapid Docker on AWS 5

Slide 5

Slide 5 text

“ AWS Step Functions is a web service that enables you to coordinate the components of distributed applications and microservices using visual workflows. https:/ /docs.aws.amazon.com/step-functions/latest/dg/welcome.html 2

Slide 6

Slide 6 text

● Business Process (Onboarding New Customers, …) ● Execute a container in Fargate ● Infrastructure Automation (CloudFormation Drift Detection, …) ● Customize Deployment Workflow (ECS Deployment, …) ● ... Use Cases 3

Slide 7

Slide 7 text

Anatomy Of a State Machine

Slide 8

Slide 8 text

5 Wait Task

Slide 9

Slide 9 text

6 Choice Task Succeed

Slide 10

Slide 10 text

7

Slide 11

Slide 11 text

● Task ● Choice ● Fail / Succeed ● Pass ● Wait ● Parallel State Types 8

Slide 12

Slide 12 text

Task Integrations ● Activity / worker ● AWS Lambda ● AWS Batch ● Amazon DynamoDB ● Amazon ECS 9 ● Amazon SNS ● Amazon SQS ● AWS Glue ● Amazon SageMaker ● External Input

Slide 13

Slide 13 text

Error Handling ● Retry ● Catch 10

Slide 14

Slide 14 text

11 Demo https:/ /github.com/michaelwittig/aws-ugs-june2019

Slide 15

Slide 15 text

Amazon States Language 12 { "Comment": "An example of the Amazon States Language using a choice state.", "StartAt": "FirstState", "States": { "FirstState": { "Type": "Task", "Resource": "arn:aws:lambda:us-east-1:123456789012:function:FUNCTION_NAME", "Next": "ChoiceState" }, "ChoiceState": { "Type" : "Choice", "Choices": [{ "Variable": "$.foo", "NumericEquals": 1, "Next": "FirstMatchState" }], "Default": "DefaultState" }}}

Slide 16

Slide 16 text

“ Use Step Functions whenever a Lambda function needs to wait/poll longer than 15 minutes in the worst case. 13

Slide 17

Slide 17 text

Blog cloudonaut.io 6