BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс по Apache Airflow и NiFi » Airflow 3.1.1: архитектура и новшества

Airflow 3.1.1: архитектура и новшества

Airflow продолжает развивать системную архитектуру оркестрации данных, сочетая мощность планировщика задач с гибкостью модульной экосистемы. В выпуске 3.1.1 ключевые направляющие перемены ориентированы на повышение интерактивности и управляемости сложных рабочих процессов: от внедрения Human-in-the-Loop (HITL) до расширения возможностей пользовательского интерфейса и интеграционных стеков. Основная мотивация заключается в том, чтобы превратить Airflow из чисто продолжительного планировщика в платформу, способную поддерживать взаимосвязанное принятие решений, требующее человеческого участия, в сочетании с автоматическими потоками данных, модерируемыми через единый интерфейс.

Стратегически релиз направлен на повышение предсказуемости исполнения задач через SLA-мониторинг и предиктивную аналитику производительности, а также на снижение барьеров внедрения за счет унифицированной архитектуры и унифицированного подхода к сериализации DAG (Directed Acyclic Graph, граф задач). Важной линией развития стала консолидация инструментов для разработчиков и администраторов: decoupling Task SDK от ядра Airflow обеспечивает более гибкие циклы обновлений и меньшую взаимозависимость между компонентами системы; расширение международной поддержки и модернизация фронтенда через React-плагинную архитектуру открывают путь к быстро масштабируемым и локализуемым инстанциям.

Эти изменения подчеркивают тенденцию к переходу от монолитной архитектуры к модульной, ориентированной на интеграцию с внешними системами и на расширение возможностей эксплуатации в условиях реального времени. В рамках данной статьи мы рассматриваем каждую область в контексте архитектуры, концепций и практических сценариев внедрения, давая читателю целостное видение того, как реализуется новая волна возможностей в Airflow 3.1.1 и какие изменения принесут выгоды для аналитиков, архитекторов, руководителей data-направлений и ИТ-директоров.

 

Архитектурная декомпозиция технических компонентов и их взаимодействий

Современная архитектура Airflow состоит из нескольких взаимосвязанных слоев: планировщик (scheduler), исполнитель (executor), веб-сервер (webserver), API-слой, слои сериализации DAG, а также интерфейсы взаимодействия с пользователем и внешними системами. В выпуске 3.1.1 эти элементы получили усиленное взаимное партнерство через формализованные контракты сериализации DAG и перераспределение обязанностей между компонентами.

  • Планировщик и исполнитель: планировщик отвечает за создание расписания DAG и управление зависимостями, тогда как исполнитель исполняет задачи согласно доступным ресурсам. В рамках новой архитектуры усилено разделение функций через контрактные границы сериализации, что позволяет обновлять стороны независимо друг от друга и уменьшает риск несовместимости между версиями.
  • Серверная часть API и логирование: внедрена структурированная логика через унифицированный механизм логирования (structlog). Это обеспечивает единый формат событий, упрощает корреляцию событий между компонентами и улучшает операционную видимость в OpenSearch, Splunk и подобные хранилища.
  • Web UI и i18n: фронтенд основан на React и поддерживает многоязычный интерфейс (i18n), что существенно расширяет охват аудитории и облегчает локализацию для региональных команд.
  • HITL-сервис и интеграции: функциональность HITL внедряется как отдельный модуль, который может паузить DAG на defer-состоянии и предоставлять контекст через XCom и параметры DAG. Это позволяет архитекторам внедрять сторонние UIs и уведомления, сохраняя стандартный поток исполнения.
  • Архитектура плагинов (React Plugin System, AIP-68): новая архитектура плагинов позволяет внедрять React-приложения, внешние представления и виджеты прямо в навигацию Airflow, создавая единое место для мониторинга, анализа и управления рабочими процессами.
  • Контракты сериализации DAG: концептуальная основа, позволяющая обновлять компоненты независимо и минимизировать регрессию. С задачей по декуплингу Task SDK от ядра Airflow реализуется версия контрактов, что обеспечивает обратную совместимость при последовательном обновлении компонентов.

Эти элементы создают основу для устойчивого энергичного развития экосистемы. Взаимодействие между слоями становится более явным: сериализация DAG служит как контракт между автором DAG, ядром и пользовательскими интерфейсами, а HITL и streaming-эндпоинты добавляют новые паттерны взаимодействия с внешними системами и сервисами.

 

Гуман-in-the-Loop (HITL): концепция, реализация и сценарии применения

HITL (Human-in-the-Loop) - это концепция привлечения человека к принятию ключевых решений на определенной точке выполнения DAG. В Airflow 3.1.1 HITL позволяет задачам переходить в отложенное состояние (deferred), ожидая пользовательского решения через веб-интерфейс или API. Такая функциональность особенно релевантна для областей, где автоматизация сталкивается с дилеммами этических, правовых или доменных ограничений, например в AI/ML пайплайнах, модерации контента и процессах утверждения.

Реализация HITL опирается на несколько фундаментальных принципов:

  • Контекст выполнения: HITL предоставляет контекст задачи, включая данные XCom (межзадачные данные) и параметры DAG, что позволяет оперативно оценивать ситуацию без необходимости повторной реконструкции состояния.
  • Управление доступом: пользователи с соответствующими ролями могут просматривать статус HITL-задач, вносить корректировки контекста и подтверждать или отклонять действия через удобные веб-формы. Это снижает вероятность ошибок и ускоряет принятие решений.
  • API-интеграции: HITL поддерживает API-интерфейсы для взаимодействия с внешними UIs и уведомлениями, что позволяет организациям строить собственные панели мониторинга и нотификации, удовлетворяющие регуляторным требованиям и внутренним политикам.
  • Аудит и трассируемость: каждое изменение статуса HITL-задачи регистрируется, обеспечивая прозрачность процессов, аудит принятия решений и возможности отката при необходимости.

Сценарии применения HITL:

  • AI/ML пайплайны: модули обучения, валидации и инференса могут требовать проверок человека перед тем, как перейти к следующем шагу.
  • Контент-модерация: автоматическая классификация может направлять задачи на рассмотрение модератора для принятия решений.
  • Бизнес-утверждения: финансовые или юридические процессы могут нуждаться в подтверждении специалиста перед продолжением критических операций.

HITL влияет на архитектуру исполнения: задачи, помеченные как HITL-объекты, переходят в defer-состояние, и связанная логика должна обрабатывать уведомления, повторные запросы и временные ожидания. Это требует аккуратной инженерии очередей, безопасной передачи контекста и устойчивых механизмов повторных попыток. В части эксплуатации HITL повышает гибкость рабочих процессов и позволяет учитывать человеческие сокращения, ошибки восприятия или задержки, одновременно сохраняя высокий уровень отслеживаемости и контроля.

 

Теоретическая база HITL и основы контрактов сериализации DAG

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

  • Зафиксировать версию схемы DAG и связанных сущностей, чтобы обновления элементов системы не приводили к несовместимостям.
  • Обеспечить независимый жизненный цикл компонентов: Task SDK может развиваться отдельно от ядра, не ломая существующие DAG.
  • Упростить миграции и обучающие сценарии для пользователей, так как сериализация является единым механизмом передачи состояния между различными средами (разработка, тестирование, продакшн).

Укрупнённый подход к сериализации DAG в Airflow 3.1.1 подчеркивает следующие принципы:

  • Версионность контрактов: каждый контракт может эволюционировать, сохраняя совместимость со старыми сущностями через адаптеры и шифры миграций.
  • Изоляция изменений: изменения в формате или структурах сериализации не требуют полного разворачивания всех компонентов параллельно, позволяют безопасные частичные апгрейды.
  • Распределённая ответственность: задача SDK и серверная часть имеют свои контракты, что снижает риск нарушений при обновлениях, а также облегчает параллельную разработку.

Для DAG Authors важна возможность импорта конструктов из пространства имен airflow.sdk (например, from airflow.sdk import DAG, task, asset). Это обеспечивает доступ к современным средствам авторинга DAG и поддержке будущих возможностей с более минимальной зависимостью от конкретной версии ядра. В теоретическом плане такая архитектура приближает Airflow к синергии между инструментами авторинга и исполняющей средой, ускоряя переход к оптимизированным конвейерам и более предсказуемым сценариям обновления.

Погружение в контрактную архитектуру DAG также ведёт к новым методам обеспечения совместимости: схемы валидирования, тестовые наборы для сериализации и протоколы отката. Для платформенных команд это значит возможность планирования независимых релизов, минимизацию регрессивных ошибок и улучшение предсказуемости поведения в разных окружениях.

 

Deadline Alerts: принципы мониторинга SLA, настройка и сценарии уведомлений

Deadline Alerts представляют собой проактивный механизм мониторинга исполнения DAG и автоматического уведомления в случае отклонений от заданных временных рамок. Концептуально SLA-мониторинг направлен на обеспечение соблюдения договорённостей об уровне сервиса (Service Level Agreement, SLA) для критических рабочих процессов. В Airflow 3.1.1 функциональность Deadline Alerts реализована через настраиваемые пороги и реакцию на события.

Ключевые элементы конфигурации и паттерны использования:

  • Точка отсчета (Reference point): можно выбрать время постановки DAG в очередь (queued time), логическую дату (logical date) или фиксированное время. Такой выбор позволяет гибко моделировать задержки в зависимости от бизнес-процессов и внешних факторов.
  • Интервал (Interval): порог времени относительно выбранной точки отсчета, который может быть положительным или отрицательным. Это позволяет строить сценарии напоминаний задолго до критических сроков или, наоборот, реакцию на задержки после планируемого окна.
  • Callback: реакция на выход за пределы порога может осуществляться через встроенные нотификации Airflow или через пользовательские обработчики. В текущей версии поддерживаются асинхронные коллбэки (AsyncCallback), а синхронные коллбэки (SyncCallback) планируются к реализации в будущих релизах.

Практические сценарии:

  • Уведомление, если ежедневная ETL-задача не завершилась к времени выполнения после начала суток.
  • Оповещение заинтересованных сторон за 30 минут до критического срока завершения процесса.
  • Эскалация при длительной очереди задач из-за ограниченности ресурсов.

Важно отметить, что Deadline Alerts в 3.1 являются экспериментальными. Их поведение и набор возможностей могут изменяться в последующих версиях на основе пользовательской обратной связи и практических испытаний в реальных системах. Это требует от архитекторов внимания к управлению изменениями и к построению пилотных внедрений на стадии перехода к стабилизации функциональности.

 

Интернационализация и модернизация пользовательского интерфейса: i18n и поддерживаемые языки

Международализация и локализация пользовательского интерфейса евристически важны для масштабируемости Airflow как корпоративной платформы. В релизе 3.1.1 React-базированный фронтенд принял на себя развитие i18n (internationalization), что позволяет локализовать тексты, форматы дат и чисел, а также адаптировать интерфейс под локальные требования.

  • Поддерживаемые языки: на текущий момент система поддерживает как минимум арабский и турецкий языки, а набор локализаций постепенно расширяется за счёт участия сообщества и организаций, внедряющих собственные переводы. Расширение числа языков обеспечивает доступ к функционалу большему числу пользователей.
  • Инфраструктура перевода: система включает средства автоматического контроля полноты переводов, а также четкие руководства по сотрудничеству с контрибьюторами. Это снижает сроки локализации и повышает качество перевода за счёт верифицируемых процедур.
  • Внедрение через React: модернизация UI в рамках подхода AIP-68 (Access Improvement Proposal) и интеграция инструментов перевода обеспечивает единообразие пользовательского опыта независимо от языкового окружения.

Пояснение аббревиатур: i18n - internationalization, процесс подготовки приложения к локализации; UI - пользовательский интерфейс; AIP - Airflow Improvement Proposal. Поддержка i18n не ограничивается переводом текстовых элементов: затрагиваются форматы отображения дат, чисел, локали временных зон и других пространственных параметров, что упрощает работу распределённых команд в разных регионах.

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

 

React Plugin System (AIP-68): архитектура, интеграционные возможности и примеры

Airflow 3.1.1 внедряет современную архитектуру плагинов на базе React, совместимую с новым подходом к расширяемости через AIP-68. Это дает организациям возможность внедрять собственные приложения, панели мониторинга и внешние интерфейсы непосредственно в навигацию и рабочие пространства Airflow.

Основные направления плагинной архитектуры:

  • React Apps: полные React-приложения, интегрированные в навигацию Airflow и взаимодействующие с ядром через официально поддерживаемые API-границы.
  • External Views: внедрение внешних веб-приложений через iframe с единым механизмом аутентификации.
  • Dashboard Integration: добавление виджетов и панелей на основе источников данных Airflow, предоставляющих оперативную информацию о статусе DAG, метриках исполнения и т.д.
  • Menu Integration: возможность добавлять собственные пункты меню и логически группировать инструменты.

Разработческое окружение и опыт:

  • Горячая перезагрузка (hot reloading) в инструментах разработки airflow-react-plugin dev tools упрощает процесс итераций.
  • Замена устаревших Flask-ориентированных подходов на современные веб-стандарты улучшает производительность, снижает сложность поддержки и повышает удобство пользователей.
  • Полная документация и генераторы заготовок ускоряют внедрение и снижают порог входа для команд.

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

 

Улучшение пользовательского интерфейса: обновленные виды календаря и Gantt, фильтры и дизайн

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

  • Обновленные виды календаря и диаграммы Ганта: календарь и график выполнения DAG переработаны под современный React UI, что обеспечивает плавность прокрутки, более точную детализацию событий и улучшенную совокупную производительность.
  • Расширенная фильтрация: улучшенная фильтрация по таким параметрам, как статус DAG, уровень приоритета, теги, владельцы и другие метаданные, позволяет быстро находить нужные рабочие конвейеры в больших экосистемах.
  • Цветовая палитра и дизайн: дизайн-система основана на семантических токенах Chakra UI, что обеспечивает согласованность тем, доступность и возможность адаптации под корпоративные требования к бренду и восприятию интерфейса.
  • Навигационная структуризация: обновления способствуют лучшей навигации по большим коллекциям DAG, снижая время на поиск и повышая уверенность пользователей.

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

 

Организация и навигация DAG: функции pin/избранное и визуальная структуризация

Управление большим количеством DAG требует эффективной навигации и механизма быстрого доступа к наиболее критичным процессам. В Airflow 3.1.1 реализованы функции pin/избранное (pin/favorite), которые позволяют помечать DAG как важные и размещать их в выделенном разделе интерфейса.

  • Функционал закрепления (pin): пользователи могут закреплять DAG на вверхнем уровне панели быстрого доступа, создавая персонализированную навигацию без необходимости пролистывать обширный список.
  • Визуальная структуризация: удобная группировка DAG по проектам, отделам или функциональным направлениям упрощает ориентирование в архитектуре рабочих потоков.
  • Повышение продуктивности команд: облегчение доступа к важным задачам способствует более быстрой реализации изменений и ускорению обратной связи с бизнес-единицами.
  • Совместимость с HITL и SLA-мониторингом: фиксация критичных DAG может сопровождаться настройками уведомлений, а также поддержкой HITL-операций в рамках конкретных процессов.

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

 

Inference Execution и синхронные DAGs: streaming endpoint и сценарии реального времени

Airflow 3.1.1 вводит новый streaming API endpoint, который обеспечивает возможность наблюдать за выполнением DAG-ранов до их завершения. Это позволяет приложениям строить более реактивные интеграционные паттерны для сценариев реального времени и инференса.

  • Новый streaming endpoint: /dags/{dag_id}/dagRuns/{dag_run_id}/wait. Этот маршрутизатор повторно эмитирует обновления в формате JSON Lines (NDJSON) с заданными интервалами до достижения DAG-раном финального состояния.
  • Пример использования: запросы через curl демонстрируют возможность получения обновлений и результатов XCom в режиме реального времени, что позволяет обслуживающим системам формировать ответы на основе последних данных без необходимости периодического опроса.
  • Применение в инференсе: для пайплайнов ML/AI, где требуется немедленная реакция на завершение этапов инференса, streaming endpoint позволяет возвращать результаты или сигналы перехода к следующему шагу без задержек, характерных для классического длинного опроса.
  • Синхронные DAGs: механизм позволяет реализовать поведение, близкое к синхронному, где вызывающая система получает подтверждение об исполнении в более короткие сроки, что существенно влияет на пользовательские сценарии и сервисные контрактные требования.
  • Ограничения и взаимодействие с HITL: в рамках синхронных сценариев важно корректно учитывать состояния HITL и временные задержки, сохраняя корректность и консистентность данных через контракты сериализации DAG и обработку XCom.

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

 

Новый триггер ALL_DONE_MIN_ONE_SUCCESS: поведение и паттерны использования

Новый триггер ALL_DONE_MIN_ONE_SUCCESS дополняет существующие правила запуска задач в графе, расширяя паттерны управления зависимостями. Этот триггер активируется тогда, когда все upstream-узлы завершены (успешно, с ошибкой или пропущены) и при этом не менее одной задачи достигла успеха.

  • Поведение: ALL_DONE_MIN_ONE_SUCCESS обеспечивает баланс между детерминированностью поведения и гибкостью в условиях неоднозначности исходов зависимостей. Он позволяет организовать цепочки, где продолжение возможно только после того, как хотя бы один путь завершится успешно, даже если другие пути завершились неудачей.
  • Паттерны использования: такие правила применяются в сценариях модерации, в многошаговых процессах утверждения и в сложных ML-пайплайнах, где минимальная надежная часть процесса должна быть подтверждена перед продолжением.
  • Влияние на визуализацию и мониторинг: в UI отображаются прогрессы по нескольким путям, что позволяет операторам быстро оценивать схему исполнения и принимать решения на основе текущего статуса.

Данные паттерны улучшают выразительность рабочих процессов и позволяют формировать более сложные сценарии без потери предсказуемости и управляемости.

 

Видимость DAG-процессинга и производительности: parsing duration и метрики

Современная инфраструктура требует прозрачности на всех стадиях исполнения DAG. В Airflow 3.1.1 введена явная видимость времени парсинга (parsing duration) как метрики в пользовательском интерфейсе, которая дополняет существующие показатели исполнения, ресурсоемкости и задержек.

  • Parsing duration: время, затраченное на разбор DAG-файлов и построение внутренней структуры графа. Это критический параметр для диагностики проблем на старте выполнения DAG и для определения узких мест в процессе разметки.
  • Метрики производительности: добавление parsing duration в сочетании с другими метриками окружает анализ производительности и устойчивости, позволяя выявлять узкие места на этапе загрузки и проверки DAG.
  • Инструменты мониторинга: централизованные хранилища логов и метрик (например, OpenTelemetry, Prometheus) могут использовать новую метрику для построения дашбордов, автоматических предупреждений и долгосрочного анализа производительности.
  • Практическая ценность: систематическая видимость помогает операторам и администраторам быстрее находить причины задержек, оптимизировать конфигурацию планировщика и минимизировать влияние изменений на бизнес-операции.

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

 

Поддержка Python 3.13 и снятие поддержки Python 3.9; конфигурационные изменения

Airflow 3.1.1 последовательно обновляет требования к версиям Python, отражая стратегию поддержки современных возможностей языка и обеспечения безопасности. Поддержка Python 3.9 снята, тогда как Python 3.10-3.13 остаются актуальными.

  • Пояснение стратегической мотивации: новые версии Python предлагают обновленные функции, улучшения производительности, улучшения безопасности и совместимость с современными зависимостями. Это позволяет Airflow использовать преимущества новых возможностей и инструментов разработки.
  • Рекомендованный путь обновления: организациям, использующим Airflow, рекомендуется планировать миграцию на Python 3.10 или выше, без задержек, чтобы избежать критических ограничений совместимости и получить доступ к улучшенным функциям языка.
  • Конфигурационные изменения: в контексте перехода к более современным версиям языка были введены изменения в настройках и зависимостях, требующие обновления конфигурации окружения и повторной проверки совместимости внешних плагинов и провайдеров.
  • Практические последствия: обновление Python влияет на среду исполнения, тестовую инфраструктуру и CI/CD, поэтому необходима продуманная дорожная карта миграции, включая тестирование на совместимость и регрессионное тестирование.

Поддержка более новых версий Python позволяет Airflow оставаться конкурентоспособным инструментарием в условиях быстро меняющейся экосистемы Python и внешних зависимостей.

 

Конфигурация и очистка: перенос настроек веб-сервера в API и удаление устаревших опций

В рамках архитектурной оптимизации конфигурации произошло заметное перераспределение параметров между веб-сервером и API-слоем, а также удаление устаревших настроек. Это сделано для повышения модульности и упрощения сопровождения.

  • Перенос настроек: параметры [webserver] были перенесены в секцию [api], что позволяет централизованно управлять настройками, влияющими на API-слушатели, маршрутизаторы и обработку запросов.
  • Удаление устаревших опций: некоторые конфигурационные параметры, например связанные с инфраструктурной ушедшей практикой, были исключены в целях сокращения конфигурационной поверхности и устранения источников ошибок.
  • Примеры миграций: переход включает обновления ключей и значения конфигурации, а также обновление документации по миграции, чтобы обеспечить плавное продолжение работы существующих инстансов.
  • Безопасность и совместимость: оптимизация конфигурации сопровождается прочной базой тестов и проверкой совместимости между элементами архитектуры, включая API-серверы и веб-сервер.

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

 

Безопасность и XCom: удаление опции десериализации, безопасное отображение данных

С вопросами безопасности, особенно касающимися десериализации, Airflow идет по пути минимизации рисков удалением опасной опции десериализации объектов XCom через API.

  • Удаление опции десериализации (enable_xcom_deserialize_support): ранее позволяла десериализацию неизвестных объектов, что несла риск исполнения вредоносного кода при десериализации произвольных объектов Python. В 3.1.1 принят курс на безопасность: удаление этой опции снижет вероятность эксплуатируемых уязвимостей.
  • Безопасное отображение данных: механизм отображения XCom переходит к безопасным методам, которые показывают значения не-native (например, пользовательские объекты, Assets, datetime) без необходимости десериализации неизвестных объектов в API-сервере. Это повышает прозрачность для пользователей и снижает риск эксплуатации.
  • Пользовательский опыт: несмотря на увеличение ограничений в десериализации, пользовательский интерфейс остаётся информативным, показывая понятные представления данных и контекст, не требуя опасной процедуры десериализации.

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

 

API изменения и серверная архитектура: переименования ключей, логирование и управление рабочими процессами

Airflow 3.1.1 вводит серию изменений в API и серверной архитектуре, направленных на улучшение согласованности и управляемости сервисов.

  • Переименование ключей: в Asset API ключ driving изменений - consuming_dags переименован в scheduled_dags, что лучше отражает его смысл как DAG, использующий активы в рамках расписания.
  • Интерфейс Task SDK: удалены определённые функции из Task SDK (например, get_task_group_children_getter, task_group_to_dict), они переведены на серверную сторону API и помечены как внутренние реализации. Это упрощает API и снижает риск неправильного использования на стороне клиента.
  • Уменьшение числа рабочих процессов API-сервера: default workers снижено с 4 до 1. С учётом того, что FastAPI выполняет синхронный код в внешних пулах, такая конфигурация остаётся эффективной, а горизонтальное масштабирование через несколько экземпляров API-сервера становится предпочтительным подходом.
  • Структурированное логирование: Airflow перешёл на structlog повсеместно, что обеспечивает единый формат и более удобный поиск по логам. Это облегчает анализ инцидентов и взаимоотношение событий между компонентами.
  • Введение контрактов: обновления API и сериализация DAG согласованы на базе контрактов, что упрощает совместную работу между различными компонентами и ускоряет обновления без риска несовместимости.

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

 

Изменения в интерфейсе Task SDK: удаление функций и переход к API на стороне сервера

Task SDK как часть разработки стал более модульным и ориентированным на совместную работу через API. В рамках 3.1.1 произошло:

  • Удаление отдельных функций из пространства имен taskgroup: функции get_task_group_children_getter и task_group_to_dict перемещены в серверную часть и объявлены «internal», что препятствует прямому импорту пользователями.
  • Переход к API на стороне сервера: более сложные операции, связанные с представлением и обработкой задач и групп, теперь обрабатываются на сервере, а клиентские библиотеки используют API запросы для взаимодействия.
  • Преимущества: снижение риска несоответствий между клиентским SDK и ядром, упрощение версиифирования и улучшение устойчивости кастомных решений, что особенно важно для крупных организаций, разворачивающих Airflow в сложной инфраструктуре.

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

 

Структурированное логирование: переход на structlog повсеместно

Переход на structlog представляет собой стратегическую модернизацию инфраструктуры логирования:

  • Унифицированный формат: структурированное логирование позволяет системно собирать поля контекста, что упрощает поиск и агрегирование информации в центральных лог-менеджерах.
  • Удобство разработчика: использование явных ключей в сообщениях, добавление контекстных атрибутов (например, имя задачи, идентификатор DAG, параметры исполнения) упрощает трассировку и анализ.
  • Совместимость и эволюция: любой модуль на уровне BaseOperator/BaseHook может использовать структурированное логирование без необходимости дополнительных изменений. Это обеспечивает единообразие поведения и позволяет легче внедрять новые источники логирования и мониторинга.
  • Примеры реализации: лог-сообщения выглядят как записи с полями(event, timestamp, level, контекст) и позволяют экспорт в внешние системы наблюдения, такие как OpenTelemetry, Elastic Stack или другие хранилища.

Структурированное логирование снижает сложность корреляции между операциями и улучшает способность реагировать на инциденты и анализировать производственные данные.

 

Эксплуатация и масштабирование: рекомендации по числу API-серверов и горизонтальному масштабированию

Глобальная эксплуатация и масштабирование являются ключевыми аспектами устойчивой работы Airflow в крупных организациях. В выпуске 3.1.1 сформулированы принципы:

  • Число API-серверов: рекомендуется ориентироваться на количество CPU в вычислительном узле и на необходимость горизонтального масштабирования. Снижение базового числа рабочих процессов до 1 подчеркивает, что главная нагрузка распределяется между несколькими экземплярами API-сервера, а синхронные операции выполняются в отдельных пулах.
  • Горизонтальное масштабирование: в современных условиях предпочтение отдаётся развёртыванию нескольких экземпляров API-сервера, что обеспечивает изоляцию провайдера, сокращает риск общей точек отказа и улучшает fault isolation.
  • Рекомендации по конфигурации: рекомендуется проводить настройку в соответствии с количеством ядер процессора и ожидаемой нагрузкой, а также учитывать характер коммуникации между компонентами (например, сериализация DAG, HITL, streaming endpoints).
  • Эволюция архитектуры: структурированное логирование и контрактная сериализация дают возможность более надёжно масштабировать систему, упрощают мониторинг и упрощают роль команды поддержки.

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

 

Asset API и интеграционные возможности: переименование ключей и интеграции

Asset API в Airflow 3.1.1 претерпел ряд изменений, связанных с наименованиями ключей и интеграционными сценариями:

  • Переименование ключей: ключ consuming_dags в asset API переведён на scheduled_dags, чтобы лучше отражать назначение в контексте использования активов в расписании DAG.
  • Контекст использования: этот ключ содержит только DAG, которые используют активы в аргументах расписания; он не отражает все DAG, использующие активы в работе.
  • Интеграционные возможности: изменения упрощают интеграцию с внешними сервисами и инструментами, где понятие «расписание с активами» является центральным концептом.
  • Совместимость и документация: требуется обновление клиентских приложений и документации, чтобы соответствовать новой схеме ключей.

Такие изменения улучшают ясность и предсказуемость поведения Asset API, позволяя организациям более точно моделировать взаимосвязи между активами и DAG.

 

Кейсы применения в реальных сценариях: AI/ML, модерация контента, утверждения и согласования

Airflow 3.1.1 поддерживает разнообразные бизнес-реалии, где оркестрация задач сопряжена с человеческими решениями и обработкой контента:

  • AI/ML: HITL позволяет остановить этапы обучения, валидации или инференса для принятия решений специалистом или контрольной точкой, обеспечивая прозрачность и соответствие регуляторным требованиям.
  • Модерация контента: автоматизированные процессы модерации дополняются человеческим бонусом, где модератор может вынести решение и продолжить конвейер.
  • Утверждения и согласования: для бизнес-процессов, где требуется официальное согласование, интеграция с HITL и SLA-мониторингом обеспечивает контроль за выполнением и своевременное уведомление ответственных лиц.

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

 

Интеграционные стеки и синергия: взаимодействие с внешними дашбордами и инструментами

Расширение интеграционных возможностей является важной ценностью Airflow 3.1.1. Новые плагины и архитектура позволяют совместно работать с внешними системами мониторинга, аналитики и визуализации:

  • Дашборды и BI-инструменты: интеграция с внешними панелями, такими как Grafana или Tableau, через стандартизированные API и структурированные логи, предоставляет единый источник правды для бизнес-показателей.
  • Наборы данных и потоковая обработка: Streaming endpoint и интеграционная модель позволяют сервисам реагировать на события DAG в реальном времени и синхронизировать данные в потоковых конвейерах.
  • Observability и трассировка: структурированное логирование, трассировка и распределенная мониторинга улучшают видимость, уменьшая время реакции на инциденты.
  • Внешние UI и HITL: возможность внутри Airflow реализовать внешние UI через External Views облегчает создание композитных рабочих пространств, где диспетчер исполнения и модератор работают в едином контексте.

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

 

Риск-анализ, уязвимости и ограничения: меры и показатели эффективности

Любая комплексная платформа имеет риски и ограничения, которые требуют активной работы по их снижению и контролю. В Airflow 3.1.1 выделяются следующие области риска и соответствующие меры:

  • Безопасность HITL: хотя HITL добавляет полезные функции, необходимо помнить о рисках безопасности данных, которые проходят через человеческий интерфейс. Рекомендованы строгие политики доступа, аудиты действий и минимизация передачи чувствительных данных в HITL-формах.
  • Deserialization-слабости: удаление опции десериализации XCom снижает риск исполнения произвольного кода. Однако, необходимо обеспечивать безопасный отображение и анализ XCom-данных без риска обработки не-native объектов.
  • Риск производительности: переход к архитектуре с упором на горизонтальное масштабирование API-сервера требует надлежащих конфигураций и мониторинга. Неправильная настройка может привести к узким местам в сети и задержкам в API.
  • Совместимость и миграции: обновления контрактов сериализации DAG требуют корректной миграции и тестирования, чтобы минимизировать регрессии и сохранить совместимость между компонентами.
  • Риски зависимости от внешних систем: интеграционные плагины и внешние UI могут вводить новые точки отказа; необходимы планы резервирования, мониторинг доступности и устойчивые механизмы повторной попытки.
  • Уязвимости в инфраструктуре: обновления версий Python, зависимостей и инструментов разработки требуют контроля безопасности, регулярных обновлений и тестирования.

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

 

Конкурентный анализ и дифференциация решений на рынке оркестрации

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

  • Архитектурная гибкость: модульная архитектура с поддержкой контрактов сериализации DAG и decoupling Task SDK позволяет обновлениям быть независимыми и уменьшает риск деградации функциональности.
  • HITL как ниша и сила: возможность встраивать человеческое мнение в конвейеры данных делает Airflow привлекательным для организаций, где требуется строгий контроль и аудит, особенно в рамках AI/ML и комплаенс.
  • Расширенная UI и i18n: модернизация пользовательского интерфейса, поддержка множества языков и плагинная архитектура создают более гибкую и адаптивную среду.
  • Streaming и real-time сценарии: streaming endpoint обеспечивает новые режимы взаимодействия с сервисами в реальном времени, что становится ключевым конкурентным отличием в условиях быстро меняющихся требований к отклику.
  • Безопасность и управляемость: устранение уязвимостей через ограничение десериализации и структурированное логирование повышают доверие к платформе для работы с чувствительными данными.

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

 

Вопрос-Ответ:

  • Вопрос: Что такое HITL и зачем он нужен в Airflow 3.1.1?
    Ответ: HITL (Human-in-the-Loop) - функция паузы исполнения DAG для человеческого решения в сценариях, где требуется экспертная оценка. Она обеспечивает контекст, аудит и API-интеграции, позволяя сочетать автоматизацию с человеческим контролем.

  • Вопрос: Какие ключевые изменения касаются API-сервера?
    Ответ: Уменьшение дефолтного числа рабочих API-серверов до 1, переименование ключей в Asset API, перенос некоторых настроек веб-сервера в API-слой, удаление устаревших функций Task SDK и переход к серверной обработке для части операций.

  • Вопрос: Что значит новый триггер ALL_DONE_MIN_ONE_SUCCESS?
    Ответ: Это правило запуска, активируемое, когда все upstream-задачи завершены и по крайней мере одна завершилась успешно. Оно расширяет набор возможностей по построению сложных зависимостей в DAG.

  • Вопрос: Какую роль играет Streaming Endpoint?
    Ответ: Streaming Endpoint позволяет службам получать обновления о состоянии DAGRan в режиме реального времени через NDJSON-поток, что ускоряет инференс, реакцию на события и интеграцию с внешними системами.

  • Вопрос: Почему важна структурированная логировка (structlog) во всех слоях?
    Ответ: Structlog обеспечивает единый формат логов, упрощает поиск, фильтрацию и корреляцию событий, что критично для мониторинга, аудита и эксплуатации в больших инфраструктурах.

  • Вопрос: Какие изменения касаются безопасности с XCom?
    Ответ: Удалена опция десериализации, что снижает риск удалённого кода при обработке XCom. Безопасные методы отображения данных позволяют пользователю видеть содержимое без необходимости десериализации неизвестных объектов.

  • Вопрос: Как новые версии Python влияют на обновления Airflow?
    Ответ: Airflow 3.1.1 снимает поддержку Python 3.9 и поддерживает версии 3.10-3.13. Это требует планирования миграции окружения и тестирования на совместимость зависимостей.

  • Вопрос: Каковы преимущества React Plugin System?
    Ответ: React Plugin System (AIP-68) позволяет внедрять React-приложения, внешние представления и дашборды прямо в Airflow, упрощая интеграцию доменных инструментов и улучшая UX без конфликта между Flask- и React-элементами.

  • Вопрос: Что означает перенос настроек веб-сервера в API?
    Ответ: Перенос усиливает модульность и упрощает конфигурацию, позволяя централизованно управлять настройками через API и снижая риск ошибок, связанных с дублированием параметров между слоями.

  • Вопрос: Какие кейсы применения HITL наиболее релевантны?
    Ответ: AI/ML пайплайны, модерация контента и бизнес-утверждения - там, где требуется человеческая интерпретация, аудиты и соответствие регуляторным требованиям.

  • Вопрос: Как читателю использовать 3.1.1 для архитектурной стратегии?
    Ответ: Следует рассмотреть внедрение HITL в критических конвейерах, внедрить React-плагины для локальных интерфейсов мониторинга, применить SLA-мониторинг и видимость parsing duration, а также выстроить стратегию безопасной сериализации DAG и независимого обновления компонентов.

  • Вопрос: Какие риски сопровождают новую архитектуру и как их минимизировать?
    Ответ: Основные риски связаны с безопасностью HITL и XCom, с конфигурационной совместимостью и с производительностью API. Их можно минимизировать через строгий контроль доступа, аудит операций HITL, структурированное логирование, миграционные планы и горизонтальное масштабирование API-серверов.

← Предыдущая статья
Архитектура и развёртывание ETL‑пайплайна на Airflow в AWS: концепции, инфраструктура и эксплуатационные практики
Следующая статья →
Apache Airflow: теоретические основы, архитектура и практическая реализация ETL-пайплайнов в локальной среде с Docker и облачными интеграциями

 

Узнать стоимость решенияЗапросить видео презентацию

Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • «ПрофХолод» — крупнейший в России производитель сэндвич-панелей с пенополиуретаном. 

  • ПАО «Транснефть» – крупнейшая российская нефтепроводная компания. «Транснефть» обеспечивает транспортировку более 85% добываемых в России нефти и нефтепродуктов.

  • ГК «Акрон Холдинг», одно из крупнейших в России промышленно-металлургических предприятий, запустил проект по модернизации управления данными. В качестве целевого решения для анализа ключевых данных компания выбрала систему PIX BI. В компании уже более 100 пользователей PIX BI, и в этом году в планах увеличить их число в два раза.

  • Группа компаний «Галакс» ведет свою деятельность с 2005 года, являясь в те годы дистрибьютором известных международных марок в ряде крупнейших торговых сетей России в сегменте аудио и видео аксессуаров. Активно работая в этом направлении и приобретая ценный опыт, начали создавать собственные торговые марки «GAL» и «VIXTER»

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.