Vercel: восстановление снапшотов Sandbox уложили в секунды

Команда Vercel рассказала, как довела до приемлемой скорости восстановление снапшотов файловой системы в Vercel Sandbox. После того как сценарии съёмки и восстановления стали стабильными, в фоку попала задержка: по 75-му перцентилю время восстановления сократили с более чем 40 секунд до менее секунды.
Песочница работает в изолированных контейнерах внутри микровиртуалок Firecracker на той же инфраструктуре, что и внутренние сборки Hive. Снимок — это сжатый образ диска в формате VHS (Vercel Hive Snapshot), который хранится в S3: при создании снапшота сырой образ сжимается и загружается, при поднятии окружения по снапшоту архив скачивается и разворачивается обратно.
Изначально цепочка была последовательной: один запрос тянул весь объект из S3, затем шла однопоточная распаковка. Для объёмов от сотен мегабайт до гигабайт это давало лишние секунды только на сети. Переход на параллельные HTTP Range-запросы с использованием transfer manager в AWS SDK для Go ускорил загрузку примерно в 2–5 раз. Дополнительно задействовали потоковую распаковку и локальный кэш на NVMe.
Материал: блог Vercel