Visão geral do Airflow gerenciado (original) (raw)

Airflow gerenciado (Geração 3) | Airflow gerenciado (Geração 2) | Airflow gerenciado (Geração 1 legada)

Esta página apresenta uma breve introdução ao Airflow e aos DAGs, além de descrever os recursos e as funcionalidades do Airflow Gerenciado.

Para mais informações sobre os novos recursos nas versões do Airflow Gerenciado, consulte as Notas da versão.

O Airflow gerenciado é 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 Airflow Gerenciado é baseado no conhecido projeto de código abertoApache Airflow e opera usando a linguagem de programação Python.

Ao usar o Airflow gerenciado 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. Com o Airflow gerenciado, você cria ambientes do Airflow gerenciados rapidamente e usa as ferramentas nativas dele. Isso inclui a interface da Web avançada do Airflow e as ferramentas de linha de comando. Assim, você se concentra nos fluxos de trabalho e não na infraestrutura.

Diferenças entre as versões do Airflow gerenciado

Para mais informações sobre as diferenças entre as principais versões do Airflow gerenciado, consulteVisão geral do controle de versões do Serviço gerenciado para Apache Airflow.

Airflow e DAGs 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 objetivo do DAG é garantir que cada tarefa seja executada no momento e na ordem certos.

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

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

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

Ambientes do Airflow gerenciados

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

O Airflow Gerenciado provisiona Google Cloud serviços que executam seus fluxos de trabalho e todos os componentes do Airflow. Os principais componentes de um ambiente são:

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

Interfaces do Airflow Gerenciado

O Airflow Gerenciado oferece interfaces para gerenciar ambientes, instâncias do Airflow que são executadas neles e DAGs individuais.

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

Como outro exemplo, é possível gerenciar DAGs no console doGoogle Cloud , na interface nativa do Airflow ou executando comandos da Google Cloud CLI e da CLI do Airflow.

Recursos do Airflow no Airflow Gerenciado

Ao usar o Airflow Gerenciado, é possível gerenciar e usar recursos do Airflow como:

Controle de acesso no Airflow gerenciado

Você gerencia a segurança no nível do projeto Google Cloud e podeatribuir papéis do IAM que permitem que usuários individuais modifiquem ou criem ambientes. Se uma pessoa não tiver acesso ao seu projeto ou não tiver um papel apropriado do IAM do Airflow Gerenciado, ela não poderá acessar nenhum de seus ambientes.

Além do IAM, é possível usar o controle de acesso da interface do Airflow, que se baseia no modelo de controle de acesso do Apache Airflow.

Para mais informações sobre os recursos de segurança no Airflow Gerenciado, consulteVisão geral da segurança do Airflow Gerenciado.

Rede de ambiente

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

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

Outros recursos do Airflow gerenciado

Outros recursos do Airflow Gerenciado incluem:

Perguntas frequentes

Qual versão do Apache Airflow o Airflow gerenciado usa?

Os ambientes do Airflow gerenciado são baseados emimagens do Airflow gerenciado. 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ê podefazer upgrade do ambiente para uma versão mais recente da imagem do Airflow gerenciado. Cadaversão do Airflow gerenciado é 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 Airflow Gerenciado, consulteInterface de linha de comando do Airflow.

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

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

Posso usar meu próprio cluster como um cluster do Airflow Gerenciado?

O Airflow gerenciado 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 Airflow Gerenciado.

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

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

O Airflow Gerenciado usa o serviço do Artifact Registry para gerenciar repositórios de imagens de contêineres usados pelos ambientes do Airflow Gerenciado. Não é possível substituir por um registro de contêiner fornecido pelo usuário.

Os ambientes do Airflow gerenciado são zonais ou regionais?

Ao criar um ambiente, você especifica uma região para ele:

A seguir