¿En qué consiste un despliegue con Airflow?

Autor: | Última modificación: 9 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabes qué es, en qué consiste y cómo hacer un despliegue con Airflow?

Pues bien, el despliegue con Airflow se refiere al proceso de configurar y poner en funcionamiento un workflow de Airflow en un entorno de producción. Airflow es una plataforma de gestión de flujo de trabajo desarrollada por Airbnb y ahora mantenida por la Apache Software Foundation, que le permite a los usuarios definir, programar y ejecutar flujos de trabajo complejos en una variedad de entornos.

Veamos, pues, cómo hacer un despliegue con Airflow.

¿Qué es Airflow?

Airflow es una plataforma de código abierto para la gestión de workflows desarrollada inicialmente por Airbnb en 2014 y actualmente mantenida por Apache. Es una herramienta que permite definir, programar y monitorear flujos de trabajo complejos y automatizados que involucran múltiples tareas interdependientes.

Esta herramienta proporciona una interfaz de usuario web para la definición y programación de flujos de trabajo, así como un motor de ejecución para su implementación en entornos de producción. Los flujos de trabajo se definen en Python, lo que le permite a los usuarios utilizar la programación orientada a objetos para definir tareas y sus dependencias. Esto provoca que la definición de flujos de trabajo sea fácilmente escalable y extensible.

Airflow también proporciona una amplia gama de conectores integrados para interactuar con diferentes sistemas de almacenamiento de datos, servicios en la nube, servicios de mensajería y herramientas de análisis de datos. Los flujos de trabajo pueden programarse para ejecutarse en función de eventos o cronogramas específicos, y Airflow proporciona herramientas para la monitorización y el registro de las ejecuciones de tareas y flujos de trabajo.

Despliegue con Airflow

Introducción a Apache Airflow

Airflow es una plataforma para programar, monitorizar flujos de ejecuciones de manera automática y de manera programática.

Los flujos de ejecuciones de Airflow se definen como Directed Acyclic Graphs (DAGs). Cada paso en el flujo de ejecución representa una tarea a ejecutar, como puede ser un preprocesamiento, el entrenamiento y el posterior despliegue con Airflow.

Una de las principales ventajas de Airflow son los operadores nativos con los principales proveedores Cloud, con lo que permite establecer ejecuciones de servicios como Dataflow, AI Platform o Cloud Run en la definición del DAG.

Otra de las ventajas principales de Airflow y por lo que su uso está ampliamente extendido en el mercado es que los DAG se definen como código, lo que los hace altamente mantenibles, versionables, testeados y colaborativos.

Automated ML y el despliegue con Airflow

despliegue con Airflow

En el blog puedes encontrar otros modelos de predicción aplicados a ejercicios, en los que hemos observado y analizado cómo se hace su despliegue para entender la forma en que funcionan.

Centrémonos ahora en el automated ML. Este consiste en hacer aprendizaje dinámico, pero con dato histórico; en este sentido, este modelo sería muy parecido al modelo de Batch, solo que los modelos van cambiando de forma dinámica porque los tenemos automatizados.

¿Cuál es su diferencia con el Batch? ¿Qué es lo que tenemos automatizado?

Básicamente este modelo es igual que el Batch, solo que todos los procesos de preprocesamiento, de entrenamiento o training y de inferencia están programados para ejecutarse en cierto periodo de tiempo. Podemos hacerlo, por ejemplo, de forma diaria, semanal, mensual o como creamos y estimemos más óptimo para nuestro modelo.

Con lo que hemos visto en modelos anteriores, como el Batch, podemos observar cómo se ejecuta el propio job, pero no podemos planificarlo ni analizarlo. Lo que vamos a ver ahora es cómo planificar recursos dentro de Google, para poder, en este caso, automatizar todas las pipelines de la parte de Batch.

Entonces, ¿cómo hacemos esta automatización? Exacto, por medio del despliegue usando Airflow.

Automatización y despliegue con Airflow

Para hacer el despliegue con Airflow, vamos a utilizar este framework. Apache Airflow ofrece un servicio denominado Cloud Composer.

Orquestando un flujo End to End usando Airflow

Al hacer uso del despliegue con Airflow podemos poner de manera automatizada un modelo en producción generado por un flujo automático de entrenamiento y despliegue.

Para esta práctica usaremos el servicio de Google Composer, servicio autogestionado de Airflow en GCP.

¿Qué sigue?

Si tu meta es seguir formándote, puedes recurrir a nuestros cursos en alguna de las numerosas temáticas del mundo del Big Data y aprender más sobre despliegue con Airflow y muchos otros aspectos que te permitirán destacar en este demandado mercado laboral. No puedes perderte el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, donde podrás, en pocos meses, transformarte en un gran profesional IT. ¡Solicita ahora mismo más información y da el salto que catapultará tu futuro!

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado