I think the biggest issue with workflow tools vs code is that a visual representation of a software system doesn’t made it any less complicated, and often the workflow system makes it even worse. I say this while building AWS Step Functions (another workflow system) into multiple applications, so it’s not really “off the cuff”.
I use Step Functions over Lambda for one big reason: no dependencies or runtimes to update. Secondary reasons include the lack of “cold start” and the unique capabilities. However, they have huge downsides and one of them is the complexity of building anything that isn’t choreographing calls to AWS services. It can get crazy ugly, and would quickly if it was the only tool I had.
Used in combination with imperative code, declarative workflow is a gift. On its own, a nightmare.
No, StepFunctions is a different beast. I didn't build it, so I'm just guessing but I suspect it's running a shared backend for all state machines so there is no static initialization, etc. to speak of.
Don't be confused that you _can_ call Lambada from StepFunctions, but that's a different beast (and a bit of an anti-patter IMHO).
I use Step Functions over Lambda for one big reason: no dependencies or runtimes to update. Secondary reasons include the lack of “cold start” and the unique capabilities. However, they have huge downsides and one of them is the complexity of building anything that isn’t choreographing calls to AWS services. It can get crazy ugly, and would quickly if it was the only tool I had.
Used in combination with imperative code, declarative workflow is a gift. On its own, a nightmare.