Ну проще запустить параллельно 2 airflow и поочередно переносить даги,

не? Сломался - тут же разбираешься почему. А да! Обновления AF как-то кривовато работает. Хызы почему. Не стали разбираться

18 ответов

11 просмотров

Можно, но один общий Airflow на всю компанию этот процесс только усложняет (изначальный поинт именно в этом). Во-первых, он резко перестает быть одним, все начинают путаться, что у них где, что перенесено и что нет. Во-вторых, всех подгоняют с обновлением на новую версию, потому что старый инстанс будет отключен через N дней. Но не все команды могут выделить время на такие процедуры, им нужно перенести ресурсы с остальных своих задач, и обновление затягивается. В-третьих, в новых версиях могут быть баги в самом Airflow или операторах, которые не позволяют некоторым командам перейти на новую версию, и они вынуждены оставаться на старой. И чем больше разных пользователей в одном Airflow, тем больше там разных операторов, и выше вероятность таких проблем, соответственно перенос затягивается ещё сильнее. Добавим сюда ещё и вопрос постоянной синхронизации connection, variables между разными инстансами (кто главнее, старый инстанс или новый?). В общем, зачастую такие подходы превращаются в какое-то мессиво с непонятным сроком окончания, все орут и толкаются, как в электричке на дачу в пятницу вечером. А если у каждой команды свои Airflow, то они сами могут решать, с какой скоростью они могут все обновить. У них меньше дагов для переноса, соответственно меньше разных операторов, connection, variables, и связанных с ними проблем.

Владислав-Lazycat Автор вопроса
Максим Мартынов
Можно, но один общий Airflow на всю компанию этот ...

ну вообще, имхо. все зависит от количества дагов и бюджета (как обычно). месиво может быть, но по сути это вопрос организационный. проблемы уменьшаются, если переводом на новую версию занимается одна команда а не несколько. о том, что "будет отключен через N дней" тема еще та. зачем торопливость нужна, не понимаю. Но вообще согласен - один airflow на всю компанию, несколько неудобно.через определенное время разбираться в чужих дагах очень сложно. особенно если их накопилось много.

Владислав Lazycat
ну вообще, имхо. все зависит от количества дагов и...

> если переводом на новую версию занимается одна команда Только команда, которая написала даг, знает в деталях, как он работает, и соответственно как решать проблемы, связанные с его переносом на новую версию Airflow. Откуда все эти нюансы знать команде поддержки самого Airflow? > зачем торопливость нужна Без дедлайна никто переходить на новый инстанс не будет, всегда есть дела поважнее

Владислав-Lazycat Автор вопроса
Максим Мартынов
> если переводом на новую версию занимается одна к...

в большинстве случаев, коренного различия нет между версиями. ну может разве синтаксис питона поменяется 😉. Классы базовые не особо меняются. пока особо не встречал. чтобы что-то не работало прям совсем. Если хардкода нет в дагах, то плюс-минус все лечится. а зачем вообще кого-то оповещать о том что они будут переходить на новый инстанс? перевели даг - сказали, перевели - сказали. новые даги - пишут только под новую версию. Вопрос организационный , не более.. Проблема может возникнуть если денег не дают на два параллельных инстанса AF. Вот в этом случае да, тут 100500 раз подумаешь надо ли переводить. А в целос, я пока только сплошные бенефиты вижу от перевода на более новые версии. Динамический маппинг тасков, потом динамический маппинг групп появился. ну и т.д.

> зачем вообще кого-то оповещать о том, что они будут переходить на новый инстанс? Лол, как это должно работать? Адрес нового инстанса в мозг телепатией передается? Никто не будет задавать вопросы, какие даги вообще актуальные и нужно переносить, и будет перенесено все подряд, даже нерабочее старье? А если даг сейчас в активной фазе доработки, но его уже перенесли в старой версии, не консультируясь с DE? Как насчёт TriggerDagOperator? Как насчёт мониторинга запусков дагов и тасок?

Максим Мартынов
Можно, но один общий Airflow на всю компанию этот ...

Все красиво расписали, но поверьте, нежелание людей обновлять что либо связано не с этим, а с консерватизмом. Поэтому вот вообще пофиг, один стенд airflow в проде или у каждого свой персональный - обновляться вы будете все равно тогда, когда кого-то достанет сидеть на старой версии, а не потому, что пофиксили баг или выкатили нужную фичу...

Давайте на чистоту, многие DE давно поняли, что airflow - это оркестратор, а не etl. Поэтому, в большинстве своем, у нормальных людей таски в изоляции контейнеров и никак не зависят от самого airflow... Править надо только логику, если она меняется у самого airflow, возможно проблемы с коннектами к другим базам из-за смещения провайдеров. Все остальное, что вы описали как проблема - не проблема 😬

Максим Мартынов
> зачем вообще кого-то оповещать о том, что они бу...

У вас большие проблемы с пониманием ci/cd и его реализацией...

Vladislav 👻 Shishkov
Давайте на чистоту, многие DE давно поняли, что ai...

И это прекрасно, если все так и обстоит. Но реальность бывает менее радужная, а давать советы вида "у нас один Airflow на всех, и нам норм" так вообще за гранью

Владислав-Lazycat Автор вопроса

Ну перенос настроек теоретически тоже можно впихнуть в cicd. Но настройки делаются один раз при настройке AF. Далее, тут происходит путаница. Одно дело апгрейд AF, другое - написание дагов и третье деплой этих дагов. Надо разделить эти вещи и все. Для меня лично, один или несколько af это всего-лишь вопрос управления AF. Отслеживать 30 дагов намного легче чем 400. Поэтому да, я бы использовал несколько. Но исключительно из-за удобства.

Владислав Lazycat
Ну перенос настроек теоретически тоже можно впихну...

Разделение да, но обновление Airflow затрагивает все части пазла

Vladislav 👻 Shishkov
Все красиво расписали, но поверьте, нежелание люде...

Так раздельные инстансы шедулеров и всего остального как раз помогают. Команда Ы взяла и перешла. Команда Х еще два года сидит на старом стеке и путоне 2 т.к. на техдолг нет времени Все довольны 🤷‍♂

Vladislav 👻 Shishkov
Давайте на чистоту, многие DE давно поняли, что ai...

Начистоту если - все давно поняли, но никто ничо с этим не делает, пишут как писали до. И все в одном виртуалэнв монстре 😁

Сиплый
Так раздельные инстансы шедулеров и всего остально...

С чего помогает? Все усложняется поддержкой 100500 стендов со 100500 версий и психологию людей этим не обойти...

Vladislav 👻 Shishkov
С чего помогает? Все усложняется поддержкой 100500...

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

Vladislav 👻 Shishkov
С чего помогает? Все усложняется поддержкой 100500...

Эт если 1 централизованная команда дагописателей

Похожие вопросы

Обсуждают сегодня

Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
Чет мне ссыкотно опять Rainlab.User в проект ставить. Кто знает, опять наотъебись все сделали или после обнов пользоваться можно?
Black Cat
10
ребят, привет есть ли возможность мигрировать Policies + Auth Methods из нескольких Vault в один? пытаюсь сократить Vault кластера, немного не удобно что для каждой тестовой ...
azadevlab
2
Всем привет. Кто подскажет, как сделать авто обновление стороннего модуля при запуске контейнера. Мб есть команда при запуске контенера или в докер файле нужно приписать настр...
Trum_t Malyuzhenets
1
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
это группа токсиков или тех кто помогает?
Ибрагим
9
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
Загрузил на свой сервер, теперь обычные прямые ссылки без query параметров и возможных ограничений, всё равно та же ошибка. Неужели скачивать из VK и перезаливать в TG кажд...
Alexey S
2
Карта сайта