Разработчик бэкенда в Yandex Monitoring
Навыки
- Алгоритмы и структуры данных
- Cassandra / Scylla
- C++
- Дашборды и витрины
- Datadog / New Relic
- Дисциплина
- Распределённые системы
Ещё 16
- Go
- Grafana
- Jaeger / OpenTelemetry
- Java
- Kubernetes
- Микросервисы
- Мониторинг и observability
- Prometheus
- Retention и отток
- SQL: оконные функции, CTE
- SRE-практики
- Статистика
- Telegram-канал
- Временные ряды
- Yandex Cloud
- YDB
О компании и продукте
- Мы строим платформу Observability, которая обрабатывает миллиарды семплов в секунду, хранит петабайты данных и должна работать даже тогда, когда всё вокруг горит
- Мы каждую секунду обрабатываем 2,5 миллиарда семплов на запись и 2 миллиарда на чтение, каждую минуту рассчитываем 18 миллионов алертов, храним 8 петабайт исторических данных. Такие объёмы требуют решения сложных задач масштабирования и отказоустойчивости
- Помимо этого, мы разрабатываем слой совместимости с Prometheus, что позволяет клиентам Yandex Cloud пользоваться привычными инструментами и не думать о масштабировании собственных средств мониторинга. Бо́льшая часть компонентов на Java (мы стараемся использовать самые свежие версии). Небольшая часть на C++. Данные и метаданные хранятся в YDB. Какие задачи вас ждут Динамическая агрегация метрик. Агрегаты на записи существенно ускоряют вычисления для запросов с большой кардинальностью (например, когда нужно посчитать RPS не для одного сервера, а для кластера из тысяч машин). Однако пользователи не всегда знают заранее, по каким измерениям им потребуются агрегаты, а создавать их для всех возможных комбинаций невозможно. В чём вызов?
- Мы разрабатываем систему, которая станет динамически разделять и объединять части индекса в зависимости от нагрузки и паттернов доступа. В чём вызов?
Задачи
- Разработчик бэкенда в Yandex Monitoring
- Если вы любите копать глубоко, не боитесь сложных технических вызовов и считаете, что высоконагруженная Java — это не оксюморон, то нам есть о чём поговорить
- Станислав Каширин
- Руководитель группы Observability Metrics
- С приходом микросервисов архитектура даже простых систем стала гораздо более распределённой
- Чтобы понимать, что происходит с сервисом в конкретный момент, нужны подходящие инструменты: метрики, трейсы, логи, алерты, дашборды и т. д
- Платформа Monium помогает нашим пользователям легко и быстро получать однозначный ответ о состоянии своих систем в любой момент
- Yandex Monitoring — часть платформы, отвечающая за количественный мониторинг инфраструктуры и приложений
- Как построить надёжный пайплайн сбора и обработки метрик, позволяющий опрашивать миллионы эндпойнтов?
- Как хранить миллиарды уникальных временных рядов, чтобы их можно было мгновенно найти?
- Как равномерно распределять stateful-нагрузку между тысячами серверов и эффективно утилизировать ресурсы в мультитенантной системе?
- Мониторинг активно развивается — его используют почти все команды Яндекса, а также внешние пользователи сервисов Yandex Cloud
- Такие агрегаты можно рассматривать как своего рода индексы в классических базах данных — ускоряя сценарии чтения, мы неизбежно замедляем запись
- Нам нужно разработать интеллектуальный метод, который на основе статистики будет понимать, когда агрегаты действительно нужны и стоит создать новые правила агрегирования, а когда агрегат больше не используется и можно освободить ресурсы
- Антиэнтропийные механизмы для распределённого хранилища
- Для надёжности мы храним данные в нескольких репликах, но значения между ними могут расходиться
- Нам нужно разработать механизм, который будет обнаруживать и устранять такие расхождения, не замедляя основной процесс записи
- В чём вызов?
- Механизмы синхронизации данных могут нарушать порядок записей, что критично для алгоритмов сжатия временны́х рядов (например, Gorilla encoding)
- Нужно создать решение, которое будет работать быстро и при этом сохранять эффективность сжатия данных
- Auto Split/Merge для шардирования индекса
- Обратный индекс даже для метрик одного сервиса может быть настолько велик, что не уместится в памяти одной машины
- Разработать стабильный алгоритм, который будет не слишком часто перераспределять данные, создавая лишнюю нагрузку на сеть и процессор, но при этом эффективно реагировать на изменения в характере данных, особенно с учётом высокого churn rate в Kubernetes-окружениях
- Развитие движка вычисления запросов
- В нашем движке запросов большое пространство для оптимизаций: от переноса расчёта агрегатных функций ближе к данным до реализации стриминговой обработки и параллелизации вычислений
Требования
- Разрабатывали высоконагруженные отказоустойчивые распределённые системы
- Понимаете принципы многопоточного программирования, знакомы с основными подходами, проблемами и ограничениями в этой области
- Знаете классические алгоритмы и структуры данных, умеете выбирать оптимальные для конкретных задач
- Оптимизировали производительность: умеете профилировать код, находить узкие места, оптимизировать работу с памятью и CPU
- Готовы копать глубоко: читать исходники JVM, патчить сторонние библиотеки, расследовать сложные инциденты
- От 5 лет
- Глубоко знаете Java: понимаете устройство JVM, GC, JIT, модель памяти, знакомы с JMH, JFR, async-profiler
Будет плюсом
- Участвовали в разработке систем хранения и обработки данных
- Интересовались устройством Prometheus, Apache Cassandra, Apache Druid
- Знакомы с принципами Mechanical Sympathy и Data-Oriented Design
- Работали с системами мониторинга (Prometheus, Grafana, Datadog и др.)
- Умеете читать код на Go и C++
- Смотрите другие вакансии направления Yandex Cloud Monium по ссылке
- Больше о команде Подписывайтесь на телеграм-канал Inside Yandex Cloud , чтобы узнать больше про нашу команду и технологии!
- Как в Яндексе проходят алгоритмические секции собеседований
- Как мы нанимаем бэкенд-разработчиков
- Задачи для подготовки к собеседованиям
Условия
- Гибридный
- Удалённая работа
- Меня зовут Стас, я руковожу командой Observability Metrics
Паспорт вакансии
История публикации
Появилась в Вакандии28 дней
Перепубликациинетпубликовалась один раз
Проверяли на источникеВидели 28 дней назад
Среди похожихНет данных64 из 30 · у похожих вакансий почти одинаковый возраст — сравнивать нечего
Откуда что взялось
Отмечено то, что вывели мы. Без пометки — значение назвал работодатель.
ГрейдMiddleвыведено из другого признака
Формат работыГибридвычитано из текста вакансии
Географияне указана
Зарплата≈ 230 217 RUB в месяцнаша оценка, в вакансии не названа
Почему на этом месте в выдаче
Порядок выдачи объявлен контрактом: свежесть решает между днями, полнота и зарплата — внутри дня.
Полнота карточки753 из 4 полей: грейд, формат, география, зарплата
Зарплата названа0вилки работодателя нет, показана наша оценка
Проверка Вакандии
Источники и свежесть
- Тип источника
- Карьерный сайт работодателя
- Найдено публикаций
- 1
Посмотреть публикации и даты
- careerОсновная публикация · 2026-03-31
Безопасность
Отклик уходит на сайт источника
Вакандия показывает вакансию, но не отправляет отклик и не проверяет работодателя. Сам отклик вы оставляете на внешнем сайте — yandex.ru.
Признаки мошенничества
- Просят предоплату, «залог» или деньги за обучение и оборудование.
- Требуют код из SMS, данные банковской карты или доступ к «Госуслугам».
- Быстро уводят в мессенджер и торопят с решением.
- Обещают большой доход без опыта и без деталей задач.
Настоящий работодатель не просит денег и платёжных данных до трудоустройства.
Продолжить поиск
Похожие вакансии
Причина сходства указана на каждой карточке
Подробнее - Подробнее
Почему похожа: похожая специализация · тот же формат
Senior Python Developer – Vilnius
- Senior
- Гибрид
- Вильнюс, Литва