DistBuild
Язык буткемпа: C++
В Яндексе разрабатывается своя система сборки и тестирования для монорепозитория, которая умеет запускать сборку и тестирование на кластере распределённой сборки DistBuild. DistBuild является одним из ключевых компонентов CI-пайплайна, который для каждого пул-реквеста обеспечивает запуск всех сборок и тестов, затронутых изменением под несколько платформ.
От эффективности работы нашего сервиса напрямую зависит производительность тысяч разработчиков Яндекса. Для нас важна не только скорость исполнения, но и справедливость распределения ограниченных ресурсов кластера между всеми его пользователями и, главное, достоверность и воспроизводимость результатов тестирования.
Мы стремимся разрабатывать современное решение, которое можно масштабировать в облаке. Постоянно работаем над улучшением производительности сервиса, повышаем утилизацию доступных вычислительных мощностей и улучшаем алгоритмы шедулинга.
Команда
Команда состоит из пяти разработчиков. У нас бэкенд-разработка, микросервисная архитектура и DevOps-подход. Спектр задач: от глубоких и сложных архитектурно-технических, вроде разработки эффективного кэш сервиса, до повышения эффективности имеющихся решений.
Пишем на C++, есть немного Python и Go.
Особенности
- У нас действительно много разноплановых задач:
- занимаемся системным программированием: изоляция процессов на базе cgroup, механизмы ядра для трекинга потребляемой оперативной памяти, сетевые неймспейсы — то, с чем мы имеем дело каждый день;
- строим статистические модели для предсказания потребления ресурсов нодами сборочных графов и проводим над ними эксперименты;
- пишем алгоритмически сложные подсистемы, в которых производительность критически важна;
- решаем высокоуровневые архитектурные задачи, чтобы сервис отвечал всё новым требованиям пользователей и держал всё возрастающую нагрузку;
- вырабатываем SLO/SLI отдельных подсистем и думаем о счастье пользователя.
- Возможность участвовать в принятии не только технических, но продуктовых решений.
- При желании — возможность расти в техлида либо наращивать экспертизу в выбранной области.
- Влияние на всю компанию: если у нас что-то сломалось, то сотни разработчиков Яндекса уходят
на перекурпить чай :)
Что нужно принять во внимание
- Есть дежурства по рантайму и саппорту, как и у любого сервиса в Яндексе.
- Сервису уже 10 лет. Legacy, конечно, встречается, но мы стараемся от него избавляться.