Vercel объявила о запуске Daemons — нового сервиса для постоянных фоновых работников. Это расширяет роль платформы: от хостинга фронтенд-приложений и функций, связанных с запросами, до запуска большего числа компонентов серверной части приложений. Сейчас сервис доступен в режиме публичного тестирования. Он позволяет разработчику запустить контейнер и указать необходимое количество экземпляров в каждом регионе, а Vercel берет на себя поддержание процессов в рабочем состоянии и их перезапуск в случае остановки или сбоя.
Daemons предназначены для нагрузок, при которых задачи извлекаются из очереди или базы данных, а не ожидают входящего запроса из интернета. К ним относятся асинхронная обработка, задачи конвертации мультимедиа и операции, требующие постоянного использования процессора. По словам Malte Ubl, технического директора Vercel, этот сервис закрывает пробел между обработкой, связанной с запросами, и постоянными фоновыми задачами.
Что Daemons дают разработчикам?
Работников можно развертывать через Git или Vercel CLI. Vercel создает образ контейнера и сохраняет его в Container Registry, а затем управляет заданными экземплярами в каждом регионе. Компания приводит практический пример: интерфейс на базе Next.js может работать вместе с API на Python и обработчиком видео в контейнере, который извлекает задачи из Vercel Queues и создает файлы для воспроизведения и миниатюры.
Daemons отличаются от временных Sandboxes: Sandboxes предназначены для временного выполнения, тогда как Daemons продолжают работать и не принимают запросы напрямую из интернета, а подключаются к источнику задач и выполняют их по мере появления. Vercel сама использует этот сервис для переноса части своих асинхронных нагрузок и сообщает, что ее панель управления обрабатывает около миллиарда запросов в месяц.
Контейнеры против управляемых сред выполнения
Vercel позиционирует Daemons как часть расширения поддержки контейнеров. По словам компании, 5 000 команд выполнили 150 000 операций развертывания контейнеров с момента перехода этой поддержки в режим публичного тестирования. Контейнеры дают разработчикам свободу включать собственные среды выполнения и системные библиотеки, однако обновление образа контейнера с точки зрения безопасности и его повторное развертывание остаются ответственностью клиента.
В свою очередь, Vercel берет на себя обновления безопасности в управляемых средах выполнения Node, Bun и Python без необходимости повторного развертывания со стороны клиента. Это означает, что выбор контейнеров связан не только с гибкостью, но и с дополнительной эксплуатационной нагрузкой, которую команды должны учитывать.
Поддержка Python и постоянное хранилище для агентов
Поддержка Python стала общедоступной для таких фреймворков, как FastAPI, Flask и Django. Приложения работают на стандартном CPython с зависимостями из PyPI, а Vercel берет на себя определение фреймворка, сборку и масштабирование. Компания сообщает, что 150 000 команд уже запускают серверную часть на Python на ее платформе, среди них — инженеры OpenAI, Polymarket и Exa.
Vercel также открыла общий доступ к сервису Drives — постоянному хранилищу, которое отделяет файлы агента искусственного интеллекта от среды Sandbox, выполняющей код. Агент может подключить Drive к новой Sandbox или изменить среду выполнения и продолжить работу с теми же файлами. По словам Vercel, сервис сочетает свойства сетевого диска, подобного EBS, и объектного хранилища.
Почему это расширение имеет значение?
Drives продвигает модель, в которой важные для агента файлы независимы от среды выполнения. Несколько агентов могут использовать доступную только для чтения копию набора данных или создавать доступные для записи ответвления для тестирования различных подходов, сохраняя ветви отделенными от оригинала. Сервис предоставляет емкость по умолчанию 1 ТБ, а для плана Hobby — 1 ГБ; доступны настройки объемом до 16 ТБ.
На практике эти дополнения дают командам, размещающим свои интерфейсы на Vercel, возможность сохранять сервисы Python, фоновых работников и постоянное хранилище в рамках одной платформы вместо управления отдельными системами развертывания. Однако компромиссы никуда не исчезают: контейнеры требуют от клиента отслеживать обновления безопасности, а Daemons подходят для постоянных нагрузок, основанных на извлечении задач из источника работы, но не для всех типов фоновых сервисов или моделей обработки.