О проекте
Создание системы автоматизации рендеринга видео.
Особенность приложения в рендеринге из любой точки мира с мобильного телефона.
Задача
Производительность системы должна выполнять 1000 рендерингов длительностью от 2 до 5 минут в сутки.
Предварительный 7 секундный просмотр и, конечно, дальнейшее масштабирование.
Результат
Постоянная готовность системы осуществить сверхскоростной рендеринг в соответствии с требованиями.
Виды выполненных работ
Выбор сервера - Amazon Web Service (api)
Синхронизация дата-центра
Разработка метрик
Автономный рендеринг
Ход проекта
Для приложения было выбрано облако Amazon Web Services. Это решение обеспечило хороший отклик API для людей по всему миру, т.к. Amazon умеет реплицировать как данные, так и код на десятки дата-центров.
Настроенный рендеринг в дата-центре автономно балансирует нагрузку между серверами рендеринга и отвечает за постоянную работоспособность системы.
Нами была написана система, с высокой точностью имитирующая пользовательскую нагрузку. Эту систему мы использовали для проверки нагрузоустойчивости системы перед запуском.
21 марта 2018 года система была запущена.
Приложение iOS/Android связывается с облаком Amazon для получения информации о доступных шаблонах. Пользователь выбирает понравившийся шаблон и заменяет изображения и текст на необходимые ему.
Метрики производительности всех серверов рендеринга собираются в специальном сервере мониторинга, которые непрерывно анализируются менеджером рендеринга.
Система сегодня
В процессе эволюции система выросла до следующих модулей:
iOS/Android приложение связывается с облаком Amazon для получения информации о доступных шаблонах. Пользователь выбирает понравившийся шаблон и заменяет изображения и текст на необходимые ему. Задание отправляется в облако Amazon и проходит валидацию по корректности заполнения оплате.
После скрипт отправляет задание на Render-ферму. Сервер-менеджер фермы производит валидацию и в зависимости от типа задания (превью/рендер) и текущей нагрузки выбирает сервер для рендеренга. Сервер, получивший задание, выполняет замену текстов и изображений в шаблоне и выполняет рендер (с помощью Adobe After Effects). Далее сервер выполняет конвертацию итогового видео-файла в форматы HLS и MP4 (с помощью ffmpeg) и производит заливку полученных файлов в облако Amazon. На каждом этапе работы с заданием происходят обновления статусов, выводящиеся push-уведомлениями пользователю.
Похожие проекты
Примеры наших проектов
Те, кто создает софт