Разработчик на Java в команду Alerting & Notifications (Monium)
Наши сервисы — часть платформы Monium — позволяют создавать алерты и уведомлять об изменении состояний через каналы нотификаций (телеграм, телефонные звонки, клауд-функции и др.). Наша цель — предоставить пользователю лёгкий и быстрый способ получить однозначный ответ о состоянии систем в любой момент. Почти все команды Яндекса пользуются возможностями платформы для мониторинга состояния своих сервисов — как внешних, так и внутренних. Кроме этого, сервис доступен пользователям Yandex Cloud.
Наша команда отвечает за развитие и поддержку четырёх основных сервисов:
- Алертинг — сервис, рассчитывающий пользовательские алерты поверх метрик. Мы предоставляем возможность создавать различные виды алертов (PromQL-подобные выражения, SLO-алерты, алерты на аномалии с применением ML-алгоритмов, агрегаты над алертами).
- Сервис уведомлений, который позволяет задать шаблон и через единый API отправлять в SMS, мессенджерах и по телефону и простые уведомления, и их сложные последовательности («Напиши, а если не ответили в течение 10 минут — позвони»).
- Система событийного мониторинга, которая позволяет формировать верхнеуровневое (агрегированное) состояние сервиса на основании входных данных о его здоровье из разных источников (а это десятки миллионов уникальных событий) по правилам, заданным пользователем.
- Система синтетического мониторинга — новый сервис платформы — позволяет настраивать проверки по типу пинговалки: проверку живости хоста, проверку сертификатов.
Какие задачи вас ждут
- Масштабировать системы в соответствии с ростом нагрузок. Стабильный рост нагрузки (порядка 30% в год) требует проводить регулярное масштабирование: искать узкие места, заниматься RnD вариантов решения, реализовывать горизонтальное масштабирование.
- Внедрять отказоустойчивость. Если алертинг не работает — пользователи остаются без приборов по своему продакшену и могут пропустить проблему, которая приведёт к серьёзному инциденту. Поэтому необходимо, чтобы алертинг успевал просчитывать все алерты и был отказоустойчив. Вам предстоит реализовать режим работы hot-standby в балансировщике, причём так, чтобы во время отказа стойки или модуля в дата-центре мы не потеряли обе реплики. Помимо этого, нужно изолировать проекты, чтобы проблемы одного не влияли на другие.
- Прорабатывать технические и продуктовые решения для пользовательских сценариев. Наши пользователи — это такие же разработчики, как и мы сами. Проблемы, с которыми сталкиваются пользователи, актуальны и для нас. Поэтому разработчики всегда участвуют в обсуждении и проработке и технических, и продуктовых решений.
- Упрощать пользовательские сценарии работы с алертами. Первое, с чем сталкивается пользователь, — как завести алерт для конкретного сценария.
- Разрабатывать общую платформу. Понадобится адаптировать существующую функциональность для запуска в Yandex Cloud с доступом внешних пользователей, а также для создания единой monium platform для других сотрудников компании.
Мы ждём, что вы
- Умеете писать и понимаете многопоточный код: весь алертинг работает асинхронно с использованием акторной модели.
- Готовы писать код на Java и Go (соотношение 80% на 20%).
- Понимаете ключевые аспекты построения отказоустойчивых распределённых систем.
Бенефиты работы в Яндексе
- Здоровье
- Рост и развитие
- Спорт
- И ещё
Больше о бенефитах здесь.
Yandex Cloud
Карта