Visão geral do Cloud Composer

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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

Para mais informações sobre os novos recursos das versões do Cloud Composer, consulte as Notas da versão.

Sobre o Cloud Composer

O Cloud Composer é um serviço totalmente gerenciado de orquestração de fluxos de trabalho, permitindo que você crie, programe, monitore e gerencie pipelines de fluxo de trabalho que abrangem nuvens e data centers no local.

O Cloud Composer é baseado no conhecido 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, os usuários podem aproveitar o melhor do Airflow sem sobrecarga de instalação ou de gerenciamento. O Cloud Composer ajuda a criar fluxos gerenciados ambientes rapidamente e usar ferramentas nativas do Airflow, como o a interface da Web e as ferramentas de linha de comando do Airflow para que você possa se concentrar e não na sua infraestrutura.

Diferenças entre as versões do Cloud Composer

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

DAGs do Airflow e do Airflow (fluxos de trabalho)

Na 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ê quer programar e executar, organizadas de uma forma que reflita os relacionamentos e as dependências delas. Os DAGs são criados em arquivos Python, que definem a estrutura do DAG usando código. O DAG tem como objetivo garantir que cada tarefa seja executada no momento certo e na ordem certa.

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

  • Como preparar os dados para processamento
  • Como monitorar uma API
  • Como enviar um e-mail
  • Como executar um pipeline

Além de executar um DAG de acordo com uma programação, é possível acioná-los manualmente ou em resposta a eventos, como alterações em uma do Google Cloud. Para mais informações, consulte Como acionar DAGs.

Para 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 independentes do Airflow implantações com base no Google Kubernetes Engine. Eles trabalham com outras Google Cloud e serviços usando conectores integrados ao Airflow. Você pode criar um ou mais ambientes em um único ambiente do Google Cloud projeto, em qualquer região com suporte.

O Cloud Composer provisiona serviços do Google Cloud que são executados nos fluxos de trabalho e em todos os componentes do Airflow. Os principais componentes de um são:

  • Cluster do GKE: componentes do Airflow, como o Airflow programadores, gatilhos e workers são executados como cargas de trabalho do GKE em um único cluster criado para seu ambiente e são responsáveis pela no processamento e na execução de DAGs.

    O cluster também hospeda Outros componentes do Cloud Composer, como o Composer Agent e o Airflow Monitoring, que ajudam a gerenciar o Cloud Composer ambiente, coletar registros para armazenamento no Cloud Logging métricas para upload no Cloud Monitoring.

  • Servidor da Web do Airflow: executa a interface do Apache Airflow.

  • Banco de dados do Airflow: armazena os metadados do Apache Airflow.

  • Bucket do Cloud Storage: o Cloud Composer associado um bucket do Cloud Storage com seu ambiente. Também chamado de bucket do ambiente, armazena o DAGs, registros, personalizados plug-ins, e dados para o meio ambiente. Para mais informações sobre a política bucket, veja Dados armazenados no Cloud Storage.

Para ver informações detalhadas sobre os componentes de um ambiente, consulte Arquitetura do ambiente.

Interfaces do Cloud Composer

O Cloud Composer fornece interfaces para gerenciar ambientes, Instâncias do Airflow que são executadas em ambientes e DAGs individuais.

Por exemplo, é possível criar e configurar ambientes do Cloud Composer no console do Google Cloud, Google Cloud CLI, API Cloud Composer ou Terraform.

Como outro exemplo, é possível gerenciar DAGs do usando o console do Google Cloud, a interface nativa do Airflow ou Google Cloud CLI e comandos da CLI do Airflow.

Recursos do Airflow no Cloud Composer

Ao usar o Cloud Composer, é possível gerenciar e usar atributos do Airflow como:

Controle de acesso no Cloud Composer

Você gerencia a segurança no nível do projeto do Google Cloud e pode atribuir papéis do IAM que permitam que indivíduos que os usuários modifiquem ou criem ambientes. Se uma pessoa não tiver acesso ao seu projeto ou não tiver um papel apropriado do IAM do Cloud Composer, ela não poderá acessar nenhum de seus ambientes.

Além do IAM, é possível usar Controle de acesso da interface do Airflow, baseado no Modelo de controle de acesso do Airflow.

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

Rede do ambiente

O Cloud Composer dá suporte a várias configurações de rede para do Google Cloud, com muitas opções de configuração. Por exemplo, em um IP privado os DAGs e componentes do Airflow são totalmente isolados do público Internet.

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

Perguntas frequentes

O Cloud Composer usa qual versão do Apache Airflow?

Os ambientes do Cloud Composer são baseados em imagens do Cloud Composer. Quando você cria é possível selecionar uma imagem com uma versão específica do Airflow:

  • O Cloud Composer 3 oferece suporte ao Airflow 2.
  • O Cloud Composer 2 oferece suporte ao Airflow 2.
  • O Cloud Composer 1 oferece suporte ao Airflow 1 e ao Airflow 2.

Você controla a versão do Apache Airflow do seu ambiente. Você pode decidir atualizar seu ambiente para uma versão posterior do imagem do Cloud Composer. Cada versão do Cloud Composer é compatível com várias versões do Apache Airflow.

Posso usar a IU e a CLI nativas do Airflow?

Você pode acessar a interface da Web do Apache Airflow no seu ambiente. Cada um dos ambientes tem a própria IU do Airflow. Para mais informações sobre como acessar a IU do Airflow, consulte Interface da Web do Airflow.

Para executar comandos da CLI do Airflow nos ambientes, use os comandos gcloud. Para 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 o banco de dados do Airflow?

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

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

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

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

Posso usar meu próprio Container Registry?

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

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

Os ambientes do Cloud Composer 3 e 2 têm uma zona do Airflow e uma camada regional de programação e execução do Airflow. o Airflow programadores, workers e servidores da Web são executados na camada de execução do Airflow.

Os ambientes do Cloud Composer 1 são zonais.

A seguir