Выпуск новостей завершён 15 сентября 2026. Материалы сохранены на дату публикации. Перейти к инструкциям →

Архив · Полный материал · Tproger

Один фундамент для разных продуктов: как VK выстраивает платформенную разработку

Как VK строит единую платформенную разработку для ВКонтакте, Одноклассников, Дзена, VK Видео и MAX: внутренняя платформа, One-cloud, видеоплатформа и OneAB. — Читать дальше « Один фундамент для разных продуктов: как VK выстраивает платформенную разработку »

Разработка · TprogerДима Дмитриев, Tproger8 минут
Перейти к тексту ↓
Один фундамент для разных продуктов: как VK выстраивает платформенную разработку
Tproger
Коротко о главномРазвернутьСвернуть
  1. В VK развивают ВКонтакте, Одноклассники, Дзен, VK Видео, MAX и другие сервисы.
  2. У каждого своя команда, аудитория и логика развития.
  3. Инфраструктурные задачи при этом часто повторяются: где запустить новый сервис, как выдать ему мощности, как обработать видео, как проверить новую функцию на пользователях.

В VK развивают ВКонтакте, Одноклассники, Дзен, VK Видео, MAX и другие сервисы. У каждого своя команда, аудитория и логика развития. Инфраструктурные задачи при этом часто повторяются: где запустить новый сервис, как выдать ему мощности, как обработать видео, как проверить новую функцию на пользователях.

Последние два года команда VK собирает такие задачи на общем технологическом фундаменте. В него входят внутренняя платформа разработки, облачная инфраструктура One-cloud, технологии видеоплатформы и единая система работы с данными и экспериментами. Команды получают готовые платформенные решения и могут тратить больше времени на задачи продукта.

Платформа для новых сервисов

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

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

Повторяющиеся операции техническая команда ВКонтакте собрала во внутреннюю платформу разработки: разработчик выбирает готовый шаблон, получает ресурсы, подключается к каталогу, настраивает сборку, логи и метрики.

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

С помощью новой платформы ВКонтакте создала более 300 новых сервисов, а в 2026 году решение масштабировали на другие продукты VK. Платформа поддерживает Go, Java и Python, а в её контуре зарегистрированы тысячи сервисов, работающих во внутреннем облаке.

Мы не просто ускорили создание сервисов — мы изменили логику работы команд. Они смогли самостоятельно пройти путь от идеи до запуска, не собирая каждый раз инфраструктуру по частям. Это стало одной из опор трансформации ВКонтакте: создание нового сервиса занимает около часа, тогда как раньше на тот же путь уходило сильно больше времени. Юрий Кочарян Технический директор ВКонтакте

Как VK объединила инфраструктуру разных продуктов

После запуска новому сервису нужны процессорные ядра, память, сеть и хранилище. Эти потребности меняются вместе с нагрузкой. У видеосервиса быстро растёт объём данных, а у другого продукта пик может прийтись на отдельное событие.

Раньше продукты VK управляли инфраструктурой отдельно: планировали оборудование, закрепляли мощности за системами и вручную перераспределяли их при изменении нагрузки. Внутреннее облако One-cloud объединило серверы и хранилища в общий пул. Команда указывает, как он должен работать и сколько ресурсов требуется, а платформа размещает нагрузку и управляет её жизненным циклом.

One-cloud не проектировали сразу для всей компании. Платформа выросла из инфраструктуры Одноклассников, а следующим крупным этапом стала миграция Дзена. Затем к ней подключились ВКонтакте, VK Видео, MAX и другие сервисы. Сейчас платформа объединяет около десятков тысяч серверов, миллионы процессорных ядер и более 2 ЭБ данных. Продукты получают мощности из общего пула по мере роста нагрузки.

Для команд разница заметна в повседневной работе. Например, вычислительные ресурсы для базы данных можно получить примерно за несколько минут.

VK Видео может прибавить петабайт данных за несколько дней. При таком темпе сложно вручную перераспределять серверы и заранее подбирать мощности под каждую новую волну нагрузки. Облако делает это за команду: берёт ресурс из общего пула и добавляет его по мере роста сервиса. Поэтому команда VK Видео сосредоточена на развитии продукта, а рост аудитории не мешает стабильному просмотру. Руслан Исмагилов Руководитель One-cloud VK

Как один видеоконвейер работает для разных продуктов

В одних продуктах VK видео составляет основу сервиса. В других оно нужно для публикаций, кружочков в мессенджере, историй или продвижения товаров. Любой видеофайл проходит один путь: его загружают, транскодируют, сохраняют, доставляют пользователю и воспроизводят. Эту работу берёт на себя видеоплатформа VK.

У видеоплатформы есть два основных сценария: загрузка ролика автором и его просмотр зрителем. Когда автор публикует видео, система принимает файл, присваивает ему идентификатор и отправляет на транскодирование — подготовку версий в разных разрешениях и форматах. Для этого платформа использует три кодека. H.264 поддерживает большинство устройств. VP9 сильнее сжимает видео, но требует больше вычислительных ресурсов. AV1 обеспечивает самое эффективное сжатие, однако создаёт ещё более высокую нагрузку при обработке. Поэтому с его помощью кодируют популярные ролики: их смотрит много людей, а меньший битрейт позволяет сократить объём трафика при сохранении качества.

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

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

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

Так видеоплатформа работает и с VK AdBlogger. В этом сервисе авторы могут выбирать товары продавцов маркетплейсов, публиковать о них посты или видео ВКонтакте и получать вознаграждение за покупки по реферальным ссылкам. Такие публикации называют шопсами.

Команда VK AdBlogger хотела добавлять шопсы в истории ВКонтакте без ручной подготовки контента. Для истории нужен другой формат ролика и отдельная карточка с изображением и названием товара. VK AdBlogger публикует контент через API, поэтому обработку исходного видео, добавление карточки и создание истории объединили в единый процесс.

VK AdBlogger не пришлось создавать собственную систему обработки видео ради одной механики. Команда интегрировала сервис с видеоплатформой VK: AdBlogger передаёт ей исходный ролик и карточку товара, а платформа готовит версию для историй автора, добавляет баннер и направляет видео в нужный сценарий ВКонтакте. Автор загружает ролик один раз — всё остальное происходит автоматически. Алексей Шпагин Руководитель отдела разработки технологий видеоплатформы VK

От локальной метрики к общему результату: как работает OneAB

После запуска нужно проверить, как изменение повлияло на пользователей и показатели продукта. В VK Видео пользовательский путь связывает главную, подписки, рекомендации и другие разделы. Изменение одного элемента может затронуть соседние, поэтому A/B-тест оценивают в контексте всего сервиса.

Для такого анализа VK развивает единую платформу данных: она объединяет хранилище, каталог данных, управление доступами и качеством, BI-системы и инструменты для A/B-тестов. Объём данных превышает 400 ПБ.

За A/B-тестирование отвечает OneAB. Раньше продукты по-разному распределяли аудиторию и считали результаты. Новый продукт объединил настройку теста, разделение пользователей и расчёт метрик. Система сравнивает поведение контрольной и тестовой групп.

OneAB особенно важна для тестов нескольких команд. Например, команда VK Видео меняет интерфейс, а другая проверяет новую модель рекомендаций. Система включает оба изменения для одной группы, и аналитики видят их совместный эффект.

Аудиторию распределяет отдельный сервис на Go. Активные тесты хранятся в оперативной памяти, а продукты обращаются к системе по gRPC или HTTP. Сервис обрабатывает около двух миллионов запросов в секунду и определяет группу меньше чем за миллисекунду.

Эксперименты распределены по областям продукта. В независимых разделах их запускают параллельно, а для одной поверхности выделяют непересекающиеся группы. После теста аналитик видит показатели главной, подписок, рекомендаций и разных типов контента.

Если время просмотра на главной выросло, мы проверяем, что произошло со всем сервисом. Иногда рост означает, что мы просто перетянули внимание с соседней поверхности. При ручном расчёте пришлось бы несколько раз досчитывать разные группы метрик. В OneAB около 90% нужных нам показателей рассчитываются автоматически, поэтому аналитик быстрее переходит от результата к интерпретации эффекта и подготовке рекомендаций для продукта. Семён Булатчик Старший продуктовый аналитик VK Видео

Ежемесячно через OneAB проходит более тысячи A/B-тестов. Системой пользуются ВКонтакте, Одноклассники, VK Видео и другие продукты компании.

Что изменилось для инженерных команд

Общий технологический фундамент VK вырос из задач отдельных продуктов. Решения сначала проверяли на реальной нагрузке, а затем масштабировали на всю компанию. Единая платформа разработки помогает быстро выпустить сервис, One-cloud даёт ему инфраструктуру, видеоплатформа доставляет ролики, а OneAB оценивает эффект изменений.

ВКонтакте, Одноклассники, Дзен, VK Видео, MAX сохраняют собственные задачи и логику развития. Общими стали технологии, которые не определяют продуктовые решения, а помогают быстрее воплощать и проверять их.