Администратор баз данных в сервис путешествий

Дата размещения вакансии: 24.10.2024
Работодатель: Туту.ру
Уровень зарплаты:
з/п не указана
Город:
Москва
Требуемый опыт работы:
От 1 года до 3 лет

Привет! Меня зовут Вадим, я руковожу одной из команд админов в Туту. Нас в команде 10 человек, и мы поддерживаем значительную часть инфраструктуры компании. Всего в компании более 900 сотрудников, из них около 300 в ИТ.

Мы работаем с бодрящим коктейлем из технологий: есть как проверенные временем, так и свежие, не сильно распространённые в стране.

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

Немного про стек

— LVS — ключевой элемент нашей HA.

— Ansible, Terraform — инструменты внутренней автоматизации.

— Стек мониторинга: Prometheus, PMM, Grafana.

— Стек сбора логов: Fuentbit — Kafka — Fluentd — Elastic.

Основные задачи

— Разворачивать существующей автоматикой новые сервисы БД (MySQL, MongoDB, Redis, PostgreSQL, ClickHouse), придумывать улучшения для этой автоматики.

— Реагировать на warning'и и алерты, отслеживающие аномалии и обычные события жизненного цикла софта (заканчивающееся место, к примеру).

— Находить причины нестабильного поведения сервисов и устранять их.

— Дорабатывать мониторинг, добавлять дашборды и алерты по итогам сбоев.

— Анализировать и выполнять изменения в схемах БД (редко, в случае их потенциальной опасности).

— Предоставлять разработчикам сервисы баз данных для preprod-окружений.

— Помогать разработчикам в сложных ситуациях, связанных с БД.

Зона ответственности DBA

— MariaDB — в ha-варианте с использованием proxySQL и Github orchestrator, немного подробостей есть на Хабре https://habr.com/ru/company/tuturu/blog/508872/. Всего около 50 продакшен-инсталляций с разными топологиями.

— MongoDB — replicaset-вариант с небольшой обвязкой для ha — порядка 30 разных репликасетов.

— Redis — отказоустойчивая конфигурация на базе Sentinel. Около 30 кластеров, из них несколько — прям очень высоконагруженных.

— PostgreSQL— в основном ha-инсталляции на основе patroni/pgbouncer — пока около 10 на каждой из сред, планируем наращивать использование.

— ClickHouse — только OLTP-нагрузка, без OLAP (это у другой команды) несколько инсталляций.

Мы сработаемся, если вы

— Работали с MySQL или PostgreSQL (в крайнем случае — с Mongo) на реальных проектах, в продакшене от двух лет, желательно — в Ecom.

— Хотите изучать те СУБД, с которыми пока не сталкивались.

— Любите помогать разработчикам, можете их услышать и понять.

— Умеете находить не первое подходящее, а самое рациональное решение проблемы.

— Не боитесь потока сервисных задач, способны расставлять между ними приоритеты.

— Пробовали разбираться в чём-то новом и/или странном с помощью логики и Google’а (в том числе англоязычного).

— Хотите работать в команде. Придётся много общаться, нужно будет и аргументировать свою точку зрения, и слушать и понимать других. Без этого — никуда.

— Не боитесь писать скрипты и знаете или хотите изучить Python.

— Готовы спокойно, быстро и чётко реагировать в случае сбоев — они бывают.

— Ничего не имеете против «Котиков» — наша команда называется именно так.

Кто уже в моей команде?

— Лёха. Ведущий DBA. Сделал отказоустойчивым весь наш парк MariaDB, с использованием ProxySQL, Github orchestrator и самописного «клея» на Питоне. Придумал архитектуру для HA-инсталляций Редиса и PostgreSQL. У Лёхи 15-летний опыт с MySQL, и он готов им делиться.

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

— Никита — в компании чуть больше полугода, специализируется в основном на PostgreSQL, успел обновить весь парк на Alma9, параллельно существенно упростил и упорядочил автоматику и сопроводил процесс импортозамещения в контакт-центре на стороне баз данных.

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

— Яша, придумал и внедрил центральный элемент нашего видения HA — балансировщики на базе LVS и эникаст-адресов. Развернул систему централизованного мониторинга на базе Prometheus (вместо Graphite) и пайплайн сбора логов Fluentbit — Kafka — Fluent вместо rsyslog — logstash, сделал distributed tracing на базе opentelemetry-стека.

— Антон, внедрил в компании Kafka, главный эксперт по этому сервису. Отвечает за инструменты управления облаками — главный по Terraform’у (мы живём в 5 ЦОДах https://habr.com/ru/company/tuturu/blog/508872/) и отвечает за слой фронтпрокси. Внедрил использование Vault в админской автоматике.

— Лёня. Специализируется преимущественно на инструментах мониторинга и логирования. Внедрил Pyroscope в Openshift для удобной профилировки продуктовых сервисов на Go, сделал пайплайн доставки логов аудита (Vector + ClicKHouse), развернул AWX. Сейчас переносит Sentry с VM-based инсталляции в Openshift.

— Виталий, отвечает за Envoy (фронтпрокси) и внутренние инструменты автоматизации вместе с Антоном. Запустил многопользовательский режим работы для нашего Terraform'a.

— Саша — разработчик, раньше занималась эксплуатацией монолитного приложения и кодила на php, а сейчас развивает инструменты внутренней автоматизации на Python. Из успехов — своя система управления доступами к MySQL/MongoDB/PostgreSQL на основе данных из Active Directory.

— Дмитрий — самый новый Котик, пока погружается в нашу инфру и инструментарий.

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

Как мы работаем

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

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

— Анализируем сбои и стараемся не допустить их повторения.

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

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

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

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

— Из регулярных встреч — командный созвон раз в неделю, one-to-one с Лёхой раз в неделю, стыковка по self review со мной раз в месяц. Всё остальное — по необходимости.

Что ждём

— Что вы вольётесь в команду и будете закрывать часть потока задач из нашего внутреннего service desk — как минимум по двум из наших СУБД.

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

Примеры задач из service desk

— Завести сервисного пользователя и БД в PostgreSQL.

— Перенести время бекапа БД Jira на ночь.

— Помочь разобраться с причиной возникновения дедлоков в MariaDB.

— Разнести репликасет MongoDB по разным ДЦ.

— Разобраться с ошибками на бекапном сервере PostgreSQL.

График работы

Есть полная удалёнка, работа из офиса или посещение офиса когда захочется. Это как вам удобнее.

Про компанию

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

— Сильный блог на Хабре, где пишут в том числе технари о своей работе.

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

Структура собеседований

— Первая встреча-знакомство с HR-менеджером и Вадимом на 1 час.

— Встреча с парой техспецов. Можно понять, достаточно ли профессиональна наша команда и комфортно ли вам с ней будет. Мы в свою очередь проверим ваши профессиональные знания и навыки ;)

— Финальная встреча с командой и её руководителем.