DevOps Engineer

О проекте

Распределённая система из множества микросервисов на Node.js, деплоящихся через Docker и Docker Compose. Сервисы общаются через RabbitMQ, данные хранятся в MariaDB. Есть legacy API на PHP. Инфраструктура работает, но выросла органически — без мониторинга, с ручным деплоем, без централизованных логов. Твоя задача — это исправить.

Важный момент: большинство инструментов и сервисов — self-hosted. Вся инфраструктура крутится на VPS у разных провайдеров — мы не используем единую облачную платформу, поэтому важно уметь работать с разнородным окружением.

Что предстоит сделать:

* Настроить мониторинг серверов и всей системы микросервисов — CPU, RAM, диск, статусы сервисов, метрики из RabbitMQ

* Построить централизованное логирование — собрать логи со всех сервисов в одно место, сделать удобный поиск

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

* Сделать дашборды — состояние инфраструктуры и сервисов в одном экране

* Убрать ручной деплой — автоматизировать через CI/CD и Ansible

* Настроить резервное копирование — базы данных, volumes, ротация и проверка бэкапов

* Навести порядок в оркестрации — healthcheck, restart policies, управление зависимостями между сервисами

Стек с которым предстоит работать:

* Docker, Docker Compose

* Ansible

* GitLab / Bitbucket — CI/CD пайплайны, self-hosted

* Prometheus + Grafana (или предложи альтернативу с обоснованием)

* Loki / ELK для логов — self-hosted

* MariaDB

* RabbitMQ

* Linux (Ubuntu/Debian)

Что важно:

* Реальный опыт построения мониторинга с нуля, не только поддержка чужого

* Уверенное владение Ansible — плейбуки, роли, идемпотентность

* Глубокое понимание Docker в продакшене — не просто "запустить контейнер"

* Опыт настройки бэкапов и понимание того, как их проверять

* Комфортная работа с разнородной инфраструктурой — VPS у разных провайдеров, без единой управляющей платформы

* Комфортная работа с self-hosted инструментами — умение поднять, настроить и поддерживать самостоятельно

* Умение объяснить что и зачем ты делаешь — команда небольшая, решения принимаются совместно

Будет плюсом:

* Опыт с Nomad

* Опыт работы с Telegram Bot API для алертов и нотификаций

* Знание S3-совместимых хранилищ для бэкапов

Что мы предлагаем:

* Удалённая работа

* Реальный технический вызов — система живая, не greenfield и не легаси-болото

* Небольшая команда, без бюрократии