From f74418f23d93150e40f68bb037a16921a0ddf98e Mon Sep 17 00:00:00 2001 From: dkavanagh Date: Fri, 1 Dec 2017 14:37:06 -0800 Subject: [PATCH] first draft --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/README.md b/README.md index aa0cbf0..79c5747 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ Table of Contents | [ECS](#ecs) | [📗](#ecs-basics) | [📘](#ecs-tips) | | | [Lambda](#lambda) | [📗](#lambda-basics) | [📘](#lambda-tips) | [📙](#lambda-gotchas-and-limitations) | | [API Gateway](#api-gateway) | [📗](#api-gateway-basics) | [📘](#api-gateway-tips) | [📙](#api-gateway-gotchas-and-limitations) | +| [Step Functions](#step-functions) | [📗](#step-function-basics) | [📘](#step-function-tips) | [📙](#step-function-gotchas-and-limitations) | | [Route 53](#route-53) | [📗](#route-53-basics) | [📘](#route-53-tips) | | | [CloudFormation](#cloudformation) | [📗](#cloudformation-basics) | [📘](#cloudformation-tips) | [📙](#cloudformation-gotchas-and-limitations) | | [VPCs, Network Security, and Security Groups](#vpcs-network-security-and-security-groups) | [📗](#vpc-basics) | [📘](#vpc-and-network-security-tips) | [📙](#vpc-and-network-security-gotchas-and-limitations) | @@ -1448,6 +1449,29 @@ API Gateway 🚧 [*Please help expand this incomplete section.*](CONTRIBUTING.md) +Step Functions +------ + +### Step Functions Basics +- 📒 [Homepage](https://aws.amazon.com/step-functions/) ∙ [Developer guide](http://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) ∙ [FAQ](https://aws.amazon.com/step-functions/faqs/) ∙ [Pricing](https://aws.amazon.com/step-functions/pricing/) +- **Step Functions** is AWS’ way to create state machines that manage a serverless workflow. + +### Step Functions Tips +- A variety of structures are supported including branching, parallel operations and waits +- Tasks represent the real work nodes and are frequently Lambda functions, but can be Activities which are externally driven tasks implemented any way you like. +- State machines have data that "flows" through the steps and can be modified and added to as the state machine executes. +- The AWS Console is fantastic at letting you examine the execution state at various steps. +- It's best if your tasks are itempotent, in part because you may want to re-run the state machine with the same input data during debugging + - The console lets you do this with a few steps: + - select the "input" tab from the failed execution + - copy the input data (JSON) + - select the state machine name in the breadcrumbs + - start a new execution, pasting the input data you copied previously + + +### Step Functions Gotchas and Limitations +- You can have many, simulatanous, executions, but be aware of lambda throttling limits. This has been per-account, pre-region, but recently became settable per-lambda. + Route 53 --------