⚑️ Step Functions - Express vs. Standard - What Are the Differences?


  • βŒ› Reading time: 11 minutes
  • πŸŽ“ Main Learning: Step Functions - Express vs. Standard
  • πŸ‘Ύ GitHub Code
  • ✍️ Blog Post

Hey Reader

while Sandro is learning something new at the AWS Community Day in Munich today, we'll explore Express and Standard Step Functions, the two types of workflows offered by AWS Step Functions.

We’ll break down their differences, when to use each, and the benefits of both.

If you want to try out Step Functions on your own, please check out our example repository which can be used to deploy both workflow types into your own AWS account.

Comparison Overview

Before we do a deep dive, here's a quick overview about the most important differences.

Standard Workflows

  • Max Duration: One year 🐌
  • Execution Start Rate: 800-1300/s
  • State Transition Rate: 800-5000/s
  • Pricing: By state transitions
  • Execution History: Detailed via APIs, console, and CloudWatch Logs
  • Execution Semantics: Exactly-once
  • Service Integrations: All supported
  • Distributed Map: βœ…
  • Activities: βœ…

Express Workflows

  • Max Duration: Five minutes ⚑️
  • Execution Start Rate: 6000/s
  • State Transition Rate: No limit
  • Pricing: By executions, duration, and memory
  • Execution History: Limited to 5 minutes
  • Execution Semantics: At-least-once (Async), At-most-once (Sync)
  • Service Integrations: All except Job-run (.sync) or Callback (.waitForTaskToken)
  • Distributed Map: ❌
  • Activities: ❌

It's very important to notice the billig differences:

  • ⏳ Duration at Express Step Functions vs.
  • πŸ”€ State Transitions at Standard Step Functions

Introduction

AWS Step Functions is a fully managed service that enables you to coordinate multiple AWS services (and basically everything else that has a HTTP API) into serverless workflows.

It simplifies building and running multi-step applications by providing a visual interface to design and manage workflows.

Key Features and Benefits

  1. Visual Workflow Design: Graphical interface for designing workflows.
  2. State Management: Automatically manages the state of each step.
  3. Error Handling: Built-in error handling capabilities.
  4. Integration with AWS Services: Seamless integration with AWS services.
  5. Scalability: Automatically scales to handle thousands of parallel executions.
  6. Cost Efficiency: Pay-as-you-go pricing.
  7. Audit and Monitoring: Detailed execution history and logs.
  8. Flexibility: Supports both Standard and Express workflows.

Standard Step Functions

Standard Workflows are designed for long-running, durable, and auditable state management. They guarantee exactly-once processing, ensuring each step is executed precisely one time.

Perfect for applications where data consistency and reliability are critical, such as financial transaction processing systems. They handle long-running processes that may span hours, days, or even months.

Standard Step Functions are durable, maintaining state and recovering from failures. They are also auditable, logging every step for review, which is crucial for compliance and debugging.

Express Step Functions

Express Workflows are designed for high-volume, short-duration, and cost-sensitive applications requiring fast state management. They are optimized for high-throughput and low-latency processing.

Express Workflows offer at-least-once processing, suitable for scenarios where occasional duplicate executions are acceptable. They are perfect for short-lived processes that complete within minutes and can handle thousands of executions per second.

Express Workflows are cost-effective, billed based on the number of requests and duration of each execution. They provide basic error handling and retry mechanisms, ensuring workflows can handle transient failures.

Choosing the Right Step Function

Choose Express Workflows for:

  • High-frequency
  • Short-duration tasks
  • Rapid execution
  • Tolerating transient errors

Opt for Standard Workflows for:

  • Long-running
  • Durable tasks
  • Detailed execution history
  • Robust error handling

Our Recommendation

Start with Express Step Functions unless you have a valid reason against it. They are cheaper and often sufficient. Remember to configure logging for Express Step Functions, as debugging can be slower on AWS’s side, but the cost reduction is often worth it.

Conclusion

AWS Step Functions offers Standard and Express workflows to meet different needs. Standard Workflows are ideal for long-running, complex tasks with robust error handling and detailed execution history. Express Workflows are perfect for high-throughput, short-duration tasks, offering rapid execution and cost efficiency.

Tobi & Sandro

our goal is to simplify AWS & Cloud Learning for everybody. You don't need expensive certifications to build on AWS!

Dr.-Otto-Bâßner-Weg 7a, Ottobrunn, Bavaria 85521 Β· Unsubscribe Β· Preferences​

AWS for the Real World

Join our community of over 8,800 readers delving into AWS. We highlight real-world best practices through easy-to-understand visualizations and one-pagers. Expect a fresh newsletter edition every two weeks.

Read more from AWS for the Real World

βŒ› Reading time: 14 minutes πŸŽ“ Main Learning: Feature Flags with AWS AppConfig πŸ‘Ύ GitHub Repository ✍️ Read the Full Post Online πŸ”— Hey Reader πŸ‘‹πŸ½ There's no other field where it's so common to have "a small side-project" like in the software industry. Even though it's possible to build things as quickly as ever before due to cloud providers, tools, platforms, and AI, many indie founders (and also large enterprises) tend to fall into the same trap: they tend to build features that users do not...

βŒ› Reading time: 17 minutes πŸŽ“ Main Learning: Observability at Scale with Open-Source πŸ‘Ύ GitHub Repository ✍️ Read the Full Post Online πŸ”— Hey Reader πŸ‘‹πŸ½ Welcome to this edition of the AWS Fundamentals newsletter! In this issue, we're focusing on observability with open-source tools on AWS. As most of you already know, we can use Amazon CloudWatch and X-Ray to monitor our application from every angle. But what if we want to hybrid setup where we run certain parts of our ecosystem outside of AWS?...

βŒ› Reading time: 9 minutes πŸŽ“ Main Learning: Polling or WebSockets: Choosing with Amazon API Gateway πŸ‘Ύ GitHub Repository ✍️ Read the Full Post Online πŸ”— Hey Reader πŸ‘‹πŸ½ What would you use for quick and regular data updates inside your web app? Or let's phrase it another way: how would you choose between Polling and WebSockets? πŸ’­ Understanding the nuances between these two communication methods is important, as they both come with their own advantages, gotchas, and side effects that are not very...