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 |
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 |
-
Código fonte para airflow.models.xcom. Documentação do Apache Airflow. 2 de agosto de 2021. ↩