Старший разработчик Go (Команда непрерывного профилирования)

По договоренности


Наша команда строит платформу непрерывного сбора профилей на базе собственного решения. Мы работаем над улучшением производительности, добавляем новые фичи и интеграции с другими компонентами телеметрии (алерты, трейсы, метрики). Основная задача предоставлять продукт, позволяющий всем разработчикам Ozon находит узкие места для оптимизации своих сервисов.

Вам предстоит:

  • Поддерживать и улучшать собственное решение, менять архитектуру под быстрый и непрерывный рост нагрузки;
  • Работать над стабильностью и находить места оптимизации для сокращения потребления ресурсов;
  • Реализовать такие фичи, как более частый сбор в нужные момент (например, при падении сервиса по OOM), интеграция с алертингом, детект аномального потребления cpu/memory, функционал сравнение профилей, корреляции и т.д;
  • Улучшать функционал сжатия профилей;
  • Засетапить и поддерживать профайлинг в Ozon банке;
  • Подключать к профайлингу новые k8s кластера и работать над улучшением деплоя компонентов;
  • Исследовать нетривиальные баги и фиксить их.

Мы ожидаем:

  • Умение писать чистый и производительный код на Go.
  • Опыт написания Unit тестов.
  • Опыт в разработке высоконагруженных, отказоустойчивых, распределенных систем.
  • Знания docker/kubernetes: умение создавать ресурсы, смотреть логи, выполнять команды в контейнере.
  • Опыт с CI/CD, знание helm, qbec или kustomize приветствуется.
  • Опыт работы с Unix подобными операционными системами.
  • Умение работать с мониторингом и трейсингом (Prometheus + Grafana + OpenTelemetry/Jaeger): писать алерты, делать запросы, инструментировать сервисы метриками и трейсами.

Почему у нас может быть интересно:

  • Мы активно улучшаем существующую платформу профайлинга на базе собственного решения.
  • Ресерчим существующие решения, такие как Parca, Pyroscope и привносим новые фичи, которые могут быть нам полезны.
  • Сервис сбора профилей является достаточно высоконагруженным сервисом: мы собираем порядка 1gb профилей в секунду.
  • Мы выделяем около 1500Gb оперативки и 200 ядер компонентам для сбора профилей каждые 2 минуты.
  • Планируем делать сбор каждые 30 секунд, что потребует более сложных оптимизаций.
  • Наш продукт настроен и оптимизирован так, чтобы переживать DC-1.
  • Мы сами разворачиваем большинство компонентов в kubernetes, что дает полное понимание, как работает система.


Поделиться:

Опубликована 21 день назад

Вакансия в подборках

  1. Разработчик

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

  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
  • Москва
день назад
  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
  • Москва
6 дней назад
  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
  • Москва
3 дня назад
  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
  • Москва
2 дня назад
  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
  • Москва
6 дней назад
Мы обрабатываем данные посетителей и используем куки в соответствии с политикой конфиденциальности.