AWS have announced Dynamic Parallelism for Step Functions allowing one to enhance the Parallel state with the use of a Map. Some use cases include fan-out or scatter-gather approach
From the blog:
To configure a Map state, you define an Iterator, which is a complete sub-workflow.
When a Step Functions execution enters a Map state, it will iterate over a JSON array in the state input. For each item, the Map state it will execute one sub-workflow, potentially in parallel.
When all sub-workflow executions complete, the Map state will return an array containing the output for each item processed by the Iterator.
Very cool 🙂
There is a detailed example in the blog post so check it out 🙂