Airflow to orkiestrator danych i pierwszy, który uczynił harmonogramowanie zadań popularnym w środowisku Python. Pierwotnie został stworzony przez Maxime’a Beauchemina, pracującego w Airbnb.
Airflow umożliwia programowe tworzenie, harmonogramowanie i monitorowanie przepływów pracy (workflows). Podąża za paradygmatem imperatywnym, gdzie jak DAG (Direct Acyclic Graph - skierowany graf acykliczny) jest uruchamiany, musi być zdefiniowane wewnątrz zadań Airflow. Airflow nazywa to podejście “Workflow as code” i ma główne cechy:
- Dynamiczny: Potoki danych w Airflow są konfigurowane jako kod Python, co pozwala na dynamiczną generację potoków danych.
- Rozszerzalny: Framework Airflow zawiera operatory, które łączą się z wieloma technologiami. Wszystkie komponenty Airflow są rozszerzalne, dzięki czemu łatwo dostosujesz je do swojego środowiska.
- Elastyczny: Parametryzacja przepływów pracy jest wbudowana, korzystając z silnika Jinja Templating.