Крупнейшая профессиональная конференция для разработчиков высоконагруженных систем

Arc — внутренняя VCS для монорепозитория Яндекса

Узкотематические секции

CTO-трек, инженерная культура / Инфраструктура разработки

C/C++
Совместная работа, система контроля версий, организация веток
Оптимизация
Обработка данных
Инфраструктура
Лайфхаки

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Монорепозитории — это реальность IТ-гигантов. Яндекс готовит Arc к Open Source и расскажет о его истории, устройстве, преимуществах и недостатках. Почему на таком масштабе не подходит git, как подключать монорепу на хост разработчика и что делать с IDE, которым нельзя подсунуть свой VCS-плагин.

Целевая аудитория

Тут очень разносторонний материал, который будет интересно послушать и backend-разработчикам, и разработчикам приложений под linux/mac, и любителям промышленных алгоритмов, и просто любителям VCS.

Тезисы

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

В докладе мы расскажем вам:
* Какие системы контроля мы перепробовали, прежде чем прийти к своей собственной.
* Что такое виртуализация файловой системы, как она помогает в борьбе с большим количеством файлов и какие у нее есть подводные камни.
* Как мы вычисляем лог файла на графе из десятков миллионов коммитов за пару секунд, и почему так не может git.
* О наших костылях на максималках: что делать, если поверх твоей VCS не работает rsync и XCode.
* Как свести интерфейс к трем командам и перестать думать о ветках и коммитах.

Степан Полохин

Yandex Infrastructure

Утром — преподаватель в НГУ, днем — разработчик VCS, вечером — DevOps, ночью — спит. Большой фанат алгоритмов, структур данных и покемонов.

Yandex Infrastructure

Команда Yandex Infrastructure создает системы, сервисы и инструменты для разработчиков Яндекса. Наши решения направлены на то, чтобы любой проект Яндекса получал готовую инфраструктуру на всех этапах производства: у нас есть собственная система контроля версий для хранения исходного кода, системы распределённой сборки и непрерывной интеграции для C++, Java, Python и Go, способные обрабатывать сотни сборок в минуту, система ревью кода, распределённая система выполнения задач, системы развертывания и мониторинга приложений. Мы также разрабатываем продукты для поддержки процессов разработки, планирования ресурсов и много других систем и инструментов.

Видео