Elige Workflows o Cloud Composer para la organización de servicios

Workflows y Cloud Composer se pueden usar en la organización de servicios para combinar servicios con el objetivo de implementar la funcionalidad de la aplicación o realizar procesamiento de datos. Aunque son similares desde una perspectiva conceptual, están diseñadas para un conjunto diferente de casos prácticos. Esta página te ayuda a elegir el producto adecuado para tu caso de uso.

Diferencias clave

La diferencia principal entre Workflows y Cloud Composer es el tipo de arquitectura que admite cada producto.

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

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

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

Cloud Composer es ideal para cargas de trabajo por lotes que pueden manejar unos segundos de latencia entre ejecuciones de tareas. Puedes usar Cloud Composer 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. Existen más de 150 operadores solo para Google Cloud.

Comparación detallada de características

Atributo Workflows Cloud Composer
Sintaxis Sintaxis de Workflows en formato YAML o JSON Python
Modelo de estado Control de flujo imperativo DAG declarativo con resolución de dependencia automática
Integraciones Solicitudes HTTP y connectors Operadores y sensores de Airflow
Cómo pasar datos entre pasos 512 KB para variables 48 KB1 para XCom
Activadores y programación de ejecución gcloud CLI, la consola de Google Cloud, API de Workflows, bibliotecas cliente de Workflows, Cloud Scheduler Programas similares a Cron en el archivo de definición del DAG, los 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 mediante pasos paralelos Automático basado en dependencias
Latencia de ejecución Milisegundos Segundos
Basado en código abierto No Sí (Apache Airflow)
Escalamiento del modelo Tecnología sin servidores (escala verticalmente según la demanda y reduce la escala a cero) Aprovisionada
Modelo de facturación Según el uso (por paso ejecutado) Según la capacidad aprovisionada
Funciones de procesamiento de datos No Reabastecimientos, la capacidad de volver a ejecutar los DAG

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