Комментарии 10
> реализовать промо-сервис, где пользователи люди загружают от одного до четырёх видео длительностью от одной до четырёх секунд, которые потом встраиваются в оригинальный видеоряд.

А что это означает? Это совместное создание «кино»? Я просто не понял: «потом встраиваются в оригинальный видеоряд»
Идея довольно простая — мы берём оригинальный видос, разрезаем его и заменяем фрагменты из него на пользовательские видео. Логика простая — считаем, сколько видео нам прислали и подменяем соответствующее количество фрагментов из оригинального видео. Например, всего в заставке 4 персонажа, пользователи прислали два видео. Подменяем их, и получаем результат, где два видео с пользователем, а два с оригинальными актёрами :)
Un_skipable ads — пресловутое джойказино, только теперь не только аудиорядно и видео
Кстати, шутка была бы неплохой шуткой, но AWS Elemental MediaConvert действительно даёт возможность встроить любую непроматываемую рекламу! У них это идёт отдельной настройкой, и, в принципе, при желании, можно было бы поднять целую пиратскую CDN на их мощностях — техническая возможность есть.

Вот только AWS моментально заблокирует за такие фокусы :)
Кстати, а какая скорость получилась в итоге?
Сколько времени сервис будет жевать (вставлять, перекодировать) стандартное видео в вакууме?
В итоге, видео длиной 44 секунды собирается примерно 40 секунд. Очевидно, нам не нужно каждый раз разрезать один и тот же видос, поэтому я нарезал фрагменты заранее и в первой лябмде просто собираю куски в нужном порядке. Если посмотреть трейс по X-Ray (тема для отдельной статьи), оказывается, большая часть времени уходит на то, чтобы отрисовать картинки с неймтегами и загрузить их в S3.

Сам MediaConvert работает на удивление быстро.
Хард-лимит лямбды — 15 минут кстати. Вызов API Gateway опять же стоит денег. Плюс тотальный vendor-lock. Плюс в статье не посчитана стоимость в принципе — на каком объеме работает такое решение, на каком serverless становится невыгоден. Разворачивать подобное через UI — это в корне неверное решение для продакшена, а разворачивать эту всю катавасию CloudFormation или Terraform то еще. Паблик S3 — халявный дропбокс для кого-то, все равно нужен фронт, иначе есть риск тупо влететь на деньги. C учетом всего этого решение на EC2/ECS не выглядит затратнее, особенно с учетом возможности кастомизации конвертации и отсутствия vendor-lock.

снижает затраты на инфраструктуру — только если график нагрузки очень неравномерный
снижает затраты на доставку решения — сомнительно
автоматическая масштабируемость — вот это есть, но опять же, вопрос конкарренси лямбд в аккаунте
разработка на острие технического прогресса — no comments
  • За лямбду спасибо, давно не смотрел лимиты.
  • Вендор-лок был обговорен, клиент согласен.
  • Разворачивал всё через CloudFormation, работает норм.
  • Паблик с3 тоже не понравился, но до клиента донесли. При необходимости можно через SignedUrl получить
  • Приложение не рассчитано на непрерывную работу и стандартное сравнение «Нам нужно держать 100 реквестов в секунду», где есть смысл в ЕС2. Здесь как раз предполагается Burst
  • Инфраструктура Serverless таки значительно проще


а так, спасибо за камент — познавательно.
Сколько времени на Cold Start у вас уходит (если не секрет)?
Бывает, что 15 секунд — если мы говорим про первый запуск после деплоя. Дальше незаметно было, хотя надо потестить ещё.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.