Visão geral do Cloud Composer

Cloud Composer 1 | Cloud Composer 2

O Cloud Composer é um serviço totalmente gerenciado de orquestração de fluxos de trabalho, que permite criar, programar, monitorar e gerenciar 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 você a criar rapidamente ambientes gerenciados do Airflow e usar as ferramentas nativas dele, como a interface da Web avançada do Airflow e as ferramentas de linha de comando, para que você possa se concentrar nos fluxos de trabalho e não na infraestrutura.

Apache Airflow e Cloud Composer

Fluxos de trabalho, DAGs e tarefas

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 scripts Python, que definem a estrutura do DAG (tarefas e as dependências delas) usando o código.

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

O DAG não deve se preocupar com a função de cada tarefa constituinte. O objetivo dele é garantir que cada tarefa seja executada no momento certo, na ordem correta ou com o tratamento do problema certo.

Fluxos de trabalho, DAGs e tarefas do Airflow

Para mais informações sobre DAGs e tarefas, consulte a documentação do Apache Airflow (em inglês).

Ambientes do Cloud Composer

Para executar fluxos de trabalho, primeiro é necessário criar um ambiente. O Airflow depende de muitos microsserviços para serem executados. Por isso, o Cloud Composer provisiona componentes do Google Cloud para executar os fluxos de trabalho. Esses componentes são conhecidos coletivamente como um ambiente do Cloud Composer.

Os ambientes são implantações autônomas do Airflow baseadas no Google Kubernetes Engine. Eles trabalham com outros serviços do Google Cloud usando conectores integrados ao Airflow. É possível criar um ou mais ambientes em um único projeto do Google Cloud. É possível criar ambientes do Cloud Composer em qualquer região compatível.

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

Recursos do Cloud Composer

Ao usar o Cloud Composer, é possível gerenciar e usar recursos como estes:

  • Ambientes do Airflow
  • Gerenciamento do Airflow
  • Configuração do Airflow
  • DAGs do Airflow (fluxos de trabalho)
  • Plug-ins personalizados do Apache

Para saber como o Cloud Composer funciona com os recursos do Airflow, como DAGs, parâmetros de configuração, plug-ins personalizados e dependências do Python, consulte Recursos do Cloud Composer.

Perguntas frequentes

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

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

Os ambientes do Cloud Composer são baseados em imagens do Cloud Composer. Ao criar um ambiente, é possível selecionar uma imagem com uma versão específica do Airflow.

Você controla a versão do Apache Airflow do seu ambiente. Você pode fazer upgrade do ambiente para uma versão mais recente da 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 seus ambientes, use 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 de metadados do Airflow?

O Cloud Composer usa um serviço de banco de dados gerenciado para o banco de dados de metadados do Airflow. Não é possível usar um banco de dados fornecido pelo usuário como o banco de dados de metadados 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 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 Container Registry?

O Cloud Composer usa o serviço do Artifact Registry para gerenciar os repositórios de imagens de contêiner 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 zonais ou regionais?

Os ambientes do Cloud Composer 1 são zonais.

Os ambientes do Cloud Composer 2 têm um banco de dados de metadados do Airflow zonal e uma camada regional de programação e execução do Airflow. Os programadores, os workers e os servidores da Web do Airflow são executados na camada de execução do Airflow.

A seguir