O Apache Airflow é uma plataforma de orquestração de workflows desenvolvida originalmente pela Airbnb em 2014 e, posteriormente, disponibilizada como projeto open source sob a governança da Apache Software Foundation. Sua principal função é possibilitar o desenvolvimento, agendamento e monitoramento de pipelines de dados de forma programática, estruturada e escalável.
A ferramenta baseia-se no conceito de DAGs (Directed Acyclic Graphs), em que cada fluxo de trabalho é representado como um grafo acíclico dirigido. Nesse modelo, as tarefas são organizadas em uma sequência lógica, respeitando suas dependências e garantindo a execução ordenada e confiável dos processos. Tal abordagem é fundamental para ambientes que demandam automação de rotinas complexas, integrando múltiplos sistemas e fontes de dados.
O Apache Airflow apresenta aplicabilidade em diversos contextos organizacionais, sobretudo nas áreas de ciência de dados, engenharia de dados e tecnologia da informação. Algumas de suas principais utilizações incluem:
Entre as vantagens que justificam sua ampla adoção, destacam-se:
No contexto corporativo, o Apache Airflow constitui uma ferramenta estratégica para organizações que buscam otimizar processos e reduzir custos operacionais por meio da automação inteligente de workflows. Empresas de grande porte, instituições financeiras, órgãos governamentais e startups de tecnologia têm utilizado a plataforma para lidar com demandas crescentes de dados, aumentar a confiabilidade das operações e acelerar a tomada de decisão baseada em evidências.
Assim, o Apache Airflow consolida-se como um elemento essencial dentro do ecossistema de engenharia de dados moderna, oferecendo suporte robusto para a transformação digital e para iniciativas de análise avançada e inteligência de negócios.
Esta documentação apresenta uma infraestrutura local completa do Apache Airflow utilizando Docker Compose, com PostgreSQL como banco de metadados, Redis como broker de mensagens e a arquitetura CeleryExecutor para execução distribuída de tarefas.
Também é disponibilizada a opção de instalação e configuração em ambiente local sem Docker, oferecendo flexibilidade conforme a necessidade.
A solução foi aplicada na Gerência de Serviços da SETIC (GSERV), com o objetivo de destravar o fluxo de demandas repetitivas em sistemas locais, promovendo sua automação por meio de workflows orquestrados.
A imagem pronta acelera o desenvolvimento de pipelines de dados, a realização de testes e a demonstração de soluções, sem a necessidade de depender de ambientes corporativos ou de produção, garantindo mais agilidade e independência às equipes.
Por que é importante?
Facilita a padronização dos fluxos de trabalho, reduz o tempo de onboarding da equipe e diminui riscos ao permitir validações antes do deploy.
Quando usar?
Sempre que precisar desenvolver, ajustar ou diagnosticar DAGs, operadores e integrações de dados fora do ambiente crítico de produção.
airflow-webserver e airflow-apiserver: expõem a UI e a API do Airflow (porta 8080 para UI e 8081 para API dedicada).
airflow-scheduler, airflow-dag-processor, airflow-triggerer e airflow-worker: componentes responsáveis pela orquestração e execução das DAGs em paralelo via Celery.
postgres: banco com metadados, conexões e histórico de execuções.
redis: fila de mensagens utilizada pelo Celery.
flower (perfil opcional flower): monitoramento de workers Celery na porta 5555.
docker (Linux) ou WSL2 configurado (Windows).airflow-docker..env na raiz com o UID/GID do usuário atual (Linux/macOS):echo "AIRFLOW_UID=$(id -u)
AIRFLOW_GID=0" > .env
No Windows/WSL pode manter
AIRFLOW_UID=50000(valor padrão do compose).
config/airflow.cfg conforme necessário.dags/ e dependências personalizadas em plugins/.Execute os comandos na raiz do projeto:
# Executa migrações e cria o usuário inicial
docker compose up airflow-init
# Sobe todos os serviços em segundo plano
docker compose up -d
A interface web ficará disponível em http://localhost:8080 (usuário/senha padrão airflow/airflow). Para acompanhar os logs em tempo real:
docker compose logs -f
dags/: DAGs do Airflow. Inclui exemplos e pipelines de integração com GLPI e SOPH.plugins/: operadores, ganchos e macros personalizados.config/: arquivo airflow.cfg com ajustes finos da instância.data/: área montada nos contêineres para arquivos de entrada.output/: diretório montado para relatórios e artefatos gerados pelas DAGs.logs/: logs persistentes de execuções.backups/: espaço reservado para dumps e backups externos.scripts/: utilitários (ex.: gerar_usuarios_db.py).dags/ e scripts auxiliares nas demais pastas._PIP_ADDITIONAL_REQUIREMENTS em .env).docker compose restart airflow-scheduler airflow-worker
output/.docker compose down && docker compose up -d.docker compose down --volumes --remove-orphans
AIRFLOW_IMAGE_NAME no .env com a versão desejada e suba novamente.AIRFLOW_UID corresponde ao seu usuário ou ajuste as permissões para leitura/escrita.docker compose logs airflow-init e docker compose logs airflow-webserver para mensagens de erro._PIP_ADDITIONAL_REQUIREMENTS no .env (ex.: pandas==2.2.2 requests). O Airflow instalará durante o bootstrap.docker compose run --rm airflow-cli connections add ...).data/ e persista resultados em output/ ou sistemas externos.