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 и не легаси-болото
* Небольшая команда, без бюрократии