⭐️ Бэкендеры, с какой командой у вас мэтч? Проверяйте на Вайб-чеке → vibe.habr.com

DevOps в data-команду путешествий

Местоположение и тип занятости

МоскваПолный рабочий день

Компания

Крупнейший сервис поиска, бронирования и покупки авиабилетов и ж/д билетов

Описание вакансии

Условия работы

Привет! У нас тут есть кластер clickhouse в качестве data lake на десятки Тб, большая инфраструктура аналитики, некоторое количество легаси и куча других странных игрушек. Всё это (кроме легаси) надо развивать. Туризм сейчас на пике после пандемии, продукты быстро растут, и у нас появилась куча запросов от команд, которые next-next-done не сделаешь. Поскольку мы откладываем в бэклог всё несрочное, без вас потихоньку начинают копиться технические риски, что у нормальных людей происходить не должно. В общем, вам предстоит:
— Поддерживать инфраструктуру платформы аналитики для приложения с 3 миллионами инсталлов и сайта с миллионом хостов в день.
— Развивать эту инфраструктуру и участвовать в архитектурном планировании.
— Поддерживать и развивать кластер clickhouse. Большая часть сложных запросов команд сейчас именно про него. Подробнее про этот кластер есть вот тут на Хабре: https://habr.com/ru/company/tuturu/blog/576632/
— Делать часть инфраструктурных задач (поддержка хранилищ, docker-хостов и так далее).
Полный бэклог можем показать на собеседовании.

Первые три крупные задачи на испытательный срок, предположительно, такие:
— Стабилизация работы clickhouse и подготовка к новой нагрузке. Целевое состояние — домик работает, пользователи не кричат, что что-то тормозит в недельных отчётах, мониторинг настроен, известные нам на момент постановки задачи ошибки не всплывают.
— Реализовать интеграцию с AD для clickhouse. 5 минут на добавление пользователя без участия нашей команды силами дежурного админа.
— Обновить metabase и наладить сборку необходимых драйверов (exasol и clickhouse).

Дальнейшие задачи будут касаться повышения качества данных, доставляемых до аналитики, снижение порогов входа для новых аналитиков, помощь командам в том, чтобы они могли быстрее принимать решения на основе используемых данных. То есть нужно будет настраивать clickhouse, exasol и др. хранилища и разбираться в механизмах их работы, писать автоматизацию для управления конфигурациями серверов (ansible + terraform), вводить и выводить из эксплуатации сервера, в перспективе взять на себя роль SRE для поддержки и безотказной работе некоторых сервисов в production под нагрузкой более 400 RPS, делать мониторинг, поддерживать пользователей: их сейчас около 100 человек, из которых 25 запрашивают что-то чаще, чем раз в день.

От вас нужно:
— 3 года опыта работы с инфраструктурой/базами данных.
— Опыт работы с гибкими методологиями разработки, потому что рынок сейчас быстро растёт, и приоритеты могут быстро поменяться, а это требует предусмотреть хотелки пользователей в архитектуре заранее.
— Использование и написание новых playbook для ansible или другой системы управления конфигурациями
— Docker на уровне администратора и достаточных навыков для решения проблем
— Опыт администрирования любой из БД
— Опыт использования инструментов observability и мониторинга (Prometheus, kibana, grafana, sentry, AppDynamics и пр.)

Будет плюсом python на уровне создания простых скриптов, kubernetes или openshift, kafka, clickhouse, опыт написания CI/CD pipeline. Полезно уметь работать с рисками и создавать прототипы в целях получения обратной связи от пользователей и на основе нее делать надежное решение.

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

Задачи предварительно формулируются руководителем. Дальше проводится аналитика, уточняются детали у постановщика и заказчика. Пишется план, обсуждается с командой, реализуется. На этой стадии ещё будут взаимодействия и с аналитиками, и с разработчиками команд. Набор проектов фиксируется на квартал, бьётся на спринты, планы по спринтам обсуждаются раз в две недели. 10-минутные стендапы каждый день, ретро по проектам, демо, если было важное для всей компании. Задачи проходят code review, если это код на долгие годы. Работаем в bitbucket, jira, confluence и miro.

Сейчас в команде:

  • Вова - devops и админ, многое сделал для упрощения релиза монолита туту.ру, написал часть инфраструктуры и инструментов тестирования, потом присоединился к нашей команде и собрал вторую версию кластера clickhouse с учетом накопленного опыта от первого кластера, сейчас стал полноценно решать задачи в роли разработчика и закончил несколько проектов на python и php. В общем, вакансия возникает как раз потому, что он переходит в разработку по нашему же инфраструктурному направлению.
  • Марина - занимается написанием сложных pipeline по сборке невероятно сложных витрин данных с множествами зависимостей из разных источников и pipeline надежной доставки данных до внешних систем, таких как CRM. Готовит AirFlow и микросервисами на python в openshift.
  • Юра - который не так давно к нам присоединился в роли разработчика и занимается проектом автоматических сверок данных и настройкой процесса мониторинга качества данных который должен будет обеспечить сопоставление сотен гигабайт данных между разными СУБД и API
  • Илья (это я) - помогаю команде в решении организационных вопросов, планирования работы команды и нахождения общего языка с нашими внутреними клиентами, но часть времени работаю "в поле" с крутыми ребятами в моей команде и решают задачки технического плана, помогаю нашим пользователям, участвую в обсуждении задач и решений.

Стек: несколько хранилищ некоторые замещают старые: clickhouse, exasol, mariadb, elasticsearch, redis, ВМ через ansible + python + terraform; очереди сообщений Kafka; код упаковывается в docker-образы и выкладываются через существующий CI/CD. Всё это едет в OpenShift или на docker-хосты. Мониторинг prometheus и grafana. Сложную логику пишем на python.

Офис в 10-15 минутах ходьбы от метро Нагатинская (БЦ "Ньютон-Плаза"). В офисе кухня с чаем/кофе/плюшками, зоны отдыха. Сейчас хотя бы раз в неделю собираться в офисе, готовность редко приезжать в офис будет плюсом. Раз в квартал индексируется зарплата и выплачивается премия, при нормальной работе 8,2% в год. ДМС со стоматологией, страховка на путешествия, возможна оплата конференций и курсов, есть премии за прочитанные книги. График 5/2. Обычно мы начинаем где-то между 9 и 11 утра.

Собеседование из трех этапов. Скрининг с руководителем (30-40 мин), потом с кем-то из команды (эти два этапа можно разбить, а можно провести в один день), потом финалка с HR и заместителем CTO.