Automação de Pipelines no GCP com Apache Airflow

Divisor Brasil

Automatizar Pipelines e evitar trabalho duplicado para reduzir erros e acelerar entregas.

Um desafio no dia a dia de engenharia de dados pode ser lidar com a criação repetitiva de pipelines. Muitas vezes, diferentes análises

Escrito por Bryan Bora, Engenheiro de Dados da Onetopia

precisam dos mesmos dados de origem, seguindo a mesma estrutura de tabelas e as mesmas regras de transformação. Ainda assim, cada novo pipeline tradicionalmente exige que alguém escreva manualmente DAGs no Airflow, queries SQL para bronze, silver e gold, além de toda a configuração necessária.

Isso consome tempo, gera retrabalho e aumenta o risco de inconsistências entre projetos.

Diante desse cenário, exploramos uma forma de automatizar ao máximo esse processo. A solução uniu três peças principais:

  1. Airflow no Cloud Composer (GCP) para orquestração,
  2. arquivos YAML como ponto único de configuração,
  3. e, mais tarde, uma interface em Streamlit, que democratizou a criação dos pipelines.

O contexto: por que automatizar?

No início, a necessidade era clara:

  • sempre que surgia uma nova análise baseada na mesma origem,
  • era preciso criar DAGs semelhantes no Airflow,
  • que seguiam exatamente o mesmo padrão de camadas (raw, bronze, silver e gold).

Ou seja, o trabalho era repetitivo, previsível e sujeito a erro humano.

Ao identificar isso, buscamos responder a uma pergunta simples:
se a estrutura já é conhecida, por que não automatizar a criação dos pipelines?

O Airflow no GCP como base

A escolha do Cloud Composer foi natural, já que ele oferece uma versão gerenciada do Apache Airflow dentro do Google Cloud. Isso nos permitiu evitar a sobrecarga de manter a infraestrutura do Airflow manualmente, ganhando benefícios como:

  • Escalabilidade automática: os recursos de execução cresciam ou diminuíam conforme a demanda.
  • Monitoramento centralizado: logs e alertas acessíveis na própria interface do GCP.
  • Gestão de dependências simplificada: sem dores de cabeça com bibliotecas conflitantes.
  • Integração nativa: BigQuery, Cloud Storage e outros serviços estavam a apenas um operador de distância.

Essa base sólida tornou possível focar na lógica de automação, sem perder tempo com camadas de infraestrutura.

O papel dos sensores

Dentro do Airflow, um recurso foi crucial: os sensores.

Eles permitem que uma tarefa fique em “espera” até que uma condição seja atendida. Entre os vários tipos disponíveis, o que mais utilizamos foi o ExternalTaskSensor, que nos permitia:

  • garantir que a DAG de ingestão estivesse finalizada antes de iniciar a DAG de transformação,
  • assegurar a sequência correta entre as camadas bronze → silver → gold,
  • e criar pipelines encadeados sem precisar de gambiarras ou dependências manuais.

Esse tipo de mecanismo trouxe confiabilidade ao processo, essencial quando se está lidando com múltiplos fluxos simultâneos.

Automação via YAML

O passo seguinte foi transformar a criação dos pipelines em algo parametrizável.

Em vez de escrever DAGs manualmente, criávamos um YAML base, contendo:

  • a origem e credenciais de acesso,
  • a estrutura da tabela de destino,
  • e as camadas a serem geradas.

Uma função consumia esse YAML e automaticamente:

  • publicava DAGs no Airflow,
  • gerava queries SQL padronizadas,
  • e estruturava todo o fluxo até a camada gold.

Na prática, bastava um arquivo de configuração para ter um pipeline completo — da ingestão bruta até as métricas analíticas.

As funções SQL seguiam sempre o mesmo padrão:

  • bronze: ingestão bruta dos dados,
  • silver: deduplicação e normalização,
  • gold: agregações e métricas para análise.

Esse modelo nos trouxe eficiência imediata:

  • velocidade de entrega — novos pipelines podiam ser criados em minutos;
  • padronização — todas as tabelas seguiam a mesma lógica;
  • redução de erros — menos código manual significava menos inconsistência;
  • replicabilidade — um mesmo processo podia ser repetido entre times e projetos sem esforço extra.

Evolução: da configuração técnica para a interface

Apesar do avanço, havia uma limitação: os YAMLs ainda precisavam ser montados por um engenheiro de dados. Para quem não dominava a linguagem ou não estava acostumado com a estrutura, isso ainda era uma barreira.

Foi então que demos um passo além: construímos uma interface em Streamlit, hospedada no App Engine.

Essa interface permitia que usuários menos técnicos preenchessem parâmetros em uma tela amigável, como:

  • nome da extração,
  • origem dos dados,
  • destino no data lake,
  • periodicidade de execução.
  • credenciais de acesso

 

 

A partir dessas informações, o sistema gerava automaticamente o YAML correspondente e disparava o deploy no Airflow.

Na prática, analistas e outros perfis fora da engenharia puderam criar seus próprios pipelines, sem abrir mão da padronização e da governança.

Foi um avanço significativo em democratização do acesso e em redução da dependência do time de engenharia.

Onde essa estratégia faz sentido

Essa abordagem se mostrou extremamente eficaz em cenários de padronização:

  • quando a origem de dados é a mesma,
  • a estrutura é previsível,
  • e as análises seguem um padrão.

Por outro lado, não é uma solução universal.

  • Casos que exigem lógica customizada ou regras muito específicas ainda precisam de pipelines feitos sob medida.
  • A automação cobre o “grosso” do trabalho repetitivo, mas não substitui a flexibilidade necessária em contextos complexos.

Conclusão

A combinação de Airflow no GCP, sensores para orquestração confiável e automação via YAML provou ser uma solução poderosa para acelerar entregas e reduzir erros.

Ao adicionar uma camada de interface com Streamlit + App Engine, demos o próximo passo: levamos a criação de pipelines para um público mais amplo, sem abrir mão da qualidade e da governança.

Esse modelo não resolve tudo, mas quando aplicado no contexto certo, transforma a forma como pipelines são criados e mantidos. Mais do que ganho técnico, é uma forma de escalar a capacidade do time e liberar engenheiros para se dedicarem a desafios mais estratégicos.

Veja também:

Política de Privacidade – Onetopia

Na Onetopia, respeitamos a sua privacidade e estamos comprometidos em proteger os dados pessoais que você compartilha conosco.

Coleta e Uso de Dados

* Podemos coletar informações pessoais fornecidas voluntariamente por você (como nome, e-mail, telefone e empresa) ao preencher formulários, entrar em contato ou utilizar nossos serviços.

* As informações são utilizadas exclusivamente para fins comerciais legítimos, como atendimento, comunicação, envio de propostas e melhoria de nossos serviços.

* Não compartilhamos dados pessoais com terceiros, exceto quando necessário para cumprimento de obrigações legais ou contratuais.
Quando falamos em Dados Pessoais, entendemos que todos os tratamentos realizados pela Onetopia devem respeitar três princípios fundamentais:
* Ética no uso das informações;
* Segurança para proteger os titulares;
* Transparência em cada interação.

Como escutamos dados
Escutamos dados de diferentes formas, digitais e analógicas, sempre em conformidade com esta Política de Privacidade. Por meio de nossas tecnologias, podemos relacionar dados coletados em diferentes canais, assegurando uma visão integrada e conferindo a você maior governança sobre os dados tratados.

Segurança da Informação

Escutamos dados de diferentes formas, digitais e analógicas, sempre em conformidade com esta Política de Privacidade.
Por meio de nossas tecnologias, podemos relacionar dados coletados em diferentes canais, assegurando uma visão integrada e conferindo a você maior governança sobre os dados tratados.

Seus Direitos
Você tem o direito de solicitar acesso, correção ou exclusão de seus dados pessoais, conforme previsto na Lei Geral de Proteção de Dados (LGPD – Lei nº 13.709/2018).
Denúncias e Contato

Caso identifique qualquer uso indevido de dados, descumprimento desta política ou deseje exercer seus direitos, entre em contato pelo e-mail:
📧 denuncia@onetopia.com.br

Alterações nesta Política
A Onetopia pode atualizar esta Política de Privacidade periodicamente. Quaisquer alterações relevantes serão publicadas neste site.