Apache Airflow é um orquestrador de fluxos, ou seja, com ele você é capaz de decidir em qual momento e em quais condições algum programa seu irá rodar. Este artigo é voltado para quem não sabe nada sobre o airflow, os próximos artigos já espero que a pessoa tenha alguma experiência ou contato com ele.
Características:
- Open Source, o que significa que você pode fuçar o código-fonte dele sem stress para poder aprender como fizeram algo tão massa. (segue o repositório no github para quem quiser dar uma olhada: https://github.com/apache/airflow)
- Escrito em Python, que é uma linguagem que por si só já facilita muito a leitura.
- Extensível, após você ler sobre os conceitos (que irei explicar em outro artigo), vocês vão ver como é simples extender o airflow para as suas necessidades (e até mesmo utilizar outra linguagem de programação se você quiser).
- Dinâmico, o que eu acho massa do airflow é que dá pra construir pipelines que se modificam de acordo com o seu código, por ex: uma Pipeline que checa por pastas de clientes em um folder, e para cada pasta, ela roda um conjunto de operações diferentes definidos em um arquivo.
- Imagina uma arquitetura de arquivos assim: Pasta1/config.txt, Pasta2/config.txt
Casos de Uso
Como vocês leram no parágrafo anterior, eu já falei um pouco sobre os casos de uso do Airflow, claro que o principal caso que eu o utilizo é para controlar/criar pipeline de dados. Mas outro caso de uso interessante que tenho visto é para data scientists. Para orquestrar a criação/atualização de modelos de aprendizagem, não deixa de ser na área de dados mas ainda vejo que vários cientistas de dados não se familiarizam com a ferramenta.
Agora um caso de uso interessante que tem é você automatizar a execução de tests de integração de uma aplicação por exemplo. Ao invés de você só rodar os testes quando vai fazer uma modificação, é você testar sua aplicação “constatemente” através de um script que roda a partir do Airflow.
Como dá pra ver, tem muita coisa que dá para explorar no Airflow se você quiser, eu vou tentar trazer os conceitos do Airflow no próximo post sobre ele, até lá.
Deixe um comentário