Visão geral do Cloud Composer

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Esta página fornece uma breve introdução ao Airflow e aos DAGs e descreve os recursos e funcionalidades do Cloud Composer.

Para obter mais informações sobre novos recursos nas versões do Cloud Composer, consulte Notas de versão .

Sobre o Cloud Composer

O Cloud Composer é um serviço de orquestração de fluxo de trabalho totalmente gerenciado, que permite criar, agendar, monitorar e gerenciar pipelines de fluxo de trabalho que abrangem nuvens e data centers locais.

O Cloud Composer foi criado no popular projeto de código aberto Apache Airflow e opera usando a linguagem de programação Python.

Ao usar o Cloud Composer em vez de uma instância local do Apache Airflow, você pode aproveitar o melhor do Airflow sem custos de instalação ou gerenciamento. O Cloud Composer ajuda você a criar ambientes Airflow gerenciados rapidamente e a usar ferramentas nativas do Airflow, como a poderosa interface web do Airflow e as ferramentas de linha de comando, para que você possa se concentrar em seus fluxos de trabalho e não em sua infraestrutura.

Diferenças entre as versões do Cloud Composer

Para obter mais informações sobre as diferenças entre as principais versões do Cloud Composer, consulte Visão geral do controle de versões do Cloud Composer .

Fluxo de ar e DAGs de fluxo de ar (fluxos de trabalho)

Em análise de dados, um fluxo de trabalho representa uma série de tarefas para ingestão, transformação, análise ou utilização de dados. No Airflow, os fluxos de trabalho são criados usando DAGs, ou "Gráficos Acíclicos Direcionados".

Relação entre DAGs e tarefas
Figura 1. Relação entre DAGs e tarefas

Um DAG é uma coleção de tarefas que você deseja agendar e executar, organizadas de forma a refletir seus relacionamentos e dependências. Os DAGs são criados em arquivos Python, que definem a estrutura do DAG usando código. O objetivo do DAG é garantir que cada tarefa seja executada no momento certo e na ordem correta.

Cada tarefa em um DAG pode representar quase tudo — por exemplo, uma tarefa pode executar qualquer uma das seguintes funções:

  • Preparando dados para ingestão
  • Monitoramento de uma API
  • Enviando um e-mail
  • Executando um pipeline

Além de executar um DAG conforme uma programação, você pode acioná-los manualmente ou em resposta a eventos, como alterações em um bucket do Cloud Storage. Para obter mais informações, consulte Agendar e acionar DAGs .

Para obter mais informações sobre DAGs e tarefas, consulte a documentação do Apache Airflow .

Ambientes do Cloud Composer

Os ambientes do Cloud Composer são implantações Airflow independentes baseadas no Google Kubernetes Engine. Eles funcionam com outros Google Cloudserviços usando conectores integrados ao Airflow. Você pode criar um ou mais ambientes em um único Google Cloudprojeto, em qualquer região suportada .

Provisões do Cloud Composer Google Cloud serviços que executam seus fluxos de trabalho e todos os componentes do Airflow. Os principais componentes de um ambiente são:

  • Cluster do GKE : componentes do Airflow, como agendadores, acionadores e trabalhadores do Airflow, são executados como cargas de trabalho do GKE em um único cluster criado para seu ambiente e são responsáveis ​​por processar e executar DAGs.

    O cluster também hospeda outros componentes do Cloud Composer, como o Composer Agent e o Airflow Monitoring, que ajudam a gerenciar o ambiente do Cloud Composer, coletar logs para armazenar no Cloud Logging e coletar métricas para carregar no Cloud Monitoring.

  • Servidor web Airflow : O servidor web executa a interface de usuário do Apache Airflow.

  • Banco de dados do Airflow : o banco de dados contém os metadados do Apache Airflow.

  • Bucket do Cloud Storage : o Cloud Composer associa um bucket do Cloud Storage ao seu ambiente. Este bucket, também chamado de bucket do ambiente , armazena os DAGs , logs , plugins personalizados e dados do ambiente. Para obter mais informações sobre o bucket do ambiente, consulte Dados armazenados no Cloud Storage .

Para uma visão mais aprofundada dos componentes de um ambiente, consulte Arquitetura do ambiente .

Interfaces do Cloud Composer

O Cloud Composer fornece interfaces para gerenciar ambientes, instâncias do Airflow executadas em ambientes e DAGs individuais.

Por exemplo, você pode criar e configurar ambientes do Cloud Composer em Google Cloud console, Google Cloud CLI, Cloud Composer API ou Terraform.

Como outro exemplo, você pode gerenciar DAGs deGoogle Cloud console, interface de usuário nativa do Airflow ou executando comandos Google Cloud CLI e Airflow CLI .

Recursos do Airflow no Cloud Composer

Ao usar o Cloud Composer, você pode gerenciar e usar recursos do Airflow como:

Controle de acesso no Cloud Composer

Você gerencia a segurança no Google Cloud nível de projeto e pode atribuir funções do IAM que permitem que usuários individuais modifiquem ou criem ambientes. Se alguém não tiver acesso ao seu projeto ou não tiver uma função do IAM apropriada no Cloud Composer, essa pessoa não poderá acessar nenhum dos seus ambientes.

Além do IAM, você pode usar o controle de acesso da interface de usuário do Airflow , que é baseado no modelo de controle de acesso do Apache Airflow.

Para obter mais informações sobre os recursos de segurança do Cloud Composer, consulte Visão geral de segurança do Cloud Composer .

Rede de ambiente

O Cloud Composer oferece suporte a diversas configurações de rede para ambientes, com muitas opções de configuração. Por exemplo, em um ambiente com IP privado, os DAGs e os componentes do Airflow são totalmente isolados da internet pública.

Para obter mais informações sobre redes no Cloud Composer, consulte as páginas de recursos de rede individuais:

Outros recursos do Cloud Composer

Outros recursos do Cloud Composer incluem:

Perguntas frequentes

Qual versão do Apache Airflow o Cloud Composer usa?

Os ambientes do Cloud Composer são baseados em imagens do Cloud Composer . Ao criar um ambiente, você pode selecionar uma imagem com uma versão específica do Airflow:

  • O Cloud Composer 3 é compatível com o Airflow 2.
  • O Cloud Composer 2 é compatível com o Airflow 2.
  • O Cloud Composer 1 é compatível com Airflow 1 e Airflow 2.

Você tem controle sobre a versão do Apache Airflow do seu ambiente. Você pode optar por atualizar seu ambiente para uma versão mais recente da imagem do Cloud Composer. Cada versão do Cloud Composer oferece suporte a diversas versões do Apache Airflow.

Posso usar a interface de usuário e a interface de linha de comando nativas do Airflow?

Você pode acessar a interface web do Apache Airflow do seu ambiente. Cada um dos seus ambientes tem sua própria interface de usuário do Airflow. Para obter mais informações sobre como acessar a interface de usuário do Airflow, consulte Interface web do Airflow .

Para executar comandos da CLI do Airflow em seus ambientes, use os comandos gcloud . Para obter mais informações sobre como executar comandos da CLI do Airflow em ambientes do Cloud Composer, consulte Interface de linha de comando do Airflow .

Posso usar meu próprio banco de dados como banco de dados do Airflow?

O Cloud Composer usa um serviço de banco de dados gerenciado para o banco de dados Airflow. Não é possível usar um banco de dados fornecido pelo usuário como banco de dados Airflow.

Posso usar meu próprio cluster como um cluster do Cloud Composer?

O Cloud Composer utiliza o serviço do Google Kubernetes Engine para criar, gerenciar e excluir clusters de ambiente onde os componentes do Airflow são executados. Esses clusters são totalmente gerenciados pelo Cloud Composer.

Não é possível criar um ambiente do Cloud Composer com base em um cluster autogerenciado do Google Kubernetes Engine.

Posso usar meu próprio registro de contêiner?

O Cloud Composer utiliza o serviço Artifact Registry para gerenciar repositórios de imagens de contêiner usados ​​pelos ambientes do Cloud Composer. Não é possível substituí-lo por um registro de contêiner fornecido pelo usuário.

Os ambientes do Cloud Composer são zonais ou regionais?

Os ambientes padrão do Cloud Composer 3 têm um banco de dados Airflow zonal e uma camada de execução Airflow regional. Agendadores, trabalhadores e servidores web do Airflow são executados na camada de execução do Airflow.

O que vem a seguir