3 ms·
Well similar to SWF it looks like they provide the infrastructure for tracking the state changes and the input/output data at each step so you can: (1) Quick
by talawahdotnet 10y ago
Well similar to SWF it looks like they provide the infrastructure for tracking the state changes and the input/output data at each step so you can:
(1) Quickly get a visual overview of all your executions
(2) See how many workflows failed
(3) Drill down and see which specific step failed and the data that might have triggered the failure
(4) re-run specific workflows
It provides built in error handling, retries/backoff, and parallelization. These are all things you could code yourself, but at some point you would have built a workflow system. Not to mention that the infrastructure of the workflow system itself is managed for you, so you don't have to worry about that going down. You can write workflows that execute over days, weeks or months and not worry about what happens if your server goes down.
It would also come in handy for mutli-language workflows. If your were interacting with a variety of third party APIs that had SDKs in different languages, you could quickly string together a Python Lambda, Java Lambda and some .NET code that used the long polling API.
It would be nice if it integrated seamlessly with Cloudwatch and X-Ray to provide a unified view of logging and tracing right from the same interface.
I also expect a more seamless integration with AWS Batch at some point. Could be useful for chaining together multiple independently maintained batch processes (video conversion, resizing, publish to youtube).
I personally use SWF for a 10 step e-commerce workflow that calls multiple API. It works great, but I could have developed it much more quickly using Step Functions if it were available at the time.