Apache Airflow
# Apache Airflow

Apache Airflow es una plataforma de gestión de flujo de trabajo de código abierto escrita en Python, donde los flujos de trabajo se crean a través de scripts de Python. Fue creada por Airbnb en octubre de 2014 como solución para la gestión de flujos de trabajo dentro de la empresa. Al crear Airflow, Airbnb logró manejar más fácilmente sus flujos de trabajo y controlarlos gracias a la interfaz de usuario incluida en Airflow. Desde el principio, el proyecto fue distribuido como código abierto, se convirtió en un proyecto de Incubadora de apache en marzo de 2016 y un proyecto de software de nivel superior de la Fundación Apache en enero de 2019.

Airflow está escrito en Python, y los workflows son creados vía scripts en Python. Airflow Está diseñado bajo el principio de "configuración como código". Si bien hay otras plataformas de flujos de trabajo que también trabajan bajo el principio "configuración como código", la mayoría utiliza XML. Al utilizarse Python en Airflow, los desarrolladores pueden importar bibliotecas y clases para ayudarles crear sus flujos de trabajo.

## Visión general

Airflow utiliza grafos acíclicos dirigidos (DAG) para gestionar la orquestación del flujo de trabajo. Las tareas y dependencias se definen en Python y luego Airflow gestiona la programación de tareas y la ejecución. Los DAG se pueden ejecutar en un horario definido (por ejemplo, cada hora o cada día) o en función de la ocurrencia de eventos externos (por ejemplo, un archivo que aparece en Hive). Los programadores anteriores basados en DAG como Oozie y Azkaban tendían a depender de múltiples archivos de configuración y árboles del sistema de archivos para crear un DAG, mientras que en Airflow, los DAG a menudo se pueden escribir en un solo archivo Python.

## Proveedores gestionados

Dos proveedores notables ofrecen servicios auxiliares en torno al proyecto central de código abierto. Astronomer ha creado una herramienta SaaS y una pila de Airflow desplegable bajo Kubernetes que ayuda con la supervisión, alertas, devops y gestión de clústeres. Cloud Composer es una versión administrada de Airflow que se ejecuta en Google Cloud Platform (GCP) y se integra bien con otros servicios de GCP.

