Ведущий системный инженер Linux (Senior DBA)
Требования
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
Мы в Skyeng меняем традиционное образование с помощью технологий. Сейчас в нашей IT-команде более 500 сотрудников, включая 200+ разработчиков. Наша разработка — это 49 независимых и быстрых продуктовых команд с опытными тимлидами и продактами.
Наши продукты — это онлайн-платформа Vimbox, Android и IOS-приложения, словари, браузерные расширения, внутренние CRM и финансовые системы. В 2020 году Skyeng вошел в топ 10 IT-компаний России.
За что отвечает Ведущий системный инженер Linux (Senior DBA) в Skyeng:
- Стабильную работа production инфраструктуры, серверов;
- За стабильную работу всех СУБД в production. Нам нужен инженер который будет специализироваться на базах данных и кому интересно этим заниматься.
Стек технологий:
- У нас гибридная инфраструктура из облачных решения и on premise в нескольких ЦОДах;
- ОС Debian, Nginx, Redis, Memcached, k8s;
- Postgresql 11, 9.6 (мало);
- MySQL 5/8;
Для высокого uptime СУБД необходимо обеспечивать развитие следующих направлений:
- Автоматизированная отказоустойчивость - мы умеем переносить нагрузку на реплики, проводим регулярные учения и есть Disaster Recovery планы, но хотим автоматизировать этот процесс для снижения времени простоя;
- Мониторинг - у нас есть отличные дашборды с различными метриками производительности СУБД, но не хватает проактивного элемента, мы хотим узнавать о проблемах до того как они перейдут в аварию. Мониторинг на базе Prometheus + Alertmanager;
- IaC - мы используем Ansible для управления инфраструктурой и пользователями СУБД, есть самописные роли;
- Анализ корректной работы проектов с СУБД - у нас есть понимание как себя должен вести хорошо написанный SQL запрос, мы хотим измерять насколько качественно проекты работают с СУБД и давать командам разработки обратную связь для исправления проблем до того как они приведут к аварии;
- В перспективе перейти к модели работы DBaaS (Database as a Service), автоматическому предоставлению ресурсов СУБД с нужным SLA под проект в виртуализированной среде (inhouse виртуализация);
Наша инфраструктура:
- ~300 продуктивных сервера, как в облаках так и on premise;
- ~500 баз данных на нескольких десятках серверов и RDS;
- ~400 сервисов в prod, из них ~300 в k8s кластерах (почти закончили миграцию из swarm), и остальные в облаке или на on premise;
- Backend всех сервисов написан на PHP, 85% на фреймворке Symfony;
Ближайшие планы:
- Q3
- миграция реплик в виртуализированное окружение, все новые кластера PgSQL создаются в виртуалках + Patroni;
- реализация сервисов по автоматическому выделению новых кластеров PgSQL по запросу;
- реализация сервиса по анализу не оптимальных SQL запросов и предоставление этой информации разработчикам;
- Q4 - миграция мастер серверов в виртуализированное окружение;
- Q1 2023 - реализация DR, все БД должны иметь реплику на удаленной площадке + механизм контроля целостности данных и переключения нагрузки в случае отказа основного ЦОДа;
Для общения и документации у нас современные инструменты: Slack, Google Meet, JIRA, Confluence, Github
Мы не любим бюрократии: мы не боимся ошибаться, а если так происходит, то проводим post mortem, разбираем ошибки и работаем дальше
Чем тебе предстоит заниматься:
- Реализация и развитие подхода DBaaS в компании;
- Проектирование и реализация инфраструктуры СУБД в географически распределенной среде;
- Реализация и поддержка связанных с СУБД сервисов для удобства управления, контроля производительности, предоставления обратной связи командам разработки о качестве работы БД сервисов в production;
- Обеспечение отказоустойчивости и доступности баз данных: PostgreSQL, MySQL;
- Автоматизация управления инфраструктурой СУБД на базе Ansible (включая CI/CD для ролей, написание своих модулей);
- Реализация и поддержка инфраструктуры резервного копирования и восстановления БД на базе WAL-G;
- Реализация и поддержка мониторинга СУБД (стек на базе Prometheus);
- Оптимизация производительности БД;
- Обеспечение информационной безопасности БД;
- Взаимодействие со смежными командами;
У нашего кандидата:
- Опыт администрирования ОС Linux от 3 лет;
- Опыт управления СУБД как IaC при помощи Ansible;
- Опыт администрирования PostgreSQL, MySQL от 3 лет;
- Опыт работы с высоконагруженными базами данных PostgreSQL, MySQL, доступных в режиме 24х7;
- Опыт работы с Patroni;
- Знания и опыт настройки репликации, резервирования, резервного копирования БД;
- Опыт оптимизации работы СУБД, SQL запросов;
- Опыт работы с Grafana, Prometheus, опыт реализации экспортеров для СУБД PgSQL;
- Опыт разработки на PHP или Python или Go;
Мы предлагаем тебе:
- Менять образование — это важная цель в глобальном масштабе, делать социально-важное нереально круто, попробуй!
- Сильная команда. Средний уровень разработчиков в компании — senior. Есть чему поучиться, есть с кем обсудить то, что уже знаешь;
- Уникальный опыт: действительно сложные проблемы, которые можно встретить только в нагруженных проектах и сильно растущих компаниях;
- Учимся сами: регулярные доклады разработчиков внутри компании, участие и выступления на конференциях;
- Скидка 50% на уроки английского каждому сотруднику и другу;
- Конференции, профессиональные курсы, выбирай и учись с оплатой от компании;
- Можно влиять на компанию и её процессы;
- Работа в большой и амбициозной IT-компании с процессами, но без бюрократии;
- Можно расти вместе со школой. Skyeng растет в 3 раза каждый год, сотрудники растут быстрее;
- Можно работать удаленно из любой точки мира, а также из нашего уютного офиса в Москве (м. Таганская). Выбор за тобой.