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.
Share
⚡️ Step Functions - Express vs. Standard - What Are the Differences?
Published 5 months ago • 3 min read
⌛ Reading time: 11 minutes
🎓 Main Learning: Step Functions - Express vs. Standard
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.
Example Application: running both workflow types to see their performance differences
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
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.
A Simple Step Functions Workflow
Key Features and Benefits
Visual Workflow Design: Graphical interface for designing workflows.
State Management: Automatically manages the state of each step.
Integration with AWS Services: Seamless integration with AWS services.
Scalability: Automatically scales to handle thousands of parallel executions.
Cost Efficiency: Pay-as-you-go pricing.
Audit and Monitoring: Detailed execution history and logs.
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.
Transaction flow that requires each step to be executed exactly once
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.
The Standard workflow type can be used for processes with a duration of up to one year
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.
Steps can be automatically reprocessed
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.
Exactly Once vs. At-Least-Once 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!
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.
Hey Reader 👋🏽 This issue will be about a recent real-world experience that just went off right with the new year! 🎉 Once upon a time... 🦄 It all started in September 2024 where Edgio, the main CDN provider we used for one of my large enterprise projects, filed for bankruptcy. Edgio was natively integrated into Azure, allowing you to use it without leaving the Azure ecosystem. It also featured a powerful rules engine (allowing for all kinds of conditions, redirects and rewrites) and didn’t...
⌛ Reading time: 13 minutes 🎓 Main Learning: How to Run Apps on Fargate via ECS 👾 GitHub Repository ✍️ Read the Full Post Online 🔗 Hey Reader 👋🏽 When building applications on AWS, we need to run our code somewhere: a computation service. There are a lot of well-known and mature computation services on AWS. You’ll often find Lambda as the primary choice, as it’s where you don’t need to manage any infrastructure. You only need to bring your code - it’s Serverless ⚡️. However, more options can be...
⌛ Reading time: 10 minutes 🎓 Main Learning: Running Postgres on Aurora DSQL with Drizzle 👾 GitHub Repository ✍️ Read the Full Post Online 🔗 Hey Reader 👋🏽 With re:Invent 2024, AWS finally came up with an answer to what many people (including us) asked for years: "What if there were something like DynamoDB but for SQL?" With Amazon Aurora DSQL, this is finally possible. It’s not just a “scales-to-zero” solution like Aurora Serverless V2. It is a true distributed, serverless, pay-per-use...