Vercel Sandbox: постоянное хранилище стало общедоступным — что изменилось

Vercel объявил о переводе функции постоянного хранения (persistence) для Sandbox в общедоступный режим (GA). Теперь каждый Sandbox автоматически сохраняет и восстанавливает состояние файловой системы между сессиями. Постоянство включено по умолчанию, что избавляет от необходимости вручную управлять

Vercel Sandbox: постоянное хранилище стало общедоступным — что изменилось

Что изменилось в Vercel Sandbox с запуском GA

Vercel объявил о переводе функции постоянного хранения (persistence) для Sandbox в общедоступный режим (GA). Теперь каждый Sandbox автоматически сохраняет и восстанавливает состояние файловой системы между сессиями. Постоянство включено по умолчанию, что избавляет от необходимости вручную управлять снимками или отслеживать состояние. Это означает, что разработчики могут работать в изолированных средах без страха потерять прогресс при перезапуске.

Почему постоянное хранилище — важное улучшение

Для разработчиков, использующих Vercel Sandbox для изолированных сред разработки, постоянное хранилище устраняет необходимость повторной настройки окружения при каждом запуске. Это ускоряет рабочий процесс и делает Sandbox пригодным для долгоживущих проектов. Раньше каждый запуск Sandbox начинался с чистого листа, и все изменения терялись после завершения сессии. Теперь окружение сохраняется автоматически, что особенно ценно для сложных проектов с множеством зависимостей.

Как постоянное хранилище влияет на производительность разработчика?

Постоянство позволяет разработчикам сосредоточиться на коде, а не на настройке окружения. Например, если вы работаете над микросервисом и используете Sandbox для тестирования, вам не придётся каждый раз устанавливать пакеты или настраивать базу данных. Всё уже будет на месте. Это сокращает время на подготовку и уменьшает количество ошибок, связанных с различиями в окружениях.

Детали реализации: как работает постоянство в Sandbox

Каждый Sandbox теперь имеет уникальное настраиваемое имя, которое служит ссылкой в проекте. Sandbox можно создавать, получать или возобновлять по имени. Vercel автоматически запускает и останавливает сессии без прерывания работы. При вызове Sandbox.create() постоянство включено по умолчанию. Каждый автоматический снимок потребляет хранилище, которое тарифицируется отдельно от вычислений. Для временных нагрузок можно отключить постоянство, передав флаг --non-persistent команде sandbox create. Возобновление происходит автоматически: любой вызов на остановленном Sandbox (например, runCommand() или writeFiles()) запускает новую сессию из последнего снимка.

Также добавлены новые возможности: Sandbox.fork() для создания Sandbox из существующего, Sandbox.getOrCreate() для идемпотентного получения или создания, Sandbox.delete() для удаления, улучшенное событие sandbox.stop() с метаданными снимка, активным CPU и сетевым трафиком, хуки жизненного цикла onCreate и onResume для методов create, get, getOrCreate, а также поддержка тегов для многопользовательского отслеживания.

Какие новые функции появились в Vercel Sandbox?

Функция Sandbox.fork() позволяет быстро создать копию существующего Sandbox, что полезно для тестирования изменений без риска испортить основное окружение. Sandbox.getOrCreate() упрощает работу в команде: если Sandbox с таким именем уже существует, он возвращается, иначе создаётся новый. Это идеально подходит для CI/CD, где каждый запуск может требовать уникальное окружение. Улучшенное событие sandbox.stop() теперь предоставляет подробную информацию о завершении сессии, включая метаданные снимка, загрузку CPU и сетевой трафик. Хуки жизненного цикла onCreate и onResume позволяют выполнять кастомные действия при создании или возобновлении Sandbox. Теги помогают отслеживать Sandbox в многопользовательских проектах.

Кого затронет нововведение

Нововведение полезно разработчикам, использующим Vercel Sandbox для изолированных сред разработки, тестирования или CI/CD. Бизнес-пользователи оценят возможность долгоживущих окружений без ручного управления. Например, команды, работающие над большими проектами, могут создавать Sandbox для каждой ветки и не беспокоиться о потере состояния. Функция fork позволяет быстро разворачивать окружения для code review. В целом, это делает Sandbox более зрелым продуктом, пригодным для production-нагрузок.

Что пока неизвестно

Не указаны точные тарифы на хранилище снимков, а также возможные ограничения на количество Sandbox или размер хранилища в бесплатном тарифе. Разработчикам стоит следить за обновлениями документации Vercel, чтобы узнать подробности о ценообразовании. Возможно, в будущем появятся дополнительные настройки для управления хранилищем, такие как автоматическое удаление старых снимков или ограничение на количество сохранённых состояний.

Заключение

Переход постоянного хранилища в GA — важный шаг для Vercel Sandbox. Это делает инструмент более удобным для повседневной разработки и тестирования. Автоматическое сохранение состояния, новые методы API и хуки жизненного цикла расширяют возможности платформы. Разработчикам стоит изучить новые функции и интегрировать их в свои рабочие процессы, чтобы повысить эффективность.