Descripción general de Managed Airflow

Managed Airflow (3ª gen.) | Managed Airflow (2ª gen.) | Managed Airflow (1ª gen. heredada)

En esta página, se proporciona una breve introducción a Airflow y los DAG, y se describen las funciones y capacidades de Managed Airflow.

Para obtener más información sobre las funciones nuevas en las versiones de Managed Airflow, consulta las notas de la versión.

Acerca de Managed Airflow

Managed Airflow es un servicio de organización del flujo de trabajo completamente administrado, lo que te permite crear, programar, supervisar y administrar canalizaciones de flujo de trabajo que abarcan varias nubes y centros de datos locales.

Managed Airflow se basa en el popular proyecto de código abierto Apache Airflow y opera con el lenguaje de programación Python.

Mediante el uso de Managed Airflow en lugar de una instancia local de Apache Airflow, puedes beneficiarte de lo mejor de Airflow sin una sobrecarga de instalación o administración. Managed Airflow te permite crear entornos de Airflow administrados rápidamente y usar herramientas nativas de Airflow, como su potente interfaz web y las herramientas de línea de comandos, para que puedas enfocarte en los flujos de trabajo y no en la infraestructura.

Diferencias entre las versiones de Managed Airflow

Para obtener más información sobre las diferencias entre las versiones principales de Managed Airflow, consulta la descripción general del control de versiones de Managed Service para Apache Airflow.

Airflow y DAG de Airflow (flujos de trabajo)

En las estadísticas de datos, un flujo de trabajo representa una serie de tareas para transferir, transformar, analizar o usar datos. En Airflow, los flujos de trabajo se crean mediante los DAG o “grafos acíclicos dirigidos”.

Relación entre los DAG y las tareas
Figura 1. Relación entre los DAG y las tareas

Un DAG es una colección de tareas que deseas programar y ejecutar, organizadas, de manera que reflejen sus relaciones y dependencias. Los DAG se crean en archivos Python, que definen la estructura del DAG mediante el código. El propósito del DAG es garantizar que cada tarea se ejecute en el momento correcto y en el orden adecuado.

Cada tarea en un DAG puede representar casi todo. Por ejemplo, una tarea puede realizar cualquiera de las siguientes funciones:

  • Prepara datos para la transferencia
  • Supervisa una API
  • Envía un correo electrónico
  • Ejecuta una canalización

Además de ejecutar un DAG según una programación, puedes activar los DAG de forma manual o en respuesta a eventos, como los cambios en un bucket de Cloud Storage. Para obtener más información, consulta Programa y activa DAG.

Para obtener más información sobre los DAG y las tareas, consulta la documentación de Apache Airflow.

Entornos de Managed Airflow

Los entornos de Managed Airflow son implementaciones autónomas de Airflow basadas en Google Kubernetes Engine. Funcionan con otros Google Cloud servicios mediante conectores integrados en Airflow. Puedes crear uno o más entornos en un solo Google Cloud proyecto, en cualquier región compatible.

Managed Airflow aprovisiona Google Cloud servicios que ejecutan tus flujos de trabajo y todos los componentes de Airflow. Los componentes principales de un entorno son los siguientes:

  • Clúster de GKE: Los componentes de Airflow, como los programadores, los activadores y los trabajadores de Airflow, se ejecutan como cargas de trabajo de GKE en un solo clúster creado para tu entorno y son responsables de procesar y ejecutar los DAG.

    El clúster también aloja otros componentes de Managed Airflow como Composer Agent y Airflow Monitoring, que ayudan a administrar el entorno de Managed Airflow , recopilar registros para almacenar en Cloud Logging y recopilar métricas para subir a Cloud Monitoring.

  • Servidor web de Airflow: El servidor web ejecuta la IU de Apache Airflow.

  • Base de datos de Airflow: La base de datos contiene los metadatos de Apache Airflow.

  • Bucket de Cloud Storage: Managed Airflow asocia un bucket de Cloud Storage con tu entorno. Este bucket, también llamado bucket de entorno, almacena los DAG, losregistros, los complementos personalizados, y los datos del entorno. Para obtener más información sobre el bucket del entorno, consulta Datos almacenados en Cloud Storage.

Para obtener información detallada sobre los componentes de un entorno, consulta Arquitectura del entorno.

Interfaces de Managed Airflow

Managed Airflow proporciona interfaces para administrar entornos, instancias de Airflow que se ejecutan dentro de entornos y DAG individuales.

Por ejemplo, puedes crear y configurar entornos de Managed Airflow en la Google Cloud consola, Google Cloud CLI, la API de Cloud Composer o Terraform.

Como otro ejemplo, puedes administrar DAG desde Google Cloud la consola, la IU nativa de Airflow o ejecutando comandos de Google Cloud CLI y Airflow CLI.

Funciones de Airflow en Managed Airflow

Cuando usas Managed Airflow, puedes administrar y usar funciones de Airflow como las siguientes:

Control de acceso en Managed Airflow

Administras la seguridad a nivel del Google Cloud proyecto y puedes asignar funciones de IAM que permiten a los usuarios individuales modificar o crear entornos. Si alguien no tiene acceso a tu proyecto o no tiene una función apropiada de IAM de Managed Airflow, esa persona no podrá acceder a ninguno de tus entornos.

Además de IAM, puedes usar el control de acceso de la IU de Airflow, que se basa en el modelo de control de acceso de Apache Airflow.

Para obtener más información sobre las funciones de seguridad en Managed Airflow, consulta la descripción general de la seguridad de Managed Airflow.

Redes del entorno

Managed Airflow admite varias configuraciones de red para entornos, con muchas opciones de configuración. Por ejemplo, en un entorno de IP privada, los DAG y los componentes de Airflow están completamente aislados de Internet público.

Para obtener más información sobre las redes en Managed Airflow, consulta las páginas de funciones de red individuales:

Otras funciones de Managed Airflow

Otras funciones de Managed Airflow incluyen las siguientes:

Preguntas frecuentes

¿Qué versión de Apache Airflow usa Managed Airflow?

Los entornos de Managed Airflow se basan en imágenes de Managed Airflow. Cuando creas un entorno, puedes seleccionar una imagen con una versión específica de Airflow:

  • Managed Airflow (3ª gen.) admite Airflow 2.
  • Managed Airflow (2ª gen.) admite Airflow 2.
  • Managed Airflow (1ª gen. heredada) admite Airflow 1 y Airflow 2.

Tienes el control de la versión de Apache Airflow de tu entorno. Puedes decidir actualizar tu entorno a una versión posterior de la imagen de Managed Airflow. Cada versión de Managed Airflow es compatible con varias versiones de Apache Airflow.

¿Puedo usar la IU y la CLI nativas de Airflow?

Puedes acceder a la interfaz web de Apache Airflow de tu entorno. Cada uno de los entornos tiene su propia IU de Airflow. Para obtener más información sobre el acceso a la IU de Airflow, consulta la interfaz web de Airflow.

Para ejecutar comandos de la CLI de Airflow en tus entornos, usa comandos gcloud. Para obtener más información sobre la ejecución de comandos de la CLI de Airflow en entornos de Managed Airflow, consulta la interfaz de línea de comandos de Airflow.

¿Puedo usar mi propia base de datos como base de datos de Airflow?

Managed Airflow usa un servicio de base de datos administrado para la base de datos de Airflow. No es posible usar una base de datos proporcionada por el usuario como base de datos de Airflow.

¿Puedo usar mi propio clúster como clúster de Managed Airflow?

Managed Airflow usa el servicio de Google Kubernetes Engine para crear, administrar y borrar clústeres de entorno en los que se ejecutan los componentes de Airflow. Managed Airflow administra por completo estos clústeres.

No es posible compilar un entorno de Managed Airflow basado en un clúster de Google Kubernetes Engine autoadministrado.

¿Puedo usar mi propio registro de contenedores?

Managed Airflow usa el servicio de Artifact Registry para administrar los repositorios de imágenes de contenedores que usan los entornos de Managed Airflow. No es posible reemplazarlo por un registro de contenedores proporcionado por el usuario.

¿Los entornos de Managed Airflow son zonales o regionales?

Cuando creas un entorno, debes especificar una región para él:

  • Los entornos estándar de Managed Airflow tienen una base de datos de Airflow zonal y una capa de ejecución de Airflow multizonal. La base de datos de Airflow se encuentra en una de las zonas de la región especificada, y los componentes de Airflow se distribuyen entre varias zonas.
  • Los entornos de Managed Airflow (de alta disponibilidad) altamente resilientes tienen una base de datos de Airflow multizonal y una capa de ejecución de Airflow multizonal. Un entorno altamente resiliente se ejecuta en al menos dos zonas de la región seleccionada. Managed Airflow distribuye automáticamente los componentes de tu entorno entre las zonas. El componente de Cloud SQL que almacena la base de datos de Airflow tiene una instancia principal y una instancia en espera distribuidas entre las zonas de la región seleccionada.

¿Qué sigue?