DevOps-инженер (middle)
Описание
О продукте Examus — система прокторинга: контроль честности экзаменов в онлайне. Нами пользуются вузы и компании, среди сценариев — приемные кампании, внутренние и внешние экзамены, сертификации. Нагрузка сезонная и пиковая: в дни экзаменов тысячи одновременных сессий с видеопотоками, а стоимость простоя измеряется сорванными экзаменами у конкретных людей. Это накладывает требования к доступности выше среднего по рынку. Инфраструктура, с которой предстоит работать Облачная инфраструктура в VK Cloud, объектное хранилище в Yandex Cloud Backend Python/Django + DRF, Celery (worker и beat), Node.js + Socket.IO для сигналинга WebRTC PostgreSQL (в том числе managed), Redis Балансировщики нагрузки облачного провайдера, DNS, TLS, TURN/STUN (Coturn) Коробочные поставки продукта на инфраструктуре заказчиков: docker compose, установочные скрипты Кластеры Kubernetes сопровождает внешний подрядчик по модели managed. Эксплуатация Kubernetes в зону ответственности этой роли не входит — от вас нужно умение ставить подрядчику задачи и проверять результат, а не администрировать кластер. Задачи Мониторинг и алертинг. Довести наблюдаемость до состояния, когда деградация компонента видна до того, как о ней сообщил клиент: метрики, логи, трейсы, осмысленные алерты, дежурные сценарии реагирования. Отказоустойчивость приема трафика. Убрать единые точки отказа в схеме балансировки, DNS и публикации сервиса, обеспечить предсказуемое переключение и проверяемое восстановление. CI/CD. Развитие пайплайнов сборки и выката, сокращение времени и риска релиза, воспроизводимые окружения. Инфраструктура как код. Перевод конфигураций в код, версионирование, отказ от ручных изменений в проде. Коробочные поставки. Упаковка и сопровождение установки продукта в закрытых контурах заказчиков, поддержка внедрения. Работа с инцидентами. Участие в разборе аварий, ведение постмортемов, доведение мер до внедрения, а не до протокола. Взаимодействие с облачными провайдерами и подрядчиками. Постановка задач, контроль сроков и SLA, эскалация, проверка того, что заявленное подрядчиком действительно сделано. Что мы ждем От 3 лет в эксплуатации production-инфраструктуры Уверенный Linux и сеть: TCP/IP, DNS, TLS, маршрутизация, умение локализовать проблему между приложением, облаком и сетью провайдера Docker, docker compose Опыт с системами мониторинга (Prometheus, Grafana или аналоги), настройка метрик и алертов с нуля CI/CD: GitLab CI, GitHub Actions или аналоги Инфраструктура как код: Terraform, Ansible или аналоги Скриптование: Bash, Python Опыт эксплуатации сервисов в российских облаках Способность самостоятельно вести задачу до результата и внятно писать: постмортемы, схемы, инструкции Будет плюсом Опыт работы с внешними подрядчиками по эксплуатации: постановка задач, приемка, спор по SLA Базовое понимание Kubernetes на уровне пользователя: посмотреть логи, состояние подов, разобраться, где проблема, и корректно передать ее подрядчику Эксплуатация PostgreSQL под нагрузкой: репликация, бэкапы, проверка восстановления Опыт с WebRTC, TURN/STUN, видеотрафиком Опыт поставки продукта в закрытые контуры заказчиков (on-premise, изолированные сети) Понимание требований регуляторов к размещению данных, опыт прохождения проверок ИБ Участие в дежурствах и выстраивании процесса on-call Что предлагаем Влияние на архитектуру эксплуатации: роль создается, чтобы выстроить процессы, а не поддерживать чужие Прямой контакт с руководством, короткий путь принятия решений Продукт с реальной нагрузкой и понятной ценой отказа — виден результат работы Оформление по ТК + ДМС после испытательного Вопрос для отклика Ответьте, пожалуйста, в сопроводительном письме — по ответу мы поймем, как вы думаете, и это ускорит нам разговор: Представьте: во время экзамена часть пользователей теряет соединение, но сервис в целом «зеленый» — все дашборды в норме. Клиент пишет раньше, чем сработал алерт. С чего вы начнете и как сделаете так, чтобы в следующий раз система увидела деградацию до звонка клиента? Ответьте в двух-трех абзацах, нам важен ход рассуждений, а не готовый рецепт. Отбор Короткий созвон-знакомство (30 минут) Техническое интервью с разбором рабочих кейсов (60-90 минут) Финальная встреча с руководством, обсуждение условий Общение строго через hh.ru