Как использовать объектное хранилище S3, чтобы быстро стартовать
- Cloud Storage
- Компания
- «Смотри VK»
- Отрасль
- Видеосервис
- Количество посетителей
- >3000 RPS аудитория всех интернет-проектов VK – 88,35 млн
О сервисе «Смотри VK»
«Смотри VK» представляет собой бесплатный интернет-сервис для фонового просмотра видео с персональными рекомендациями. Человеку не нужно тратить время на поиски интересного канала, шоу или фильма: сервис самостоятельно подбирает контент, опираясь на интересы пользователя. Сервисом «Смотри VK» можно воспользоваться через браузер или мобильное приложение для iOS и Android.
Кроме сайта, система имеет второй компонент – внешний видеоплеер, который можно встроить на сторонние ресурсы. Он уже используется на других проектах VK, в частности на медиапроектах, «Пульс VK» и экспериментально на Главной VK.
Встраиваемый видеоплеер помогает обогатить медиаконтентом новостные и другие информационные сайты, у которых нет возможности содержать собственный плеер. Это удобно и экономно: площадке не нужно думать о технических, экспертных и правовых вопросах. Дополнительно площадка может монетизировать свой трафик.
Решение вопроса хранения контента
Уже на этапе старта проекта была понятна необходимость в наличии надежного и безопасного хранилища данных. Мы рассматривали два пути:
- создание собственного файлового хранилища;
- партнерство с VK Cloud для хранения данных в облаке.
Первый вариант был трудозатратный и небыстрый, так как формирование парка машин с разработкой и эксплуатацией определенного софта требует существенных финансовых и временных вложений и экспертизы. С учетом того, что точность прогноза объемов данных на старте проекта была невысокая, нам была важна гибкость и оперативность в увеличении и сокращении ресурсов. Сотрудничество с VK Cloud Solutions позволило решить этот вопрос наиболее выгодным путем.
Сейчас для хранения и раздачи данных используется облачное хранилище S3. Несмотря на высокую нагрузку (мы собираем значимую часть трафика портала VK), платформа полностью справляется с поставленными задачами и позволяет легко масштабироваться.
Сценарии использования VK Cloud в «Смотри VK»
У нас есть 4 сценария использования облачного хранилища S3 от VK Cloud Solutions:
- Хранение архива видеофайлов.
- Обработка контента: скачивание, редактирование с транскодированием для последующей загрузки видео.
- Хранение и деплой самого сайта и плеера: на S3 хранятся разработки фронтендеров, картинки, необходимые для сайта, статика JavaScript, HTML, CSS.
- Обмен выгрузками с партнерами, к примеру, с «Кино VK» и собственной рекомендательной системой.
Как происходит обработка контента?
Видеофайлы могут загружаться с HDD или FTP. В последнем случае это актуально, если контент хранится временно или скорость приема низкая. Файлы попадают в наш архив, а затем через бэкофис мы заносим их в свою систему и начинаем процесс транскодирования: нарезаем видео в нескольких форматах. Когда контент подготовлен и перекодирован в формат, который позволяет проигрывать его на всех наиболее популярных платформах, мы отдаем ссылку на плейлист клиенту, который, в свою очередь, начинает проигрывать видео чанками, читая файл из S3.
В процессе транскодирования параллельно происходит нарезка картинок: выбираются необходимые для сайта изображения и также сохраняются в VK Cloud Solutions.
Картинки используются для нескольких задач:
- создания превью видео в выдаче сервиса;
- отображение предпросмотра, чтобы пользователь при перемещении курсора по таймлайну мог понять, что будет в конкретном месте видео.
Мы генерируем большой спрайт изображений для реализации данного функционала. Совместно с видеофайлами, которые хранятся в разном качестве (от 240р до 720р), картинки образуют внушительный массив данных, и он растет с развитием сервиса. Поэтому, как я уже говорил, для нас очень важна возможность быстрого масштабирования, предлагаемая VK Cloud Solutions.
Облачная платформа позволила нам сделать быстрый старт без существенных затрат на реализацию собственной инфраструктуры хранилища, также как и дедуплицировать технологическое решение в рамках VK. В текущий момент мы довольны сотрудничеством с VK Cloud и рассматриваем дальнейшее развитие относительно потребностей нашего сервиса.