Vercel Functions добавили поддержку Bun.serve как точки входа
По данным Vercel Blog, среда выполнения Bun для Vercel Functions получила поддержку Bun.serve в качестве точки входа для серверных функций, включая обработку WebSocket. Локально запускаемый сервер теперь можно развертывать без обертки во фреймворк.

Поддержка Bun.serve в Vercel Functions
Команда Vercel объявила о том, что среда выполнения Bun для Vercel Functions теперь принимает Bun.serve в качестве точки входа функции. Это нововведение охватывает и обработчики WebSocket, позволяя переносить локально запущенные на Bun серверы в облако без изменений и без использования промежуточных фреймворк-оберток.
Для включения новой среды выполнения требуется указать параметр bunVersion со значением 1.x в конфигурационном файле vercel.json. После этого разработчики могут создать сервер с картой маршрутов в файле server.ts, расположенном в корне проекта, используя стандартные механизмы Bun.
Настройка WebSocket и особенности работы с соединениями
Для обработки постоянных подключений разработчики могут добавить обработчик WebSocket и вызывать метод server.upgrade(request) внутри функции fetch, чтобы перенаправлять соответствующие запросы. Остальная серверная логика при этом остается прежней.
Как сообщает Vercel Blog, WebSocket-соединения функционируют на базе инфраструктуры Fluid Compute с тарификацией по активному процессорному времени (Active CPU pricing). Это означает, что оплачивается только время, затраченное непосредственно на обработку сообщений, а не время простоя соединения в режиме ожидания.
Как устроено обслуживание WebSocket-соединений?
Каждое соединение закрепляется за конкретным экземпляром функции на протяжении всего своего жизненного цикла. При этом один экземпляр может обрабатывать сразу несколько параллельных подключений. Для координации обмена сообщениями между различными изолированными экземплярами функций разработчикам рекомендуется использовать внешнее хранилище данных.
Доступность документации
Интеграция открывает новые возможности для создания легковесных сетевых приложений на платформе Vercel. Подробные инструкции по развертыванию серверов на базе маршрутов и подключению WebSocket доступны в официальной документации платформы.
Итог
Новая возможность интеграции Bun.serve в Vercel Functions упрощает перенос локальных серверов в облачную среду без лишних абстракций. Разработчикам стоит следить за обновлениями документации для эффективного применения WebSocket-соединений.