Building advanced workflows with AWS Step Functions (API402)

Key Takeaways

  1. Introduction to AWS Step Functions

    • Step Functions is a Visual Workflow service that allows you to build advanced serverless applications.
    • It integrates with over 200 AWS services and provides built-in error handling, retries, and workflow orchestration.
    • The speaker, Eric Johnson, is a Principal Developer Advocate at AWS and a serverless geek.
  2. Choosing the Right Workflow Type: Standard vs. Express

    • Standard workflows have long-lasting wait times (up to 1 year) and provide exactly-once delivery guarantee.
    • Express workflows are designed for high throughput and short durations (up to 5 minutes), with at-least-once delivery.
    • Example comparison shows Standard workflows are more expensive than Express workflows for larger workloads.
  3. Reducing Costs in Step Functions

    • Reducing state transitions in Standard workflows and reducing executions/duration in Express workflows can help reduce costs.
    • Patterns like "Nester" (nested workflows combining Standard and Express) can optimize costs.
    • Using Step Functions' intrinsic functions, such as States.UUID, can reduce the need for Lambda invocations.
    • The "Emit and Wait" pattern can reduce transitions by using EventBridge and callback mechanisms.
  4. Improved Data Flow in Step Functions

    • New features like JSONata support for data transformation and Step Functions variables simplify data handling.
    • JSONata provides a powerful query and expression language to select and transform data within workflows.
    • Step Functions variables allow you to assign and reference values throughout the workflow, with an understanding of scoping rules.
  5. Managing Failures and Scaling Step Functions

    • The "Saga" pattern helps manage multiple related transactions, ensuring consistent state by compensating failed steps.
    • The "Circuit Breaker" pattern helps handle failures from external dependencies, preventing cascading failures.
    • Patterns like "Redrive" and "Test State" help manage and test failed steps in the workflow.
    • Parallel invocations and the "Distributed Map" state can help scale Step Functions to handle large workloads.

Resources

  • The speaker provided a resource page at s12d.com/api402-24 with links to workshop materials, blog posts, and other resources related to the topics covered.

Your Digital Journey deserves a great story.

Build one with us.

Cookies Icon

These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information to improve and customize your browsing experience, as well as for analytics.

If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference.

Talk to us