Как agio запустила облачный сервис для CG‑производства

О чём история

Компания agio создаёт облачную платформу для CG‑студий. Она предоставляет творческим командам облачные технические ресурсы, готовые к использованию в CGI — компьютерной графике — и позволяет организовать полноценное CG‑производство в облаке. Уже сейчас несколько молодых студий построили свою ежедневную работу на сервисах agio.

Команда agio с нуля создала свой продукт в Yandex Cloud. Компания воплотила в облачном сервисе многолетний опыт технической организации студии on‑premise. agio тестировала облачную платформу в течение трёх месяцев и затем приступила к созданию сервиса. Вся разработка заняла восемь месяцев: за это время основатели настроили облачную инфраструктуру, развернули производственную функциональность и разработали веб‑приложения для доступа творческих команд.

Задача компании{#}

До запуска agio её основатели Антон Гридчин и Илья Обухов занимались оптимизацией и настройкой технологических процессов в творческих командах. Развитие облачных технологий привело к идее создать платформу для распределённого производства, доступную и крупным, и небольшим студиям, и фрилансерам. Её сервисы дали бы молодым командам доступ к техническим возможностям крупных студий, а технологически развитым коллективам — дополнительные мощности и удобные инструменты интеграции субподрядчиков и индивидуалов.

Перед проектом agio стояли масштабные задачи:

  • предоставлять готовые к использованию вычислительные ресурсы для производства компьютерной графики;
  • создать приложение для проектной работы CG‑художников — рабочий стол со всеми необходимыми инструментами;
  • разработать производственный конвейер на облачной инфраструктуре и предоставить к нему открытый доступ.

Компания agio планировала строить свой сервис поверх облачной платформы, которая должна была соответствовать следующим требованиям:

  • детально конфигурируемые виртуальные машины для CPU/GPU‑вычислений;
  • конфигурации с дешёвым GPU для рабочих станций;
  • API/SDK для менеджмента виртуальных машин;
  • S3‑совместимое хранилище для размещения больших объёмов клиентских данных.

Технический директор agio в течение трёх месяцев изучал несколько вариантов облачных платформ. Из всех них необходимым требованиям удовлетворяла только Yandex Cloud. Дополнительным весомым фактором при выборе стала стоимость ресурсов, а именно — Object Storage и прерываемых виртуальных машин.

Собственный облачный сервис на платформе облачного провайдера

В Yandex Cloud компания решает все вопросы от разработки до развёртывания клиентских сервисов. Для этого команда agio выбрала несколько основных сервисов.

Облачная инфраструктура agio

Kubernetes®

В кластере Kubernetes®, развёрнутом на виртуальных машинах Compute Cloud, созданы две ноды, которые несут все сервисы платформы:

  • agio API;
  • обработчики событий Apache Kafka®;
  • рендер‑менеджер на базе OpenCue;
  • сервисы аутентификации и авторизации;
  • синхронизация данных между хранилищами;
  • генерация превью;
  • сбор логов (работает связка из сервисов Grafana, Loki и Prometheus).

Yandex Cloud Functions

С помощью функций система агрегирует метрики виртуальных машин и возвращает результат в сервис оповещений. Также в функции команда анализирует, как обрабатываются события из Apache Kafka®.

Хранение данных

Основной массив данных — это изображения, а также промежуточные результаты вычислений. Они передаются по производственной цепочке и являются исходными для других процессов, которые в свою очередь порождают новые данные.

В Object Storage хранятся проектные файлы клиентов платформы, объём хранения динамично меняется. Количество данных на пике производства полнометражного фильма исчисляется сотнями терабайт, для небольших рекламных роликов колеблется в районе 1–2 ТБ.

Клиентские данные, такие как профили пользователей, конфигурации производства, проектные сущности, состояния, связи, хранятся в PostgreSQL. Для управления событиями внутри платформы используется Apache Kafka®, а метаданные файлов хранятся в Redis. Все эти сервисы развёрнуты на виртуальных машинах Compute Cloud.

Как работает agio

В основном клиенты agio взаимодействуют с платформой через веб‑интерфейс. Но у платформы есть локальный набор интеграций с профессиональным ПО и десктопное приложение сервиса ·drive, которое реализует доступ к проектным данным.

Платформа agio — это в первую очередь студия в облаке. Работа начинается в сервисе ·desk, где художник видит все назначенные ему задачи.

Полноэкранное изображение

Когда он открывает задачу, сервис ·ws предоставляет доступ к облачной рабочей станции. А если есть физическое рабочее место, сервис ·drive локально синхронизирует необходимые данные и открывает профессиональный софт и сцену в контексте выбранного таска.

Полноэкранное изображение

Дальше художник делает свою творческую работу. Когда всё готово, система сохраняет, синхронизирует, конвертирует, рендерит, регистрирует выходные данные и отправляет результат на следующий производственный этап.

Рендеринг происходит в сервисе ·farm. При поступлении запроса на рендеринг запускается несколько процессов: проверка параметров, синхронизация данных, создание задач в рендер‑менеджере, запуск виртуальных машин для рендеринга, монтирование data storage проекта. ·farm использует распределённые вычисления для создания последовательности изображений. После того как рендеринг завершён, ненужные ноды удаляются, а файл при необходимости синхронизируется в другое хранилище. Затем сервис считает время рендеринга и списывает деньги с внутреннего счёта клиента.

Полноэкранное изображение

Компания agio позволяет клиентам провести весь процесс работы над графикой в одном комплексе сервисов от начала и до конца или подключить к своему производству только необходимую часть функциональности платформы. С помощью API системы можно интегрировать сервис в сложившиеся рабочие процессы.

Стабильная работа продукта и сокращение времени на развёртывание

Компания создала облачную платформу для производства CG за 8 месяцев. Сейчас система используется для производства графики в десятках рекламных и кинопроектов от нескольких VFX‑студий.

В дальнейшем команда планирует расширять клиентскую базу в России. Главная задача в этом направлении — привлечь студии, которые уже активно используют облачные ресурсы, показав им комплексный подход в рамках платформы agio. Кроме того, agio планирует выходить на рынок Юго‑Восточной Азии, где уже есть большой спрос на такие технологичные проекты.

Мнение

Для нас Yandex Cloud сейчас — это удобное место для разработки и развития нашего облачного продукта. Являясь внешним сервисом для CG‑студий, мы должны демонстрировать заметные преимущества собственных технических реализаций. Поэтому мы уделяем много внимания оптимизации использования ресурсов и минимизируем непродуктивные затраты наших клиентов с помощью собственных разработок, например в части распределения вычислений. А Yandex Cloud, в свою очередь, предоставляет нам быстрое и устойчивое к нагрузкам файловое хранилище, а также управляемые сервисы баз данных.
Антон Гридчин,
основатель agio

Решим вашу IT-задачу

Мы оперативно расскажем вам о возможностях Yandex Cloud для вашего бизнеса или подберем партнёра, который полностью реализует ваш IT-проект.
Войдите, чтобы сохранить пост