DistBuild

Язык буткемпа: C++

В Яндексе разрабатывается своя система сборки и тестирования для монорепозитория, которая умеет запускать сборку и тестирование на кластере распределённой сборки DistBuild. DistBuild является одним из ключевых компонентов CI-пайплайна, который для каждого пул-реквеста обеспечивает запуск всех сборок и тестов, затронутых изменением под несколько платформ.

От эффективности работы нашего сервиса напрямую зависит производительность тысяч разработчиков Яндекса. Для нас важна не только скорость исполнения, но и справедливость распределения ограниченных ресурсов кластера между всеми его пользователями и, главное, достоверность и воспроизводимость результатов тестирования.

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

Команда

Команда состоит из пяти разработчиков. У нас бэкенд-разработка, микросервисная архитектура и DevOps-подход. Спектр задач: от глубоких и сложных архитектурно-технических, вроде разработки эффективного кэш сервиса, до повышения эффективности имеющихся решений.

Пишем на C++, есть немного Python и Go.

Особенности

  • У нас действительно много разноплановых задач:
    • занимаемся системным программированием: изоляция процессов на базе cgroup, механизмы ядра для трекинга потребляемой оперативной памяти, сетевые неймспейсы — то, с чем мы имеем дело каждый день;
    • строим статистические модели для предсказания потребления ресурсов нодами сборочных графов и проводим над ними эксперименты;
    • пишем алгоритмически сложные подсистемы, в которых производительность критически важна;
    • решаем высокоуровневые архитектурные задачи, чтобы сервис отвечал всё новым требованиям пользователей и держал всё возрастающую нагрузку;
    • вырабатываем SLO/SLI отдельных подсистем и думаем о счастье пользователя.
  • Возможность участвовать в принятии не только технических, но продуктовых решений.
  • При желании — возможность расти в техлида либо наращивать экспертизу в выбранной области.
  • Влияние на всю компанию: если у нас что-то сломалось, то сотни разработчиков Яндекса уходят на перекур пить чай :)

Что нужно принять во внимание

  • Есть дежурства по рантайму и саппорту, как и у любого сервиса в Яндексе.
  • Сервису уже 10 лет. Legacy, конечно, встречается, но мы стараемся от него избавляться.
Предыдущая