Serverless-конференции: почему разработчики отказываются от привычного хостинга
Построить видеоконференцию без серверов: как это делают инди-разработчики
Ещё недавно для видеосвязи нужно было арендовать мощные серверы, настраивать сеть и нанимать специалистов по инфраструктуре. Сегодня всё иначе. Проект Rendezvous показывает, что можно запустить аналог Zoom на serverless-архитектуре — и это уже не просто теория.
Serverless для реального времени
Serverless отлично работает с обычными приложениями и API. А вот для видеоконференций многие считали его неподходящим — слишком много требований к скорости и стабильности. Rendezvous доказывает обратное.
Главное преимущество — оплата по факту. Нет простаивающих серверов, нет огромных счетов за неиспользуемые ресурсы. Если ваша команда общается только в рабочие часы, такой подход даёт заметную экономию.
Как устроена архитектура
Классические платформы держат постоянные соединения и хранят состояние сессий на своих серверах. Это надёжно, но дорого.
Rendezvous поступает иначе. Здесь серверы не передают видеопоток. Вместо них работают WebRTC-соединения между участниками. Серверные функции отвечают только за три задачи:
- Signaling — обмен данными для установки соединения
- Room management — создание временных комнат
- Authentication — проверка пользователей
Само видео и звук идут напрямую между браузерами. Сервер здесь нужен лишь как посредник для запуска общения.
Что это даёт на практике
Такая архитектура особенно полезна для небольших команд и внутреннего инструмента:
Экономия
Serverless-вариант может обойтись в $10–50 в месяц вместо нескольких сотен. Это не фантазия — просто другой принцип ценообразования.
Масштабирование без усилий
Приложение само справляется с ростом нагрузки. Нет необходимости заранее планировать мощности.
Быстрый запуск
Меньше времени уходит на поддержку инфраструктуры — больше на развитие продукта. Для стартапов это критично.
Простота разработки
Развёртывание сводится к одной команды. Не нужно следить за состоянием серверов или пулами соединений.
Где есть ограничения
Serverless не универсален. Есть нюансы, которые стоит учитывать:
- Cold starts — задержка при первом вызове функции после простоя. Может добавить 100–500 мс к сигналу
- Лимиты одновременных вызовов — на некоторых платформах ограничено количество активных функций
- Привязка к провайдеру — код зависит от выбранной платформы (AWS Lambda, Google Cloud Functions и других)
Это не критично, но требует правильного планирования.
WebRTC — основа системы
WebRTC здесь играет главную роль. Это браузерная технология, которая позволяет двум компьютерам обмениваться видео и audio напрямую. Rendezvous просто использует это правильно.
Если коротко, то процесс выглядит так:
- Партнёры обменялись через serverless-функцию необходимой метаинформацией
- Браузеры напрямую устанавливают соединение с помощью ICE candidates и STUN/TURN
- Видео и звук передаются без участия сервера
- Серверная функция остаётся без состояния
Если хотите повторить
Если проект вдохновил вас на собственную разработку, вот несколько рекомендаций:
Защита доступа
Нужно хотя в базовом варианте проверять, кто входит в комнату. Используйте JWT или OAuth2 через serverless-функции. NameOcean предлагает cloud hosting с готовой поддержкой аутентификации.
TURN-серверы
Не всегда удаётся установить прямое соединение между участников. В таких случаях нужны TURN-сервера. Можно использовать Twilio или coturn.
Жизненный цикл комнат
Serverless-функции не хранят состояние. Поэтому нужно думать, как временны