Apache Airflow

Apache Airflow — открытая платформа для управления рабочими процессами, предназначенная для построения пайплайнов обработки и инженерии данных[1][2]. Проект был создан Максимом Бошеменом (Maxime Beauchemin) в компании Airbnb в октябре 2014 года для решения задач по автоматизации и управлению сложными внутренними рабочими процессами. Благодаря созданию Airflow, Airbnb смогла программно определять, планировать и контролировать выполнение задач с помощью встроенного пользовательского интерфейса Airflow[3][4]. Проект изначально был открыт под свободной лицензией, стал инкубационным проектом Apache в марте 2016 года и получил статус полноформатного проекта Apache Software Foundation в январе 2019 года[5]. В апреле 2025 года состоялся выпуск значимого релиза Airflow 3.0[6][7].

Airflow написан на языке Python, а рабочие процессы (DAG — направленные ациклические графы) описываются посредством скриптов на Python. Архитектурный принцип платформы — «конфигурация как код»: в отличие от других платформ, реализующих этот принцип с помощью языков разметки (например, XML), использование Python даёт разработчикам возможность подключать дополнительные библиотеки и классы для построения своих рабочих процессов.

Общие сведения
Apache Airflow
Тип платформа для управления рабочими процессами
Авторы Maxime Beauchemin / Airbnb
Разработчик Apache Software Foundation
Написана на Python
Интерфейс веб-интерфейс, интерфейс командной строки
Движки FastAPI (веб-сервер)
Операционные системы Linux, macOS
Языки интерфейса английский, арабский, испанский, немецкий, французский, китайский и другие
Первый выпуск 3 июня 2015
Аппаратные платформы x86-64, AArch64
Последняя версия 3.1.1 (27 октября 2025)
Репозиторий github.com/apache/airflow
Состояние активное
Лицензия Apache License 2.0
Сайт airflow.apache.org

Определения

  • Docker-образы — упакованные шаблоны, содержащие Airflow, Python, библиотеки и зависимости, необходимые для работы планировщика, веб-сервера и исполнения задач.
  • DAG (Directed Acyclic Graph — Направленный Ациклический Граф) — основной способ описания рабочих процессов (пайплайнов). Он представляет собой набор задач (tasks), упорядоченных по зависимостям, где отсутствуют циклы, то есть выполнение идет только в одном направлении от старта к финишу.
  • XML — «расширяемый язык разметки».

История и развитие

Версия 2.0

В декабре 2020 года состоялся выпуск мажорной версии Apache Airflow 2.0, который принёс значительные улучшения производительности, масштабируемости и удобства использования. Ключевыми нововведениями стали:

  • Новый планировщик (Scheduler) с высокой производительностью, низкой задержкой и возможностью одновременного запуска нескольких экземпляров в активном режиме для горизонтального масштабирования[8].
  • Полноценный REST API, который заменил экспериментальный API предыдущих версий и позволил управлять компонентами Airflow программно[9].
  • TaskFlow API — новый способ написания DAG с использованием декораторов, упростивший передачу данных между задачами[8].
  • Независимые провайдеры — пакеты для интеграции с внешними сервисами были отделены от ядра Airflow, что упростило управление зависимостями[10].

Развитие версий 2.x

В период с 2021 по 2023 год проект активно развивался, получая новые функции в минорных релизах. В версии 2.2.0 (октябрь 2021) появились откладываемые операторы (Deferrable Operators), позволяющие освобождать ресурсы во время ожидания внешних операций, и возможность создавать пользовательские расписания (Custom Timetables)[11].

Версия 2.3.0 (апрель 2022) представила одну из самых ожидаемых функций — динамическое создание задач (Dynamic Task Mapping), которая позволяет генерировать задачи во время выполнения DAG[12]. В версии 2.4.0 (сентябрь 2022) была реализована концепция планирования на основе данных (Data-Aware Scheduling) с помощью «наборов данных» (Datasets), позволяющая запускать рабочие процессы по факту обновления данных, а не по расписанию[13]. В версии 2.7.0 (август 2023) была добавлена встроенная поддержка задач для настройки и очистки окружения (Setup and Teardown tasks) и прекращена поддержка Python 3.7[14].

Версия 3.0

22 апреля 2025 года состоялся выпуск Apache Airflow 3.0 — первого крупного обновления за четыре года, которое было охарактеризовано как фундаментальное. Релиз был направлен на реализацию концепции «Запуск где угодно, когда угодно и на любом языке» (Run Anywhere, Anytime, in Any Language)[15]. Ключевые нововведения:

  • Версионирование DAG (DAG Versioning) — самая ожидаемая функция, позволяющая привязывать каждый запуск DAG к конкретной версии кода и отслеживать изменения в интерфейсе.
  • Сервис-ориентированная архитектура — внедрение нового API выполнения задач (Task Execution API) и Task SDK, что позволяет выполнять задачи в изолированных и удалённых средах, а также писать их на разных языках программирования[16].
  • Полностью обновлённый пользовательский интерфейс, переработанный с использованием React и FastAPI[17].
  • Улучшенные «бэкфилы» (Backfills) — процесс повторного запуска DAG за прошедшие периоды теперь управляется основным планировщиком и контролируется через пользовательский интерфейс[17].
  • Изоляция задач — повышена безопасность за счёт того, что задачи больше не имеют прямого доступа к базе метаданных.

Последующие релизы (3.1.x)

Развитие проекта продолжилось выпуском версии 3.1.0 25 сентября 2025 года и 3.1.1 27 октября 2025 года[18]. В ветке 3.1.x были представлены такие новые возможности, как создание задач, требующих вмешательства человека (Human in the Loop), оповещения о дедлайнах (Deadline Alerts) и интернационализация (i18n) пользовательского интерфейса[19].

22 апреля 2026 года вышла версия 3.2.1. В ней произошли значительные изменения: пользователи, имеющие только доступ на чтение к DAG, больше не смогут получать данные из /dagsконечной точки, поскольку теперь для этого требуются дополнительные разрешения ( DagAccessEntity.RUN, DagAccessEntity.HITL_DETAIL, и DagAccessEntity.TASK_INSTANCE). Это изменение было внесено, потому что конечная точка возвращает агрегированные данные из этих нескольких сущностей[20].

undefined

Обзор

Ключевой принцип работы Airflow — «конфигурация как код» (англ. configuration as code)[21]. Платформа использует направленные ациклические графы (DAG) для организации и управления рабочими процессами. Задачи и зависимости между ними определяются через Python-скрипты, что обеспечивает гибкость, позволяет динамически генерировать конвейеры данных, а также упрощает их версионирование и тестирование[21], после чего Airflow планирует и исполняет их автоматически. DAG может запускаться как по расписанию (например, каждый час или ежедневно), так и в ответ на внешние события (например, появление файла в Hive[22]). Предшествующие системы планирования DAG, такие как Oozie и Azkaban, обычно полагались на несколько файлов конфигурации и древовидную структуру в файловой системе, тогда как в Airflow DAG зачастую можно описать в одном файле на Python[23].

Архитектура

Архитектура Airflow состоит из нескольких ключевых компонентов, взаимодействующих друг с другом[24]:

  • Веб-сервер (англ. Web Server) — предоставляет пользовательский интерфейс для мониторинга, управления и отладки рабочих процессов. Построен на базе фреймворка FastAPI[25].
  • Планировщик (англ. Scheduler) — основной компонент, который отслеживает все задачи и DAG, проверяет зависимости между ними и запускает их выполнение[24].
  • Исполнитель (англ. Executor) и Воркеры (англ. Workers) — исполнитель отвечает за запуск задач. В производственных средах он передаёт задачи на выполнение отдельным процессам — воркерам. Airflow поддерживает различные типы исполнителей, например, для распределения задач с помощью Celery или Kubernetes[24].
  • База данных метаданных (англ. Metadata Database) — хранит всю служебную информацию: состояние DAG и задач, информацию о запусках, подключения к внешним системам и другие метаданные. Чаще всего используются PostgreSQL или MySQL[25].
  • Обработчик DAG (англ. DAG Processor) — анализирует (парсит) файлы с DAG и сохраняет их в базе метаданных[24].
  • Триггерер (англ. Triggerer) — отдельный асинхронный процесс, необходимый для поддержки откладываемых (англ. deferrable) операторов, что позволяет более эффективно использовать ресурсы[25].

Для параметризации конвейеров используется шаблонизатор Jinja[21].

Пользовательский интерфейс

Airflow предоставляет два основных типа интерфейса для взаимодействия с платформой: веб-интерфейс (англ. Web UI) и интерфейс командной строки (англ. CLI).

Веб-интерфейс является основным инструментом для мониторинга, визуализации и управления рабочими процессами. Он позволяет отслеживать статусы выполнения DAG и отдельных задач, просматривать логи, а также вручную запускать и перезапускать процессы[26]. Начиная с версии 3.0, интерфейс был переработан с использованием React[26].

Интерфейс командной строки является важным инструментом для автоматизации, разработки и администрирования. Он позволяет выполнять практически все операции без использования браузера, включая тестирование отдельных задач, управление DAG и запуск основных компонентов системы.

Начиная с версии 3.1.0, в Airflow была добавлена функция интернационализации (i18n), позволяющая отображать веб-интерфейс на нескольких языках, включая арабский, испанский, немецкий, французский, китайский и другие[27][28]. Язык интерфейса обычно определяется автоматически на основе настроек веб-браузера.

Механизмы расширения

Airflow обладает гибкой архитектурой, которая позволяет расширять его функциональность с помощью нескольких ключевых механизмов.

  • Операторы (англ. Operators) — фундаментальные элементы DAG, определяющие одну конкретную задачу. Airflow поставляется с большим набором готовых операторов (например, BashOperator для запуска скриптов или PythonOperator для выполнения Python-кода) и позволяет создавать пользовательские операторы для инкапсуляции повторяющейся логики[29].
  • Хуки (англ. Hooks) — высокоуровневые интерфейсы для взаимодействия с внешними платформами и сервисами (базами данных, облачными хранилищами, API). Они абстрагируют логику подключения и аутентификации, используя централизованное хранилище подключений Airflow[30][31].
  • Сенсоры (англ. Sensors) — особый вид операторов, задача которых — ожидать выполнения определённого условия (например, появления файла в S3 или завершения внешней задачи), прежде чем продолжить выполнение рабочего процесса[32].
  • Плагины (англ. Plugins) — основной способ добавления и распространения пользовательских операторов, хуков, сенсоров и даже изменений в веб-интерфейсе. Для этого достаточно разместить Python-модули с компонентами в специальной папке plugins[33].

Системные требования

Требования к аппаратному и программному обеспечению Apache Airflow различаются в зависимости от масштаба развёртывания и сложности рабочих процессов.

Операционные системы

  • Производственная среда (англ. Production): Для производственной среды официально поддерживаются только дистрибутивы на базе Linux. Официальные образы Docker используют Debian Bookworm[34].
  • Среда разработки (англ. Development): Airflow регулярно тестируется на современных дистрибутивах Linux и последних версиях macOS. Прямая поддержка Windows отсутствует, однако запуск возможен с помощью подсистемы Windows для Linux (WSL/WSL2)[34].

Архитектура процессора

  • x86-64 (также известная как AMD64) — основная и полностью поддерживаемая архитектура[34].
  • AArch64 (также известная как ARM64) — начиная с версии Airflow 2.3.0, обеспечена полная поддержка для разработки на устройствах с архитектурой ARM (например, Apple M1). Существует экспериментальная поддержка для запуска в производственной среде. Официальные Docker-образы публикуются для обеих платформ[34][35].

Важно отметить, что Airflow не предназначен для выполнения тяжёлых вычислений; рекомендуется делегировать такие задачи внешним сервисам, таким как Apache Spark или Google BigQuery[34].

Управляемые провайдеры

Вокруг основного открытого проекта работает несколько значимых коммерческих и облачных провайдеров:

  • Astronomer — компания, стоящая за разработкой Astro, полностью управляемой облачной платформы на базе Airflow. Astro упрощает развёртывание, управление и мониторинг конвейеров данных, позволяя командам сосредоточиться на разработке, а не на инфраструктуре[36]. В октябре 2025 года компания представила Astro Private Cloud — решение для организаций со строгими требованиями к безопасности, позволяющее разворачивать управляемый Airflow в их собственной облачной среде[37].
  • Cloud Composer — полностью управляемый сервис на базе Airflow, предоставляемый в Google Cloud Platform (GCP) и интегрированный с другими сервисами Google[38]. В марте 2025 года была анонсирована новая основная версия — Cloud Composer 3[39]. Она предлагает упрощённую архитектуру со скрытой от пользователя инфраструктурой GKE, автоматическое обновление версий («evergreen») и новую модель ценообразования. Предыдущие версии (Cloud Composer 1 и 2) постепенно выводятся из эксплуатации[40].
  • Managed Workflows for Apache Airflow (MWAA) — управляемый сервис от Amazon Web Services, запущенный в ноябре 2020 года[41]. Сервис регулярно обновляется для поддержки актуальных версий Airflow. В октябре 2025 года была добавлена поддержка Apache Airflow 3.0[42], что предоставило пользователям доступ к таким нововведениям, как переработанный пользовательский интерфейс, событийно-ориентированные рабочие процессы и встроенное версионирование DAG[43].

Примечания

  1. Долгожданный релиз Airflow 3, Хабр. Дата обращения: 12 мая 2026.
  2. Pradeep Sharma. What is Apache Airflow? (англ.). RudderStack. Дата обращения: 12 мая 2026.
  3. Beauchemin, Maxime Airflow: a workflow management platform (англ.). Medium (2 июня 2015). Дата обращения: 30 сентября 2019. Архивировано 13 августа 2019 года.
  4. Airflow (англ.). Дата обращения: 30 сентября 2019. Архивировано 6 июля 2019 года.
  5. Project (англ.). airflow.apache.org. Apache Software Foundation. Дата обращения: 3 ноября 2025.
  6. Обзор релиза Apache Airflow 3.0: новая эра оркестрации данных. BIG DATA SCHOOL. Дата обращения: 3 ноября 2025.
  7. Airflow Three Point Oh is here! (англ.). The Apache Software Foundation. Дата обращения: 3 ноября 2025.
  8. 1 2 Astronomer (англ.). Seedtable. Дата обращения: 3 ноября 2025.
  9. Astronomer Raises $213 Million Series C and Acquires Datakin; Scales Operations Amid Booming Growth and Global Demand (англ.). PR Newswire (23 марта 2022). Дата обращения: 3 ноября 2025.
  10. The biggest space discoveries and stories of 2020 (англ.). Space.com (28 декабря 2020). Дата обращения: 3 ноября 2025.
  11. Announcing Apache Airflow 2.2.0 (англ.). The Apache Airflow Blog. Apache Software Foundation (18 октября 2021). Дата обращения: 3 ноября 2025.
  12. The Airflow Year in Review: 2022 (англ.). Astronomer (20 декабря 2022). Дата обращения: 3 ноября 2025.
  13. Apache Airflow 2.4: Everything You Need to Know (англ.). Astronomer (30 сентября 2022). Дата обращения: 3 ноября 2025.
  14. Announcing Apache Airflow 2.7.0 (англ.). The Apache Airflow Blog. Apache Software Foundation (18 августа 2023). Дата обращения: 3 ноября 2025.
  15. Будущее Apache Airflow: обзор грядущего релиза 3.0. BIG DATA SCHOOL. Дата обращения: 3 ноября 2025.
  16. What is Apache Airflow 3.0? (англ.). DataCamp. Дата обращения: 3 ноября 2025.
  17. 1 2 Apache Airflow 3.0: новая эра оркестрации данных. SecurityLab.ru (23 апреля 2025). Дата обращения: 3 ноября 2025.
  18. Announcements (англ.). airflow.apache.org. Apache Software Foundation. Дата обращения: 3 ноября 2025.
  19. Release Notes (англ.). airflow.apache.org. Apache Software Foundation. Дата обращения: 3 ноября 2025.
  20. Release Notes — Airflow 3.2.1 Documentation (англ.). airflow.apache.org. Дата обращения: 12 мая 2026.
  21. 1 2 3 Apache Airflow (англ.). Apache Software Foundation. Дата обращения: 3 ноября 2025.
  22. Trencseni, Marton Airflow review (англ.). BytePawn (16 января 2016). Дата обращения: 1 октября 2019. Архивировано 28 февраля 2019 года.
  23. AirflowProposal (англ.). Apache Software Foundation (28 марта 2019). Дата обращения: 1 октября 2019. Архивировано 7 апреля 2022 года.
  24. 1 2 3 4 Airflow's components (англ.). Apache Software Foundation. Дата обращения: 3 ноября 2025.
  25. 1 2 3 Anatomy of an Airflow cluster (англ.). Astronomer. Дата обращения: 3 ноября 2025.
  26. 1 2 The Airflow UI (англ.). Astronomer. Дата обращения: 3 ноября 2025.
  27. [VOTE] Add more languages to Airflow UI (англ.). Apache Software Foundation. Дата обращения: 3 ноября 2025.
  28. How-to Guide: Customize the Airflow UI (англ.). Apache Software Foundation. Дата обращения: 3 ноября 2025.
  29. How-to Guide: Custom Operators (англ.). Apache Software Foundation. Дата обращения: 3 ноября 2025.
  30. What is an Airflow Hook? (англ.). Astronomer. Дата обращения: 3 ноября 2025.
  31. The Complete Guide to Airflow Sensors and Hooks (англ.). Orchestra. Дата обращения: 3 ноября 2025.
  32. Сенсоры в Apache Airflow. Habr (25 июля 2022). Дата обращения: 3 ноября 2025.
  33. Плагины в Apache Airflow. BIG DATA SCHOOL. Дата обращения: 3 ноября 2025.
  34. 1 2 3 4 5 apache/airflow (англ.). GitHub. Дата обращения: 3 ноября 2025.
  35. Airflow on Apple M1 (ARM architecture) (англ.). GitHub. Дата обращения: 3 ноября 2025.
  36. Lipp, Cassie Astronomer is Now the Apache Airflow Company (англ.). americaninno (13 июля 2018). Дата обращения: 18 сентября 2019. Архивировано 14 октября 2019 года.
  37. Astronomer Launches Astro Private Cloud to Increase Deployment Flexibility of Airflow-as-a-Service for the Most Sensitive Workloads (англ.). PR Newswire (1 октября 2025). Дата обращения: 3 ноября 2025.
  38. Google launches Cloud Composer, a new workflow automation tool for developers (амер. англ.). TechCrunch (май 2018). Дата обращения: 18 сентября 2019. Архивировано 20 марта 2025 года.
  39. Announcing Cloud Composer 3 for Apache Airflow (англ.). Google Cloud Blog (17 марта 2025). Дата обращения: 3 ноября 2025.
  40. Composer versioning overview (англ.). Google Cloud. Дата обращения: 3 ноября 2025.
  41. Introducing Amazon Managed Workflows for Apache Airflow (MWAA) (амер. англ.). Amazon Web Services (24 ноября 2020). Дата обращения: 17 декабря 2020. Архивировано 20 сентября 2025 года.
  42. Apache Airflow 3 is now available on Amazon MWAA (англ.). Amazon Web Services (15 октября 2025). Дата обращения: 3 ноября 2025.
  43. Introducing Apache Airflow 3 on Amazon MWAA: New features and capabilities (англ.). AWS Big Data Blog (15 октября 2025). Дата обращения: 3 ноября 2025.