Разработчик системы трейсинга

Яндекс·Russia·Удалённо, Офис·сегодня

Мы — команда, которая отвечает за разработку и развитие распределённой системы трассировки внутри observability-платформы. Наша система используется повсеместно в Яндексе и Yandex Cloud: она помогает инженерам анализировать производительность, выявлять инциденты и понимать поведение сложных распределённых систем.

Это критически важная и высоконагруженная инфраструктура, через которую ежедневно проходят миллиарды трассировок от сотен микросервисов. Надёжность и производительность нашего решения напрямую влияют на устойчивость ключевых сервисов Яндекса.

Трейсинг в числах:

  • 20 ГБ/с поток на запись
  • Миллиарды трассировок в день
  • Кластер обработки данных: 600 контейнеров, 3600 CPU, 9 ТБ RAM
  • 5 ПБ хранилище в ClickHouse

Технологический стек:

  • Язык: Golang
  • Протоколы: gRPC, HTTP, Protobuf
  • Хранение: ClickHouse, YDB
  • Observability: OpenTelemetry, Jaeger
  • Оркестрация: Kubernetes, внутренняя облачная инфраструктура Яндекса

Масштабирование и повышение доступности системы
Необходимо обеспечить стабильную работу системы распределённого трассирования в условиях роста нагрузки. Это включает в себя анализ текущих узких мест, проектирование и внедрение решений для горизонтального масштабирования, отказоустойчивости и балансировки нагрузки. Вам предстоит работать с распределённым хранилищем трасс, компонентами ingestion и обработки, а ещё вместе с командой создавать стратегию обеспечения высокой доступности (high availability) всей системы.

Разработка горячего хранилища
Вы будете участвовать в разработке подсистемы горячего хранения трассировок, в которой данные временно накапливаются в памяти до их перекладывания в холодное хранилище. Эта подсистема должна обеспечивать высокую скорость приёма трасс, хранение в оперативной памяти и выполнение вычислений — агрегация, расчёт метрик, выделение аномалий — и других форм аналитики. По итогам обработки данные структурируются и отправляются в долговременное (холодное) хранилище. Важно обеспечить стабильную работу при высоких объёмах данных и реализовать гибкие механизмы управления жизненным циклом трассировок в памяти.

Развитие пользовательских сценариев для ускорения получения инсайтов
Вам предстоит улучшать пользовательский опыт при работе с системой трассировки: разрабатывать сценарии, позволяющие быстрее выявлять причины деградаций, ошибок и аномалий. Это подразумевает создание механизмов фильтрации и группировки трассировок, построение автоматических срезов (например, «медленные запросы», «ошибочные трассы», «редкие паттерны»), а также интеграцию с другими источниками информации: логами, метриками, алертами. Цель — свести к минимуму время между обнаружением проблемы и её пониманием.

Применение AI/ML к трассировкам: генерация и проверка гипотез, создание MVP
Нужно будет активно участвовать в исследовании возможностей применения AI/ML к данным трассировок. То есть как генерировать собственные идеи, так и проверять уже сформулированные гипотезы — от автоматического выявления аномалий до объяснения причин инцидентов с помощью моделей. Особое внимание будет уделено созданию MVP-инструментов, использующих большие языковые модели (BLM) для анализа и интерпретации трассировок, генерации кратких описаний, ответов на запросы инженеров и построения пользовательских сценариев. Задача требует инициативности, способности быстро собирать прототипы, работы с реальными данными и совместной итерации с ML-экспертами и продуктовыми командами.

Участие в развитии observability-платформы
Система трассировки — ключевой компонент широкой observability-платформы, включающей в себя также логи, метрики, алерты и пользовательские сценарии. Вам предстоит участвовать в архитектурной и технической проработке решений на стыке этих направлений: обеспечивать корреляцию трасс с логами и метриками, участвовать в унификации пользовательского интерфейса и API, выстраивать единые принципы хранения, навигации и анализа данных. Важна способность мыслить в масштабе всей платформы, видеть связи между подсистемами и предлагать решения, повышающие наблюдаемость сложных распределённых систем в целом.

Больше о бэкенде в Яндексе — в канале Yandex for Backend

  • Уверенно владеете Golang
  • Разрабатывали высоконагруженные распределённые системы
  • Понимаете принципы observability: трассировка, метрики, логи
  • Умеете работать в команде, принимать технические решения и брать на себя ответственность
  • Хотите решать сложные задачи, которые напрямую влияют на весь Яндекс
  • Работали с различными инструментами трейсинга
  • Работали с базами данных, аналогичными ClickHouse

Смотрите другие вакансии направления Yandex Cloud Observability Platform по ссылке.

Похожие вакансии

Другие вакансии Яндекс