Step Functions

When to use Step Functions vs. doing it all in a Lambda function

I’m a big fan of AWS Step Functions. I use it to orchestrate all sorts of workflows, from payment processing to map-reduce jobs. Why it’s yet another AWS service you need to learn and pay for. And it introduces additional complexities, such as: It’s hard to test [1]. Your business logic is split between configuration …

When to use Step Functions vs. doing it all in a Lambda function Read More »

Step Functions: combine Standard and Express workflows for fun & profit

Step Functions’ state machines come in two flavours. By understanding their strengths and limitations, you can harness the combined power of both to optimize your processes for efficiency and cost. Standard Workflows Optimal for: Business-critical operations like payment processing. Strengths: Suitable for low-throughput scenarios. High maximum duration ensures enough time for retries using exponential backoff. …

Step Functions: combine Standard and Express workflows for fun & profit Read More »

Testing Step Functions: how to skip time when testing Timeout and Wait states

When I previously wrote about testing Step Functions, I gave you a general strategy that consists of: Component tests that target the Lambda functions (specifically, the custom code you wrote in those functions). End-to-end tests that execute the state machine in the cloud. Local tests using Step Functions Local where you can use mocks to …

Testing Step Functions: how to skip time when testing Timeout and Wait states Read More »

3 ways to manage concurrency in serverless applications

Many software engineering concepts show up in different contexts. Modularity, the single-responsibility principle and separation of concerns are just a few examples that come to mind. They are equally applicable to how we write code, architect our systems and organize our teams. Similarly, there are many parallels between multithreaded programming and event-driven architectures. For example, …

3 ways to manage concurrency in serverless applications Read More »

Choreography vs Orchestration in the land of serverless

Choreography and Orchestration are two modes of interaction in a microservices architecture. In orchestration, there is a controller (the ‘orchestrator’) that controls the interaction between services. It dictates the control flow of the business logic and is responsible for making sure that everything happens on cue. This follows the request-response paradigm. In choreography, every service …

Choreography vs Orchestration in the land of serverless Read More »

How to do blue-green deployment for Step Functions

A client asked me the other day: “What happens to the running executions when I update a state machine?” Sadly, the answer is likely that existing executions would break if you have changed the input/output of the Lambda functions they call. The solution is to use specific versions or aliases of the functions instead. But …

How to do blue-green deployment for Step Functions Read More »

Serverless Step Functions: no more leaky abstractions

I have some exciting news to share with you about the Serverless Step Functions plugin. One of the main pain points of using the plugin was that you needed to use fully-formed ARNs. We addressed this in v1.18.0 by supporting CloudFormation intrinsic functions Fn:GetAtt and Ref. This makes it possible for you to reference a …

Serverless Step Functions: no more leaky abstractions Read More »

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close