Airflow/CWL Glossary and FAQ

What is CWL?

CWL stands for the Common Workflow Language Citing the CWL website:

CWL is an open standard for describing analysis workflows 
and tools in a way that makes them portable and scalable 
across a variety of software and hardware environments, 
from workstations to cluster, cloud, and high performance 
computing (HPC) environments. CWL is designed to meet the 
needs of data-intensive science, such as Bioinformatics, 
Medical Imaging, Astronomy, High Energy Physics, and Machine Learning.

What is Airflow

Apache Airflow is a platform to programmatically author, schedule and monitor workflows. It represents workflows as graphs, visualizes them and provides a nice Graphical User Interface (GUI) to manage, control and monitor workflows.

What is CWL-Airflow

CWL-Airflow implements CWL by translating CWL workflows into Airflow DAGs, hence providing a nice GUI to manage, control and monitor CWL workflows.

What is Docker

Docker, is a software framework for managing containers on servers and the cloud.

What is Docker-compose

Docker-compose is a tool for defining and running multi-container Docker applications.

Airflow uses multiple containers (at least webserver and scheduler) and also interacts with other applications, such as a RDBMSs where it stores it state. These applications can also be deployed as containers. We use docker-compose to orchestrate all required containers.