Typical datacenter operations and processes involve taking multiple actions
across various systems. To capture and automate these operations,
BWC uses workflows. A workflow strings atomic actions into a higher level
automation, and orchestrates their executions by calling the right action
at the right time with the right input, keeping the state, passing data,
and providing reliability and transparency to the execution.

Just like any actions, workflows are exposed in the automation library,
and can be called manually, or triggered by the rules.

To create a workflow action, choose a workflow runner,
connect the actions in a workflow definition,
and provide the usual action meta data.

ActionChain is BWC‘s internal no-frills workflow runner.
It provides a simple syntax to define a chain of actions,
runs them one after another, passing data from one action to another,
until it succeeds or fails. Use ActionChain when you want speed and simplicity.

Mistral is a dedicated
workflow service, originated in OpenStack, integrated and bundled with BWC. With Mistral
runner, you can define complex workflow logic with nested workflows,
forks, joins, and policies for error handling, retries, and delays.
Use Mistral when you need power and resilience.

CloudSlang is a language for defining
workflows run by the CloudSlang Orchestration Engine. With the CloudSlang
runner, you can define your own complex workflows or leverage the power of
the ready-made CloudSlang content repository.