Apache Airflow es una plataforma de orquestación de flujos de trabajo de código abierto que permite programar, planificar y monitorizar pipelines de datos complejos. Creado originalmente en Airbnb en 2014 y donado a la Apache Software Foundation, Airflow se ha convertido en el estándar de facto para la orquestación de pipelines ETL/ELT y la automatización de procesos en el ecosistema de data engineering. Su modelo basado en DAGs (Directed Acyclic Graphs) definidos como código Python ofrece flexibilidad total para diseñar flujos de trabajo con dependencias, reintentos, scheduling y monitorización, siendo utilizado por empresas como Airbnb, Spotify, Twitter, Adobe y Lyft.
La rama Airflow 3 introduce cambios estructurales importantes frente a la serie 2: el DAG Processor se ejecuta como servicio independiente y aísla el parseo de la lógica del Scheduler, el Task SDK (paquete airflow.sdk) separa el contrato de autoría de DAGs del runtime del motor y la ejecución de tareas gana aislamiento gracias a AIP-72, que limita la comunicación tarea-orquestador a una API estable y evita el acceso directo a la base de metadatos. Los Deferrable Operators y el Triggerer pasan a ser la forma recomendada de esperar a eventos externos sin bloquear workers, y los Assets (antes Datasets) habilitan data-aware scheduling mediante AssetEvent y disparo automático de DAGs dependientes cuando se pública nueva información. La API pública se ha modernizado con Pydantic y la interfaz gráfica se ha rediseñado con React, incorporando vistas de linaje de assets, ejecución manual parametrizada y mejor observabilidad. La plataforma está alineada con Python 3.12+ y se distribuye como wheels firmadas que facilitan despliegues reproducibles.
La arquitectura de Airflow se compone del Scheduler que planifica instancias de tarea, el DAG Processor que parsea ficheros Python de forma aislada, el Triggerer que gestiona esperas asíncronas de los operadores diferibles, una Metadata Database que almacena estado de DAG Runs y Task Instances, la API Server que expone la API pública y los Executors que deciden dónde corren las tareas (local, Celery, Kubernetes, edge). Su ecosistema de providers ofrece cientos de operadores y hooks preconstruidos para conectar con bases de datos, servicios cloud (AWS, GCP, Azure), herramientas de procesamiento (Spark, dbt) y APIs externas, permitiendo orquestar cualquier infraestructura de datos desde un único punto de control.
Este itinerario recorre Apache Airflow de principio a fin: desde los conceptos fundamentales de orquestación y la instalación del entorno hasta el CI/CD y los servicios gestionados en la nube, pasando por la definición de DAGs con TaskFlow API, operadores, sensores, Deferrable Operators, assets y data-aware scheduling, integraciones con el ecosistema de datos y la operación segura en producción.
Qué incluye este itinerario
- Fundamentos y arquitectura: qué es Airflow, concepto de DAG, arquitectura con Scheduler, DAG Processor, Triggerer, API Server, Metadata DB y Workers y tipos de executors.
- Instalación y entorno: setup con pip, Docker Compose, Helm en Kubernetes, configuración y primer DAG con Task SDK.
- DAGs en profundidad: definición, dependencias, scheduling con cron, timetables, Assets y data-aware scheduling, catchup/backfill y DAGs dinámicos.
- Operadores: BashOperator, PythonOperator, providers cloud (AWS, GCP, Azure), operadores SQL y custom operators.
- Sensores y hooks: sensores (File, HTTP, SQL, ExternalTask), hooks, Deferrable Operators y Triggerer asíncrono.
- XCom y TaskFlow API: paso de datos con XCom, decorador
@task, TaskGroups y Dynamic Task Mapping. - Integraciones: bases de datos, almacenamiento cloud, Spark, dbt, APIs REST y KubernetesPodOperator.
- Seguridad y producción: AIP-72 (aislamiento de tareas), RBAC, secrets backends, logging, monitorización con Prometheus y Grafana, SLAs y alertas.
- CI/CD y testing: tests de DAGs con pytest, pipelines CI/CD, Astro CLI y servicios gestionados (MWAA, Cloud Composer).
Público objetivo
- Data Engineers que necesitan orquestar pipelines ETL/ELT en infraestructuras de datos modernas.
- Ingenieros de software que automatizan procesos y flujos de trabajo dependientes entre sí.
- Analistas de datos y analytics engineers que quieren programar y monitorizar sus transformaciones de datos.
- DevOps Engineers que operan plataformas de datos y necesitan dominar la orquestación con Airflow.
- Arquitectos de datos que diseñan plataformas de datos empresariales con scheduling y monitorización.
- Profesionales IT en transición hacia roles de data engineering que buscan formación en orquestación.
Prerrequisitos
Conocimientos de Python a nivel intermedio (funciones, clases, decoradores, manejo de excepciones). Es recomendable tener familiaridad básica con la terminal o línea de comandos, conceptos de bases de datos SQL y comprensión general de procesos ETL. Para módulos avanzados, se valorarán conocimientos de Docker y conceptos básicos de servicios cloud.