Escolha Workflows ou Cloud Composer para a orquestração de serviços

Os fluxos de trabalho e o Cloud Composer podem ser usados para a orquestração de serviços, de modo a combinar serviços para implementar a funcionalidade da aplicação ou realizar o processamento de dados. Embora sejam conceptualmente semelhantes, cada uma foi concebida para um conjunto diferente de exemplos de utilização. Esta página ajuda a escolher o produto certo para o seu exemplo de utilização.

Principais diferenças

A principal diferença entre os Workflows e o Cloud Composer é o tipo de arquitetura que cada produto foi concebido para suportar.

Os fluxos de trabalho orquestram vários serviços baseados em HTTP num fluxo de trabalho duradouro e com estado. Tem uma latência baixa e pode processar um número elevado de execuções. Também é totalmente sem servidor.

Os fluxos de trabalho são ideais para encadear microsserviços, automatizar tarefas de infraestrutura, como iniciar ou parar uma VM, e integrar com sistemas externos. Os conetores do Workflows também suportam sequências simples de operações em serviços como o Cloud Storage e o BigQuery. Google Cloud

O Cloud Composer foi concebido para orquestrar fluxos de trabalho orientados por dados (especialmente ETL/ELT). É baseado no projeto Apache Airflow, mas o Cloud Composer é totalmente gerido. O Cloud Composer suporta os seus pipelines onde quer que estejam, incluindo nas instalações ou em várias plataformas de nuvem. Toda a lógica no Cloud Composer, incluindo tarefas e agendamento, é expressa em Python como ficheiros de definição de grafos acíclicos dirigidos (DAG).

O Cloud Composer é mais adequado para cargas de trabalho em lote que podem processar alguns segundos de latência entre as execuções de tarefas. Pode usar o Cloud Composer para orquestrar serviços nos seus pipelines de dados, como acionar uma tarefa no BigQuery ou iniciar um pipeline do Dataflow. Pode usar operadores pré-existentes para comunicar com vários serviços, e existem mais de 150 operadores apenas para o Google Cloud .

Comparação detalhada de funcionalidades

Funcionalidade Workflows Cloud Composer
Sintaxe Sintaxe do Workflows no formato YAML ou JSON Python
Modelo de estado Controlo de fluxo imperativo Declarativo DAG com resolução automática de dependências
Integrações Pedidos HTTP e conetores Operadores de fluxo de ar e sensores
Transferir dados entre passos 512 KB para variáveis 48 KB1 para XCom
Acionadores de execução e agendamento CLI gcloud, Google Cloud consola, API Workflows, bibliotecas de cliente Workflows, Cloud Scheduler Horários semelhantes ao Cron no ficheiro de definição do DAG, sensores do Airflow
Padrões assíncronos
  • Sondagens
  • Callbacks
  • A aguardar Google Cloud operações de longa duração
Sondagens
Execução paralela Execuções simultâneas do mesmo fluxo de trabalho ou num fluxo de trabalho com passos paralelos Automático com base nas dependências
Latência de execução Milissegundos Segundos
Com base em código aberto Não Sim (Apache Airflow)
Modelo de dimensionamento Sem servidor (escalável de acordo com a procura e até zero) Aprovisionado
Modelo de faturação Com base na utilização (por passo executado) Com base na capacidade aprovisionada
Funcionalidades de tratamento de dados Não Preenchimentos, capacidade de executar novamente DAGs

  1. Código fonte para airflow.models.xcom. Documentação do Apache Airflow. 2 de agosto de 2021.