Администратор баз данных
Мы связываем удивительный мир путешествий и открытий с обычными людьми, предоставляя удобные и полезные инструменты для планирования поездок
в инфраструктурную команду
Кто мы
путешественников, пользующихся нашими приложениями
крупнейших туристических онлайн-ресурсов в мире
штатных сотрудников, увлеченных путешествиями
+
400
на мировом рынке онлайн путешествий
20
млн
19
лет
30
топ
Вы:
И что у вас за команда?
Туту:
Привет! Меня зовут Вадим, я руковожу одной из команд админов в Туту. Нас в команде 8 человек и мы поддерживаем значительную часть инфраструктуры компании. Всего в компании примерно 400 сотрудников, из них 150 в IT. У нас нет совсем уж bleeding edge технологий, но достаточно много свежих и не сильно распространенных в стране. Мы прекрасно понимаем, что им, да и тому, как мы их готовим, всё равно придётся учиться, поэтому самое главное для нас не знание конкретных технологий, а выраженная ответственность за системы и умение нормально договориться в команде и с разработчиками. Будет много рутины, но из рутины часто вырастают задачи на автоматизацию или изменение архитектуры для повышения стабильности систем - на них можно очень сильно вырасти в профессиональном смысле.
Вы:
А кого вы ищете?
Туту:
Сейчас мы ищем Администратора баз данных
Немного про стек
  • mariadb - в ha варианте с использованием proxysql и github orchestrator, немного подробостей есть на хабре https://habr.com/ru/company/tuturu/blog/508872/. Всего около 50 продакшн инсталляций с разными топологиями.
  • mongodb - replicaset вариант с небольшой обвязкой для ha - порядка 15 разных репликасетов
  • redis - отказоустойчивая конфигурация на базе sentinel. Около 10 кластеров.
  • clickhouse - только OLTP нагрузка, пока всего одна HA инсталляция.
  • lvs - ключевой элемент нашей HA
  • ansible, terraform - инструменты внутренней автоматизации,
  • стек мониторинга: prometheus, pmm, grafana
  • стек сбора логов: fuentbit - kafka - fluentd - elastic
Основные задачи
Разворачивать существующей автоматикой новые сервисы БД (mysql, mongodb, redis), придумывать улучшения для этой автоматики
Реагировать на warning'и и алерты, отслеживающие аномалии и обычные события жизненного цикла софта (заканчивающееся место, к примеру)
Находить причины нестабильного поведения сервисов и устранять их
Дорабатывать мониторинг, добавлять дашборды и алерты по итогам сбоев
Анализировать и выполнять изменения в схемах бд (редко, в случае их потенциальной опасности)
Предоставлять разработчикам сервисы баз данных для preprod-окружений
Помогать разработчикам в сложных ситуациях, связанных с БД
От вас нужно
Любите помогать разработчикам, можете их услышать и понять
Умеете находить не первое подходящее, а самое рациональное решение проблемы
Не боитесь потока сервисных задач, способны расставлять между ними приоритеты
Готовы спокойно, быстро и четко реагировать в случае сбоев – они бывают
Пробовали разбираться в чем-то новом и/или странном с помощью логики и google'а (в том числе англоязычного)
Хотите работать в команде. Это, субъективно, самое главное. Придется много общаться, нужно будет и аргументировать свою точку зрения и слушать и понимать других. Без этого - никуда
Не боитесь писать скрипты и знаете или хотите изучить python
Работали с mysql или mongo на реальных проектах, в продакшне
Ничего не имеете против "Котиков" - наша команда называется именно так
Про команду и рабочий процесс
Кто в команде:

Леха. Ведущий DBA. Сделал отказоустойчивым весь наш парк mariadb, с использованием proxysql, github orchestrator и самописного «клея» на питоне. Сейчас "дожаривает" Redis, проводя тонкий тюнинг sentinel'ов. У Лёхи 15летний опыт с mysql и он готов им делиться.

Элина - самый первый админ в Туту - уже больше 10 лет в компании. Сейчас DBA и основной специалист по mongodb.

С ними двоими нужно будет взаимодействовать больше всего. Кроме них в команде:

Яша придумал и внедрил центральный элемент нашего видения HA — балансировщики на базе lvs и эникаст-адресов. Развернул новую систему централизованного мониторинга на базе prometheus (вместо graphite) и пайплайн сбора логов fluentbit-kafka-fluent вместо rsyslog-logstash. Сейчас занимается развертыванием distributed tracing решения вместе с Леонидом.

Антон внедрил в компании kafka, главный эксперт по этому сервису. Сейчас занимается развитием инструментов управления облаками - главный по terraform'у (мы живём в 5 ЦОДах https://habr.com/ru/company/tuturu/blog/508872/) и отвечает за слой фронтпрокси

Леонид. Специализируется преимущественно на инструментах мониторинга и логирования. Внедрил Pyroscope в Openshift для удобной профилировки продуктовых сервисов на go. Сейчас вместе с Яшей готовит инфру для Open Telemetry

Виталий - наш новичок, недавно в команде. Погружается в envoy (фронтпрокси), собирается развивать инструменты внутренней автоматизации - terraform и ansible.

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

Вадим (я) – бывший разработчик, а сейчас главный зануда команды. Помимо руководства помогаю ребятам с кодом, архитектурой и диагностикой сложных сбоев.
Как мы работаем:

Все новые конфигурации описываем кодом, храним в системе контроля версий. Из старого зафиксировано почти все, но не 100%.

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

Анализируем сбои и стараемся не допустить их повторения. Вот тут есть пример одного из самых эпичных — https://habr.com/ru/company/tuturu/blog/555274/

По всем сервисам собираем метрики и логи, делаем алерты.

По возможности автоматизируем типовые рутинные операции.

Рисуем и пишем документацию. Стараемся, но пока есть пробелы.

При выяснении требований напрямую общаемся с заказчиками из других команд.

Из регулярных встреч – командный созвон раз в неделю и one-to-one со мной (раз в неделю или две). Все остальное – по необходимости.
Что ждём:

Что вы вольётесь в команду и будете закрывать часть потока задач из нашего внутреннего сервисдеска.

На основе этого опыта сможете найти точки для автоматизации и оптимизации и, с помощью коллег, реализуете их.
Примеры задач из service desk:

расширить место на кластере (стандартный lifecycle сервисов)
починить fatal на препроде из-за недоступности БД
расточить монги отелей по cpu
завести новую базу данных в существующем кластере mongo
выполнить тяжелый запрос в продакшн БД
включить метрики по значения auto_increment полей, настроить алерт по ним
Про компанию
Основной офис в Москве недалеко от м. Нагатинская/Коломенская. В офисе горячие завтраки, зоны отдыха c VR, PS, музыкальные инструменты и классная атмосфера путешествий.
Работаем в гибридном формате: в офис приходим 1-2 раза в неделю, но возможна и полная удаленка.
Кандидатам из других регионов поможем с релокацией в Москву.
По результатам работы раз в квартал индексируется зарплата и выплачивается приятная премия.
Tech-преимущества
Современный стек; минимум монолита, 95% это микросервисы. Каждая команда определяет свой стек самостоятельно.
Команды в которых можно оказать большое техническое и продуктовое влияние. Возможность выбрать в какой команде вам интереснее работать.
Новая техническая инфраструктура, актуальная база знаний и документация благодаря которой легко влиться в проект.
Работаем по гибким методологиям: agile.
С заботой о сотрудниках
ДМС со стоматологией и страховка на путешествия.
Корпоративная скидка на сервисы по работе с психологом: Альтер и Ясно.
Личный бюджет на профессиональное развитие, а также премии за чтение книг.
Развитая корпоративная культура: собираемся в клубы по интересам, а компания помогает с частичным финансированием.
Этапы собеседований:
1
2
3
Общение с HR менеджером

Телефонное собеседование на 15−20 минут, перед знакомством с командой.
Техническое интервью

Онлайн встреча с парой тех-спецов, чтобы познакомиться с вашим опытом и навыками
Финальная встреча

Общение в формате диалога с руководителем, возможность задать все вопросы о тонкостях работы в команде.