Главное

От ~10 тыс. минут в месяц своя разработка обходится на 60–80 % дешевле облачных SDK. Ниже этого порога выигрывают облачные решения (LiveKit Cloud, Daily, Mux), потому что в общей стоимости доминируют расходы на инженеров. Точка пересечения подтверждается на практике.

Twilio Programmable Video закрылся в декабре 2024. Никто не начинает новые проекты на Twilio Video в 2026 году. Цели миграции — LiveKit (cloud или self-hosted), Daily, Vonage Video API или self-hosted mediasoup.

Гибрид — самый разумный вариант по умолчанию. Self-hosted SFU держит предсказуемую нагрузку, а облачный SDK подхватывает пики. Это ограничивает худший сценарий по затратам без избыточного резервирования. Мы выпустили такую схему для двух клиентов в 2025 году.

Фреймворк из 5 осей: объём, глубина кастомизации, комплаенс, возможности команды, time-to-market. Ошибка хотя бы на одной оси — и математика разворачивается на 180 градусов.

Миграция — это проект на 12 недель, а не смена платформы. Три фазы: shadow-режим, параллельная работа, переключение с возможностью отката. Мы прошли этот путь в продакшене для Mangomolo, Sprii и трёх клиентов под NDA.

Почему Фора Софт написала этот плейбук

С 2005 года Фора Софт выпустила более 60 видеопродуктов. Мы интегрировали все основные SDK — Twilio Programmable Video (RIP), Daily, Vonage (бывший TokBox), Agora, LiveKit (cloud и OSS), 100ms, Amazon Chime SDK — и собрали более 20 продакшен-стеков на self-hosted mediasoup, LiveKit OSS, Janus, Pion и кастомном WebRTC.

Эталонные деплои: StreamLayer, Mangomolo, Ruume.ai, EyeBuild, Sprii, Tradecaster, Tunnel, Alve.chat. В каждом случае был свой выбор между своей и готовой реализацией; уроки в этой статье — следствие тех решений и четырёх миграций, которые мы провели в 2024–2025 годах между облачным и self-hosted путём.

Если вы дошли до момента «нагрузка выросла, не убьют ли нас счета за SDK?» или прорабатываете архитектуру новой платформы и взвешиваете cloud vs custom — этот гайд даёт вам математику пересечения, фреймворк из 5 осей, матрицу вендоров и плейбук миграции.

Сжигаете деньги на Agora или Twilio?

Пришлите нам текущий счёт за SDK, прогноз нагрузки и размер инженерной команды. Мы вернёмся с расчётом ROI «build vs buy» через 48 часов. Бесплатно.

Позвоните нам → Напишите нам →

TL;DR — математика точки пересечения

Облачный SDK по цене 0,30 ₽/мин (LiveKit Cloud HD, аналогично Daily и Mux) — это 300 ₽ за 1 000 минут. На 100 000 минут в месяц: 30 000 ₽. На 1 000 000 минут: 300 000 ₽. На 10 000 000 минут: 3 000 000 ₽.

Self-hosted mediasoup или LiveKit OSS на Hetzner AX или AWS при типичной concurrency: 75–600 ₽/мес на 1 000 одновременных пользователей плюс senior-инженер на 30 % занятости (225–375 тыс. ₽/мес). Стартовая разработка обойдётся в 6–15 млн ₽.

Точка пересечения находится в районе 10 000–15 000 минут в месяц при типичном профиле concurrency. Ниже неё доминируют расходы на инженерию, и облако дешевле. Выше — поминутный счёт облака пробивает то, во что амортизируется свой self-hosting.

На 1 000 000 минут в месяц своя разработка обходит облако на 60–80 %. Self-hosted-инфраструктура ~ 52–112 тыс. ₽/мес плюс инженеры ~ 300 тыс. ₽/мес = 375–412 тыс. ₽/мес. Облако на том же объёме: 300–600 тыс. ₽/мес плюс наценка за фичи, плюс ваши собственные затраты на интеграцию SDK.

Фреймворк решения из 5 осей

1. Кривая объёма. Где вы будете через 12 месяцев — по минутам в месяц или DAU? Меньше 10 тыс. мин/мес → облако. 10 тыс.–1 млн → зависит от других осей. Больше 1 млн → своя разработка или гибрид.

2. Глубина кастомизации. Насколько нестандартный у вас UX? Стандартные звонки 1:1 или сетка участников: облако выигрывает. Кастомный рендеринг (оверлеи StreamLayer, виртуальные среды Ruume, интерфейс видеонаблюдения EyeBuild): своя разработка выигрывает.

3. Комплаенс. HIPAA, FedRAMP, требования по хранению данных только в ЕС, ключи под управлением клиента → self-hosted проще. Только SOC 2 Type 2 → работают оба пути (LiveKit Cloud и Daily оба поддерживают enterprise BAA + SOC 2).

4. Возможности команды. Есть ли у вас SRE, который умеет управлять кластерами TURN, мониторить CPU SFU, настраивать GeoIP-маршрутизацию? Да → своя разработка реальна. Нет → облако — правильный выбор, пока вы не вырастите эту компетенцию.

5. Давление по time-to-market. Нужно, чтобы первый звонок заработал за 2 недели → облако. Есть 8–12 недель, чтобы сделать как надо → своя разработка — реальный вариант.

Реальная стоимость облачного SDK на масштабе

ВендорАудио /минВидео /минПримечания
Twilio Programmable VideoN/AЗАКРЫТЗакрыт в декабре 2024 — стартовать здесь нельзя
LiveKit Cloud0,06 ₽0,30 ₽ (HD)Сильная интеграция с AI-агентами
Daily.co~0,15 ₽0,30–0,60 ₽BAA на тарифе Scale; чистый API
Vonage Video API0,29 ₽0,29 ₽ (HD включено)Зрелый BAA; наследие TokBox
Agora74 ₽/1 тыс. мин299 ₽/1 тыс. мин (HD)Сильны в APAC, слабый BAA
100ms0,06 ₽0,30 ₽Индийский игрок, чистый API
Mux Real-Time~0,07 ₽0,30–0,45 ₽Лучший в классе API
Amazon Chime SDK0,12 ₽0,12 ₽Самый дешёвый тариф, нативно для AWS
Cloudflare Calls0,03 ₽0,03 ₽Агрессивные цены, фичи в бете

Расчётный пример: 100 тыс. мин/мес, смешанные аудио и HD-видео. Daily.co: ~30–52 тыс. ₽/мес. LiveKit: ~30 тыс. ₽/мес. Vonage: ~29 тыс. ₽/мес. Cloudflare Calls: ~3 750 ₽/мес (самый низкий, но мало фич). Ниже 100 тыс. мин/мес затраты на интеграцию любого из этих SDK настолько малы, что все они выигрывают по TCO.

Реальная стоимость своей разработки (с данными из первых рук)

Стартовая разработка (8 недель, senior-команда). Архитектура, деплой mediasoup или LiveKit OSS, кластер TURN, мониторинг, клиентские SDK на 2–3 платформах, базовая запись. От 6 до 15 млн ₽ в зависимости от сложности. Благодаря переиспользованию паттернов из наших 60+ выпущенных видеопродуктов мы обычно укладываемся ближе к нижней границе.

Хостинг (Hetzner AX-line + AWS гибрид). Три региональных SFU на Hetzner AX102 (по 17 250 ₽/мес), два TURN-релея (по 6 750 ₽/мес каждый), один транскодер для ABR-фолбэка (17 250 ₽/мес), одна нода control-plane (6 750 ₽/мес) = ~93 тыс. ₽/мес. У Hetzner egress 20 ТБ/мес на ноду включён. Сверх 20 ТБ — egress AWS по ~3,7–6,7 ₽/ГБ.

Поддержка. 1 senior-инженер на 30 % занятости: ~300–375 тыс. ₽/мес по типичной полностью загруженной стоимости. Покрывает мониторинг, реакцию на инциденты, обновления SDK, патчи безопасности.

Структура затрат. В основном фиксированные расходы — SFU работает либо на 30 % утилизации, либо на 70 % за тот же ежемесячный бюджет. Когда mesh из SFU поднят, маржинальная стоимость дополнительных минут близка к нулю до следующего уровня ёмкости.

Итог на масштабе. 1 000 000 мин/мес: ~375–450 тыс. ₽/мес «всё включено» (инфраструктура + операционка). Тот же объём на Daily/LiveKit/Mux: 300–600 тыс. ₽/мес за SDK + вам всё равно нужна инфраструктура для приложения и интеграционная инженерия. Своя разработка выигрывает выше ~10 тыс. мин/мес и ускоряется с ростом масштаба.

Гибридная схема — лучшее из двух миров

Бинарный выбор «облако или своя разработка» упускает самый разумный паттерн — гибрид. Self-hosted SFU держат предсказуемую нагрузку — ежедневная новостная лента, регулярный класс — а на пиках (флеш-распродажа, вирусный момент, плей-офф) система переключается на облачный WHIP/WHEP-сервис вроде Cloudflare Stream или LiveKit Cloud.

Зачем гибрид. Self-hosted SFU дёшев в стабильном режиме, но требует резерва под пик. Если пик — это пятикратный baseline, вы переплачиваете за резерв. Когда переплачиваете, экономия по сравнению с облаком исчезает. Гибрид ограничивает худший сценарий.

Как это работает. Приложение использует один и тот же SDK (LiveKit Server SDK здесь очевидный выбор: OSS-вариант «точно совпадает» с LiveKit Cloud). Когда вы превышаете ёмкость своих SFU, API создания комнат начинает указывать на LiveKit Cloud. Пользователи разницы не видят, ваш счёт гибко подстраивается.

Один и тот же SDK. LiveKit Server SDK работает и со своим инстансом, и с LiveKit Cloud. Один JS/iOS/Android-клиент. Эта BYO-SFU-архитектура делает гибрид почти бесплатным; именно поэтому для новых проектов, где важна будущая гибкость, мы по умолчанию выбираем LiveKit OSS, а не mediasoup.

Берите облако, когда: меньше 10 тыс. мин/мес, в команде нет SRE, time-to-market меньше 8 недель, стандартный UX, требования комплаенса не выше SOC 2.

Берите свою разработку, когда: больше 10 тыс. мин/мес, у вас есть SRE-мышца, кастомный UX — это конкурентное преимущество (StreamLayer, Ruume, EyeBuild) или комплаенс требует self-hosted (HIPAA без enterprise BAA-доплат).

Берите гибрид, когда: пик в 3 раза и больше превышает baseline, вы хотите экономику self-hosted с облачной страховкой или плавно мигрируете.

Берите white-label-вендора (Vonage, Daily), когда: комплаенс — главный драйвер, и вам нужно, чтобы вендор подписал многолетний BAA и принял ответственность. Премия того стоит.

Когда НЕ стоит делать своё

У вас нет senior-инженера по видео. WebRTC, эксплуатация SFU, тюнинг кодеков, обход NAT — собирать это внутри без senior-специалиста с боевыми шрамами значит напрашиваться на проблемы. Наймите такого человека или оставайтесь на облаке.

Вам нужен PSTN-дозвон. Twilio по-прежнему лучший в телефонии. Даже если вы хостите видео сами, маршрутизируйте телефонные звонки через Twilio или Telnyx и заводите их в свой SFU.

Time-to-market меньше 8 недель. Сделать как надо — это время. Если запускаться нужно за 6 недель, выходите на облаке и мигрируйте позже.

Видео не является ядром продукта. Если видео — лишь одна из множества функций, инженерное внимание, нужное для поддержания его в порядке, отъест фокус от ядра. Оставайтесь на облаке.

Когда стоит ДЕЛАТЬ СВОЁ

Вы работаете в специфической вертикали (HIPAA, оборонка, юриспруденция). Комплаенс требует контроля над данными, который облачные SDK не дают дёшево. Self-hosted в вашем VPC — самый простой путь.

Ваш UX уникальный. Интерактивные оверлеи StreamLayer, виртуальные среды Ruume, PTZ-управление EyeBuild — ничего из этого не сделать хорошо поверх «своевольного» UI облачного SDK. Кастомный рендеринг — это конкурентное преимущество.

Вы прошли точку пересечения по объёму. 10 тыс.+ мин/мес и продолжаете расти. Траектория ясна — стройте сейчас, пока инженерные усилия посильны, до того как счёт взорвётся.

Вы конкурируете с самим вендором SDK. Если вы продаёте видеоконференции или live-стриминг как продукт, платить Agora или LiveKit поминутно — значит платить своему конкуренту. Хостите сами.

Матрица вендоров — LiveKit, Daily, Vonage, Agora, Mux

LiveKit (cloud + OSS). Дефолт 2026 года для новых проектов. Open-source SFU, один и тот же SDK работает с облаком и self-hosted. Сильная интеграция AI-агентов (LiveKit Agents). BAA на enterprise-тарифе. Лучший вариант на любой случай.

Daily.co. Чистый developer experience, сильный фокус на телемедицину, BAA на тарифе Scale. UI-кастомизация довольно жёсткая; отлично, если их дефолты совпадают с вашими потребностями.

Vonage Video API. Зрелый BAA, наследие TokBox даёт зрелую техподдержку. Цена чуть выше LiveKit, но включает HD-видео в аудио-тариф (предсказуемо).

Agora. Сильное присутствие в APAC, широкий охват SDK. Слабый BAA (нужно обращаться в enterprise-отдел). Лучший выбор, когда важен географический охват в Китае и Юго-Восточной Азии.

Mux Real-Time. Лучший в классе API для разработчиков. Цены конкурентны с LiveKit. Сила Mux — реалтайм и классический VOD-стриминг под одной крышей.

Amazon Chime SDK. Самый дешёвый тариф в матрице; модель ценообразования нативная для AWS. Подойдёт, если ваш стек уже глубоко в AWS, а минималистичный SDK устраивает.

Cloudflare Calls. Агрессивные цены, фичи в бете. Следите за развитием — если вас устраивает бета-статус, экономика непревзойдённая.

Self-hosted mediasoup. Проверенное в бою решение, на нём работают Discord и Mozilla Hubs. Эксплуатационный след меньше, чем у LiveKit OSS, но нет интеграции с Agents. Лучше всего, когда видео — это весь продукт, а AI-агенты в том же стеке не нужны.

Нужно второе мнение по выбору SDK?

Мы интегрировали все основные SDK и провели миграции четырёх продакшен-стеков в 2024–2025 годах. Опишите ваш сценарий — мы вернёмся с рекомендацией через 48 часов.

Позвоните нам → Напишите нам →

Плейбук миграции — с облака на свою разработку

Канонический паттерн — миграция за 12 недель. Три фазы.

Фаза 1 (недели 1–2): зеркалирование трафика. Разворачиваем self-hosted SFU параллельно. Отправляем 1–5 % трафика в shadow-режиме (зеркало, не вживую). Сравниваем качество (метрики VMAF / video quality), задержку и частоту ошибок с базовыми показателями облачного решения. Тюним до тех пор, пока shadow не сравняется.

Фаза 2 (недели 3–6): параллельная работа. Живой трафик — 5 % → 25 % → 50 %. Фича-флаги маршрутизируют пользователей между облаком и self-hosted. Мониторим всё: процент успешных подключений, частоту фризов, p95-задержку, количество тикетов в поддержку. Тюним mesh из SFU, распределение TURN, выбор кодеков.

Фаза 3 (недели 7–12): переключение с возможностью отката. Раскат до 100 %. Контракт с облаком держим ещё 30 дней как страховку отката. Декомиссионим только после двух чистых недель полного трафика на self-hosted. Договариваемся об условиях выхода с облачным вендором (часто 30 дней уведомления; у некоторых есть минимальные обязательства).

Мини-кейс — как мы срезали ~900 тыс. ₽/мес со счёта Mangomolo

Один вещательный клиент (архитектура близка к Mangomolo) при 1,4 млн минут в месяц на облачном SDK к середине 2024 года платил ~1 125 000 ₽/мес за SDK. Они выросли с 200 тыс. мин/мес в начале года. Своя разработка выглядела привлекательно, инженерия — нервничала.

План на 12 недель. Недели 1–2: оснастили текущий облачный деплой логированием VMAF и частоты фризов. Недели 3–5: развернули self-hosted LiveKit OSS на Hetzner AX102 (3 региона: США-восток, Европа-центр, APAC), кластер TURN на AWS для фолбэка при симметричном NAT. Недели 6–9: сначала зеркалирование трафика, потом 5 % → 25 % → 60 %. Недели 10–12: переключение на 100 %, контракт с облаком оставили на 30 дней как страховку.

Результат. Self-hosted-инфраструктура: ~112 тыс. ₽/мес (Hetzner + egress AWS + TURN). Инженерные расходы: ~187 тыс. ₽/мес (0,3 senior). Итого: ~300 тыс. ₽/мес против ~1 125 тыс. ₽/мес на облаке = прямая экономия ~825 тыс. ₽/мес (с учётом операционного буфера ~75 тыс. ₽/мес — около 900 тыс. ₽/мес чистой экономии). Качество не изменилось или даже немного улучшилось; p95 частоты фризов после миграции упал на 40 % за счёт расположения SFU ближе к пользователю. Хотите такой же аудит — позвоните или напишите нам.

Фреймворк решения — путь в пяти вопросах

Q1. Объём через 12 месяцев? Меньше 10 тыс. мин/мес → облако. 10–100 тыс. → облако, если другие оси не кричат «своё». 100 тыс.–1 млн → гибрид как разумный дефолт. Больше 1 млн → self-hosted с облачным фолбэком.

Q2. Глубина кастомизации UX? Стандартная сетка участников → облако. Кастомные оверлеи / виртуальные среды / интерфейс видеонаблюдения → своя разработка.

Q3. Требования по комплаенсу? Только SOC 2 → работают оба пути. HIPAA → self-hosted проще, если только enterprise BAA не вписывается в бюджет. FedRAMP / только европейские данные / ключи под управлением клиента → нужен self-hosted.

Q4. Возможности команды? Есть SRE или планируете нанять → своя разработка реальна. Нет SRE-мышцы и не планируете нанимать → облако.

Q5. Давление по time-to-market? Меньше 8 недель до первого звонка → облако. 8–16 недель → своя разработка возможна. 16+ недель → время есть, делайте как надо.

Подводные камни

1. Не делайте своё «потому что звучит дешевле», делайте, когда так говорит математика. Своя разработка выигрывает только выше ~10 тыс. мин/мес и только если инженерные усилия реалистичны. Сначала постройте таблицу, не поддавайтесь обаянию цен Hetzner.

2. Не недоразвёртывайте TURN. Симметричный NAT у мобильных операторов означает, что заметная часть зрителей не может установить peer-to-peer ICE. Запускайте TURN минимум в трёх регионах и закладывайте полосу пропускания на уровне 30–40 % от общего объёма доставки.

3. Не забывайте про стоимость записи. Self-hosted SFU дёшев, но запись (композитинг, транскодирование, хранение) добавляет инфраструктуры. Закладывайте 30–50 % от стоимости SFU на запись, если она нужна.

4. Не игнорируйте ротацию инженеров. Своя разработка требует постоянного ухода — обновления кодеков, патчи безопасности, тюнинг мониторинга. Если ваш senior-инженер по видео уйдёт, у вас будет проблема, которой нет у клиентов облака.

5. Не мигрируйте без плана отката. Всегда держите старый контракт ещё 30 дней после переключения. Проблемы, которые не вылезли при 50 % трафика, проявятся при 100 %. Откат за 5 минут через фича-флаг — обязателен.

Что замерять

Метрики качества. Процент успешных подключений (цель: 99 %+). Частота фризов p95 (цель: ниже 1,5 %). Mean opinion score из опросов пользователей (цель: 4,2+/5 за качество звонка).

Бизнес-метрики. Стоимость доставленной минуты (цель: снижение 50 %+ относительно облака на том же объёме). Инженерное время в месяц на работу со слоем SDK (цель: меньше 50 часов в месяц). Частота сообщений о качестве от клиентов (цель: снижение 30 %+ после миграции).

Метрики надёжности. Пиковая загрузка CPU SFU (цель: ниже 70 %). Утилизация TURN-релеев (цель: ниже 60 % в пике). Mean time to recovery при отказе ноды SFU (цель: меньше 60 секунд через автофейловер).

FAQ

LiveKit дешевле Twilio?

Twilio Programmable Video закрыли в декабре 2024 года, поэтому сравнение неактуально. LiveKit Cloud по 0,06 ₽/мин аудио и 0,30 ₽/мин видео конкурентоспособен с Daily, Mux и Vonage. Self-hosted LiveKit OSS заметно дешевле выше 10 тыс. мин/мес.

Брать Agora или делать своё?

Agora сильна в APAC и имеет широкий охват SDK. Ниже 100 тыс. мин/мес на глобальном трафике Agora — нормальный выбор. Выше или с требованиями HIPAA/SOC 2 выигрывает своя разработка или LiveKit OSS. История BAA у Agora слабее, чем у Daily или Vonage.

Сколько занимает своя разработка?

8–12 недель сфокусированной работы senior-команды. Discovery + архитектура (недели 1–2), деплой SFU + TURN (3–5), клиентский SDK (6–7), мониторинг + запись (8), укрепление продакшена + нагрузочные тесты (9–12). Благодаря паттернам из 60+ выпущенных видеопродуктов мы обычно укладываемся ближе к нижней границе.

Mediasoup или LiveKit OSS для self-hosting?

LiveKit OSS — для новых проектов, где важна будущая гибкость (облачный фолбэк, AI-агенты). Mediasoup — там, где минимальный эксплуатационный след критичен и продукт чисто видеоцентричный. Оба проверены в бою.

А Cloudflare Calls?

Cloudflare Calls предлагает агрессивную цену 0,03 ₽/мин — самую низкую на рынке. На 2026 год сервис в бете и с пробелами в фичах (запись, качество смешанного аудио на холодных путях). Стоит наблюдать; ставить запуск 2026 года на него рано, но как фолбэк в гибриде он годится.

Как обработать дозвон с телефона (PSTN)?

Self-hosted-видео не означает self-hosted-телефонию. Twilio или Telnyx терминируют PSTN-звонки в комнату вашего SFU как SIP-участника. Стандартный паттерн; мы выпустили его для двух телемедицинских клиентов в 2025 году.

А мигрировать в середине жизни продукта?

Возможно и часто практикуется. Используйте фича-флаги, чтобы маршрутизировать пользователей между облаком и self-hosted. Один и тот же SDK (LiveKit Server SDK работает с обоими) делает код приложения почти одинаковым. Закладывайте 12 недель; держите облачный контракт ещё 30 дней как страховку отката.

Что меняет Agent Engineering?

Внутри мы используем AI-помощь в инженерии для скаффолдинга, генерации тестов, infrastructure-as-code и дашбордов наблюдаемости. Это сжимает «переиспользуемый рутинный слой» видеоразработки на 20–30 %, но не меняет senior-архитектурную работу. В итоге мы укладываемся ближе к нижней границе озвученных стоимостей.

Архитектура

P2P vs MCU vs SFU

Решения по топологии в основе выбора «своё или готовое».

Готовы сделать правильный выбор?

Ниже 10 тыс. минут в месяц облако (LiveKit Cloud, Daily, Mux, Vonage) выигрывает по TCO, потому что в общей стоимости доминируют расходы на инженеров. Выше — своя разработка обходит облако на 60–80 % при правильной команде. Гибрид часто оказывается самым разумным паттерном: self-hosted SFU для стабильной нагрузки, облачный фолбэк на пиках, оба работают через один и тот же SDK.

Фреймворк из 5 осей (объём, кастомизация, комплаенс, команда, time-to-market) определяет путь. Миграция — это проект на 12 недель, а не смена платформы; мы прошли его 4 раза в 2024–2025 годах с задокументированными кейсами. Самый дешёвый момент для решения — пока вы не пересекли отметку в 100 тыс. минут в месяц; после неё вы обычно оказываетесь в режиме «мигрировать сейчас или сжигать X млн ₽ в год».

Хотите ROI «build vs buy» под ваш профиль трафика?

Пришлите нам текущий счёт за SDK, прогноз нагрузки и ограничения. Мы вернёмся с одностраничным ROI через 48 часов. Бесплатно.

Позвоните нам → Напишите нам →

  • Технологии