Git, ты слишком медленный! Знакомьтесь, Ast – новая VCS для больших репозиториев
Команда в Лаборатории Касперского использует монорепозиторий для хранения исходного кода. Монорепа растёт каждый день и уже приближается к размеру в сотню гигабайт. Стандартное решение в индустрии, Git, перестаёт справляться с нагрузкой при таких объёмах данных, а существующие альтернативы тоже имеют свои недостатки.
Поэтому была разработана собственная система контроля версий для крупных репозиториев – Ast. Это клиент-серверная VCS, спроектированная для молниеносной работы с репозиториями размером в десятки, сотни и даже тысячи гигабайт.
В докладе послушаем о вызовах, с которыми столкнулись при ускорении работы с Монорепой. Подробно разберём архитектурные решения, лежащие в основе Ast, и обсудим как они позволили достичь высокой производительности. Особое внимание уделим опыту внедрения: как убедить тысячу разработчиков переехать с мягкого и тёплого Git на незнакомый и неизвестный Ast? Это явно нелёгкая задача! Тем более, когда хочется переехать на новую VCS, сохранив совместимость со старой.
Обсудим трудности, с которыми столкнулись на этапе внедрения, поделимся историями про мягкую силу, совместимость технических решений и о том, какие шишки мы набили в процессе.