Tanto Workflows como Managed Service for 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 sean similares desde una perspectiva conceptual, están diseñados para diferentes casos prácticos. En esta página, encontrarás ayuda para 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 servicios como Cloud Storage y BigQuery. Google Cloud
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 está completamente administrado. Managed Airflow admite tus canalizaciones dondequiera que estén, incluso en las instalaciones locales 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 organizar 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 | Airflow administrado |
|---|---|---|
| Sintaxis | Sintaxis de Workflows en formato YAML o JSON | Python |
| Modelo de estado | Control de flujo imperativo | Declarativo DAG con resolución de dependencia automática |
| 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 (aumenta la escala según la demanda y la 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 DAG |
-
Código fuente de airflow.models.xcom. Documentación de Apache Airflow 2 de agosto de 2021 ↩