Los pipelines tradicionales están muy ligados a las infraestructuras de computación locales donde se ejecutan. Estos no tienen la capacidad de resumir un proceso que se haya parado, tienen poca documentación, no cuentan con una trazabilidad de los parámetros y versiones de paquetes utilizados y requieren de instalación manual, lo cual impide una fácil distribución de este. Para poder solucionar estos inconvenientes se han creado los Workflow Managers. Estos permiten la utilización de pipelines de análisis complejos en distintos entornos de computación asegurando la máxima reproducibilidad de los procesos ejecutados.
Varios Workflow Managers se han desarrollado específicamente para los campos de investigación y salud integrando entornos, contenedores y computación en la nube.
Hay cinco características que hacen a los Workflow Managers herramientas de gran utilidad:
- Reproducibilidad. La utilización de entornos y contenedores asegura una apropiada reproducibilidad de los procesos ejecutados.
- Portabilidad. Es una de las grandes ventajas de la utilización de Workflow Managers, ya que crea los flujos de trabajo necesarios para poderse exportar a cualquier entorno computacional. Muchos de ellos permiten la fácil migración a distintos entornos, inclusive de alta computación y servicios en la nube. Es más, es posible la interacción directa con orquestadores como Kubernetes o DockerSwarm.
- Escalabilidad. Ser capaz de manejar y analizar datos con una complejidad creciente es cada vez más común. En este sentido hay dos aspectos que deben tenerse en cuenta: el manejo eficiente de los recursos y ser capaz de utilizar datos más complejos y de mayor tamaño. La mayoría de Workflow Managers implementan la paralelización en diversos pasos, sea mediante gestor de colas o scheduling estática o adaptativa. La paralelización puede producirse a nivel de datos, procesos o pipelines. Una asignación dinámica de los recursos permite que los procesos más intensivos no se vean afectados respecto a los que no requieren tantos. Este balanceo minimiza cuellos de botella y reduce los tiempos de computación. Los recursos pueden asignarse específicamente para cada paso del flujo de trabajo.
- Robustez. Muchos pipelines requieren de procesos complejos y de larga duración. En el posible evento de la interrupción del pipeline en algún proceso debido a un error, sea programático o por la ausencia de un input requerido, los Workflow Managers son capaces de resumir el proceso desde el lugar donde hubo el último paso correcto, resultando en el ahorro en la utilización de recursos y tiempo. Este proceso se consigue mediante la producción de archivos y resultados intermedios, siendo comparados con los resultados esperados. Este proceso genera un aumento en las necesidades de almacenamiento, pero comporta una ventaja sustancial en el caso de tener la necesidad de una reentrada en el pipeline.
- Modularidad. La compartimentación de los procesos permite un gran dinamismo en la actualización de ciertos pasos del proceso, así como de la introducción de puntos de control para cada etapa. La modularidad también permite la reutilización de un proceso en varios pipelines simultáneamente.
Finalmente, indicar que algunos Workflow Managers también tienen recursos para aumentar la seguridad en la ejecución de los procesos, como la validación del origen de los datos o utilizar autenticación de usuarios.