👀 Дизайнеры, с какой командой вы мэтчитесь по вайбам? Проверяйте на Вайб-чеке→ vibe.habr.com

Разработчик инструментов мониторинга

Местоположение и тип занятости

Полный рабочий деньМожно удаленно

Компания

Компания, которая развивает самую популярную в России поисковую систему и десятки других сервисов

Описание вакансии

Условия работы

Мы ищем разработчика в Мониторинг Яндекса — сервис для мониторинга инфраструктуры и приложений, о котором мы рассказывали на HighLoad и about:cloud.

Мониторинг обрабатывает 700 млн точек в секунду на запись и 100 млн точек в секунду на чтение, хранит 40 млрд точек и рассчитывает 1,5 млн алертов в секунду. Такие объемы требуют решения сложных задач по масштабированию и отказоустойчивости.

Мониторинг активно развивается — им пользуется подавляющее большинство команд Яндекса, а ещё он доступен в Yandex Cloud как сервис для всех желающих (пока в более ограниченной версии по сравнению с внутренним Мониторингом). Сервис построен поверх YDB — распределённой высокодоступной опенсорсной базы данных, разработанной в Яндексе.

Примеры наших задач:

  • научиться собирать не только метрики, но и логи, трейсы и другие сигналы сервисов;
  • улучшить в алертинге механику мьютов, агрегации и зависимостей проверок;
  • научиться масштабировать от десятков до сотен миллионов активных метрик в одном пользовательском проекте;
  • разработать новый UI Мониторинга с поддержкой трейсинга и логов;
  • реализовать trace discovery при помощи exemplars;
  • тесно интегрироваться с внутренним инфраструктурным облаком и упростить настройку мониторинга своих приложений в нём.

Что нужно делать:

  • писать асинхронный код на языке Java;
  • разрабатывать компоненты системы для эффективного сбора и хранения данных, быстрой обработки пользовательских запросов, устойчивой работы системы и взаимодействия со сторонними системами;
  • проектировать надёжную архитектуру, которая справится с нашими нагрузками;
  • работать с передовыми системами хранения и обработки данных;
  • оптимизировать сервис для высоких нагрузок.

Мы ждем, что вы:

  • пишете рабочий, поддерживаемый и тестируемый код на любом языке программирования;
  • интересуетесь высоконагруженными сервисами для разработчиков.

Будет плюсом, если вы:

  • знаете классические алгоритмы и структуры данных;
  • понимаете парадигму многопоточности, знаете основные алгоритмы и проблемы в этой области;
  • создавали распределённые системы и сервисы.