Dray allows users to separate a workflow into discrete steps each to be handled by a single container. This isolation makes efficient use of compute resources and also allows workflows to be easily changed, extended or re-composed via this loosely coupled architecture.
- Consumes description of the workflow to be executed
- Starts containers in the correct order
- Marshals data between each workflow step
- Shuts down containers once their work is done
- Monitors the execution & status of the workflow