Сделать свое или использовать облако?
ТЕХНОЛОГИИ/IT
Привет. Мне 23, я разрабатываю сайты, платформы и разные сервисы. И как у любого разработчика моего возраста, у меня периодически возникает желание сделать все самому и не доверять большим дата-центрам. Особенно когда видишь, как ИИ ускоряет рутину: генерация кода, автодополнение, быстрые прототипы. Кажется, что еще чуть-чуть - и можно собрать вообще все.
Но есть ниши, где этот номер не проходит так легко. Одна из этих ниш - это видео. Стриминг, транскодинг, CDN, DRM-защита. Когда я в очередной раз задумался, чтобы сделать «свою замену Yandex Video Cloud» или поднять все на Yandex Cloud, я сел и посчитал. И понял, что вопрос «свое или облако» - это где ты хочешь потратить свое время и, иногда, деньги.
Облако: быстро, скучно и предсказуемо
Когда ты маленький стартап или соло-разработчик, облако выглядит как скучный, но очень разумный выбор. Какой нибудь стриминг от компании «веб-эдж», Yandex Cloud Video, любой managed-сервис - ты просто загружаешь видео, получаешь плеер, CDN и DRM, как куртер приносит тебе еду. Не нужно думать про серверы, не нужно чинить транскодер в три часа ночи.
По деньгам это выглядит адекватно. У некоторых сервисов есть подписки, но реальный счет для проекта с трафиком легко уходит 6000-10000 рублей. Для стартапа это нормально, ты платишь за то, что работает, и не тратишь недели на инфраструктуру.
Есть и обратная сторона. Ты зависишь от чужого плеера, чужого DRM и чужого биллинга. Захочешь нестандартную фичу - скорее всего, ее нет в API. Захочешь уехать в другой регион - смотришь на условия миграции. Это не смертельно, но это реальность managed-сервисов: ты зависишь от дяди.
Свое: контроль, который стоит дороже, чем кажется
Второй путь - self-hosted. Поднять MediaConvert, прикрутить FFmpeg, настроить HLS, поднять CDN, разобраться с Widevine и FairPlay. Выглядит как будто бы легко, и поначалу кажется, что ты вот-вот сэкономишь. У любого новомодного сервиса есть свой self hosted вариант
Но есть нюанс. Лицензионный сервер DRM сам по себе стоит от 99 до 300 долларов в месяц у managed-провайдеров. А когда ты считаешь полный self-hosted - транскодинг, упаковку, CDN и хотя бы часть времени senior-инженера, - сумма выходит уже в копеечку в месяц. И это не считая того, что ты потратишь на изучение матчасти для того чтобы объяснить как правильно сделать архитектуру и написать код для глупенького ИИ.
По оценкам сервиса Kinescope, self-hosted в первый год обходится в 93 000-385 000 долларов, если считать инфраструктуру, DevOps и поддержку. Для маленького стартапа это как отдельный продукт, который ты не планировал запускать.
Я не говорю, что self-hosted не имеет смысла. Имеет, если видео - это твой основной продукт, если у тебя уже есть DevOps-команда и если ты упираешься в ограничения конкретного вендора. Но если ты просто хочешь быстро проверить гипотезу и не хочешь зависеть от 6000-10000 рублей в месяц, облако почти всегда выигрывает по совокупности времени и денег.
Я думаю, что главное отличать, когда можно делать по принципу «just use VDS bro» и сделать за короткий промежуток времени что-то чтобы не зависеть от облака, а когда подключить какой нибудь сторонний сервис.
Всегда нужно взвешивать за и прочив.