Elige Workflows o Managed Airflow para la organización de servicios

Workflows y Managed Service para Apache Airflow se pueden usar para la organización de servicios, con el objetivo de combinar servicios para implementar la funcionalidad de la aplicación o realizar el procesamiento de datos. Aunque son conceptualmente similares, cada uno está diseñado para un conjunto diferente de casos de uso. En esta página, se te ayudará a elegir el producto adecuado para tu caso de uso.

Diferencias clave

La diferencia principal entre Workflows y Managed Airflow es el tipo de arquitectura que cada producto está diseñado para admitir.

Workflows organiza varios servicios basados en HTTP en un flujo de trabajo duradero y con estado. Tiene una latencia baja y puede controlar una gran cantidad de ejecuciones. También es completamente sin servidores.

Workflows es ideal para encadenar microservicios, automatizar tareas de infraestructura, como iniciar o detener una VM, y realizar integraciones con sistemas externos. Los conectores de Workflows también admiten secuencias simples de operaciones en Google Cloud servicios como Cloud Storage y BigQuery.

Managed Airflow está diseñado para organizar flujos de trabajo basados en datos (en particular, ETL/ELT). Se basa en el proyecto de Apache Airflow, pero Managed Airflow es completamente administrado. Managed Airflow admite tus canalizaciones dondequiera que estén, ya sea de forma local o en varias plataformas de nube. Toda la lógica en Managed Airflow, incluidas las tareas y la programación, se expresa en Python como archivos de definición de grafos acíclicos dirigidos (DAG).

Managed Airflow es ideal para cargas de trabajo por lotes que pueden manejar unos segundos de latencia entre las ejecuciones de tareas. Puedes usar Managed Airflow para coordinar servicios en tus canalizaciones de datos, como activar un trabajo en BigQuery o iniciar una canalización de Dataflow. Puedes usar operadores preexistentes para comunicarte con varios servicios, y hay más de 150 operadores solo para Google Cloud .

Comparación detallada de características

Función Workflows Managed Airflow
Sintaxis Sintaxis de Workflows en formato YAML o JSON Python
Modelo de estado Control de flujo imperativo Declarativo DAG con resolución automática de dependencias
Integraciones Solicitudes HTTP y conectores Operadores y sensores de Airflow
Cómo pasar datos entre pasos 512 KB para variables 48 KB1 para XCom
Activadores y programación de la ejecución Gcloud CLI, Google Cloud consola, API de Workflows, bibliotecas cliente de Workflows, Cloud Scheduler Programaciones similares a Cron en el archivo de definición del DAG, sensores de Airflow
Patrones asíncronos Encuestas
Ejecución paralela Ejecuciones simultáneas del mismo flujo de trabajo o dentro de un flujo de trabajo con pasos paralelos Automático según las dependencias
Latencia de ejecución Milisegundos Segundos
Basado en código abierto No Sí (Apache Airflow)
Modelo de escalamiento Sin servidores (se ajusta según la demanda y se reduce a cero) Aprovisionado
Modelo de facturación Según el uso (por paso ejecutado) Según la capacidad aprovisionada
Funciones de procesamiento de datos No Reabastecimiento, capacidad de volver a ejecutar DAGs

  1. Código fuente de airflow.models.xcom. Documentación de Apache Airflow 2 de agosto de 2021 ↩