
Невозможно быть вне политики с Airflow Cluster Policies
michael_oni 18 минут назад Невозможно быть вне политики с Airflow Cluster Policies Средний 19 мин 185 Блог компании Magnit Tech Python * Data Engineering * Big Data * DevOps * Туториал Привет, Хабр! Меня зовут Михаил...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Вот важная новость с фронта ИИ: michael_oni 18 минут назад Невозможно быть вне политики с Airflow Cluster Policies Средний 19 мин 185 Блог компании Magnit Tech Python * Data Engineering * Big Data * DevOps * Туториал Привет, Хабр! Меня зовут Михаил Онянов, я Python-разработчик и платформенный инженер в крупнейшем проекте компании Magnit Tech – F&R. Я создаю инфраструктуру для data-инженеров: разрабатываю интеграции с системами-источниками данных, внедряю сервисы для Data Observability и занимаюсь поддержкой качества кодовой базы на Python.
Из статьи вы узнаете, как с помощью механизма Cluster Policies в Apache Airflow вынести требования к DAG’ам в исполняемый код:Поговорим о том, когда и зачем нужен отдельный слой Policies. Посмотрим на примеры требований в больших data-инженерных проектах и способ их реализации с помощью политик. Покажу нашу архитектуру, примеры кода и способы внедрения.
Технические детали
Сделаем выводы из моих ошибок, допущенных при разработке и внедрении. В конце посмотрим, в каких ещё системах используется аналогичный механизм. В тексте я опираюсь на наш опыт, описанный здесь, и примеры решений из проекта F&R; использовал множество источников, обсуждений и примеров из документации OSS инструмента Apache Airflow, спасибо его сообществу, во многом благодаря их вопросам и обсуждениям возникла эта статья, также много полезного взял из цикла видео с Airflow Summit.
Как мы дошли до политики такой... В больших кластерах Apache Airflow со временем неизбежно появляется хаос: сотни DAG’ов, множество SLA и требований к метаданным, несколько команд с разными подходами к разработке. Для оркестрации загрузки и преобразования данных каждый день запускается более 200 DAG’ов, а для работы системы требуется около 1,5 ПБ данных из разных хранилищ.
Ключевая проблема таких проектов — соблюдение договорённостей и поддержка контекста. Есть прекрасная цитата Фредерика Брукса на эту тему: «Десять человек без процесса — это десять источников случайных ошибок. Два человека с процессом и общим контекстом — это работающий механизм».
Отраслевые последствия
Наша цель — избавиться от нужды постоянно синхронизироваться по спецификации и избежать задержек и рассинхрона при изменениях требований, делегировав проверки системе. Что такое Cluster Policies в AirflowCluster Policies (политики) — это механизм платформы Apache Airflow, который позволяет централизованно проверять и изменять объекты системы до запуска конвейера или в runtime. Политики превращают правила и договорённости в исполняемый код, который находится между ядром Airflow и вашим кодом DAG’ов.
Этот слой кастомизации Apache Airflow внедряют разработчики с доступом к развёртыванию кластера или администраторы платформы. Если инженер запушит некорректный код DAG, то в интерфейсе увидит сообщения:Для работы с Airflow мы используем Kubernetes, а экземпляр Airflow является коммунальным для нескольких команд разработчиков. При написании DAG’ов каждая команда использует свои договорённости.
Команде DE важно, чтобы название конвейера соответствовало определённому шаблону.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





