Обновить
VK
Технологии, которые объединяют
Сначала показывать

Data Mesh vs централизованная модель: выбираем оптимальный подход к управлению данными

Время на прочтение10 мин
Охват и читатели8.9K

Привет, Хабр. Меня зовут Сергей Петриченко. Я продуктовый менеджер VK Data Platform, VK Tech.

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

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

Читать далее

Контейнер под капотом, или Как четыре syscall'а изменили подход к эксплуатации ПО

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели9.4K

Привет, Хабр! Меня зовут Олег, я работаю в VK Cloud в команде Key Management Service. Есть у меня такая привычка: когда пользуюсь каким-то инструментом изо дня в день, то рано или поздно хочется залезть внутрь и посмотреть, как оно там устроено. С контейнерами так и вышло: docker run, docker build — всё это прекрасно работает, но что именно происходит, когда мы «запускаем контейнер»?

В этой статье разберём контейнеры не на уровне «вот вам YAML, отправляйте в прод», а чуть глубже — на уровне системных вызовов Linux. По ходу дела напишем свой примитивный контейнер на Go, используя буквально четыре syscall'а, а в конце посмотрим, куда эта история развивалась дальше (сети, файловые системы) и почему виртуальные машины всё ещё живы.

Читать далее

Forza Tarantool: разработка на C для встроенного сервера приложений

Время на прочтение17 мин
Охват и читатели6.4K

Tarantool – это in-memory СУБД с открытым исходным кодом, разрабатываемая VK Tech. Существует два способа разработки приложений для Tarantool. Как и к большинству СУБД, к Tarantool можно подключаться из внешнего приложения по TCP/IP. С этой целью для многих популярных языков программирования (включая Go, Python, C#, С++, Java и др.) разработаны соответствующие коннекторы. Это – первый способ.

Кроме этого, Tarantool обладает замечательной особенностью: он позволяет запускать бизнес-логику на встроенном сервере приложений. В этом случае пользовательский код исполняется в одном адресном пространстве с данными, что обеспечивает высокое быстродействие. Это – второй способ.

Если мы ведем разработку для встроенного сервера приложений Tarantool, то выбор языков программирования более ограничен. Основным языком программирования, в этом случае, является Lua. Также, часть логики может быть реализована на C/C++. Но набор доступных языков расширяется. Например, с некоторого времени, поддерживается Rust. Помимо этого, Tarantool может выполнять Wasm-приложения. Скоро код библиотеки для разработки на Wasm будет открыт.

Tarantool – высокопроизводительная СУБД, часто используемая для построения highload-систем. Какой из вариантов разработки позволяет достичь максимального быстродействия (которое в таких системах будет не лишним)? В настоящей статье я хотел бы рассмотреть возможные способы вызова C-кода из Lua/LuaJIT/Tarantool (в режиме сервера приложений) и то, как это может ускорить и без того быструю СУБД.

Читать далее

Технологии в основе VK Видео: от загрузки файла до кадра на экране зрителя

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели18K

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

Меня зовут Алексей Шпагин, я руководитель разработки бэкенда видеоплатформы VK. В статье расскажу о технологиях, лежащих в основе VK Видео, и жизненном цикле контента на платформе: от загрузки и обработки до доставки зрителям.

Загляни под капот VK Видео

От ручного конфига к автоматическому мониторингу: обзор новой библиотеки go-discovery для Tarantool 3.0

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели8.3K

Когда у вас 50+ узлов Tarantool в кластере, ручное управление соединениями превращается в боль. Узлы падают, реплики становятся мастерами, новые инстансы добавляются — и все это нужно отслеживать в реальном времени. 

Рассказываем, как мы спроектировали go-discovery — библиотеку для автоматического обнаружения узлов кластера Tarantool 3.0.

Читать далее

EVPN-connector от VK Cloud: знакомим с первым Open-Source-компонентом нашего SDN Sprut

Время на прочтение10 мин
Охват и читатели8.2K

В современных облаках есть много задач, связанных с проблемами производительности и масштабируемости виртуальных сетей. Кроме этого, есть ряд задач, требующих интеграции с аппаратными сетевыми устройствами. Чтобы преодолеть этот барьер, в собственном SDN (Software Defined Network, программно-определяемая сеть) мы реализовали поддержку технологии EVPN. За это отвечает специальный компонент — EVPN-connector. Он использует OpenVSwitch для передачи данных и GoBGP для передачи информации и позволяет строить распределенные сети с поддержкой L2- и L3-режимов, а также обеспечивает интеграцию с аппаратными устройствами. В этой статье мы, команда IaaS Network в VK Cloud, расскажем о EVPN-connector в деталях.

Читать далее

Управляем облаком, не привлекая внимания пользователей: разбор примеров из жизни One-cloud

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.1K

Привет, Хабр! Меня зовут Алексей Волков, я руковожу группой core-разработки внутреннего облака VK — One-cloud. Хочу поделиться примерами из эксплуатации: какие были проблемы в проде на Java при высоких нагрузках, как мы это чинили и какие выводы сделали. Никакой теории на бумаге, только реальные истории из жизни крупной облачной платформы. 

Читать далее

Go: как получить до 5 млн RPS с одного экземпляра Tarantool

Время на прочтение23 мин
Охват и читатели8.5K

Привет, Хабр. Меня зовут Олег Жуковец. Я руководитель команды «Экосистема» в Tarantool R&D компании VK Tech.

Многие разработчики сталкивались с ситуацией, когда запросы к базе данных выполняются быстро, индексы настроены, оборудование справляется с нагрузкой, но конечное приложение все равно работает медленно. Нередко проблема кроется не в самой базе данных, а в некорректно реализованном клиенте, который может стать «бутылочным горлышком» для всего ИТ-ландшафта. Именно поэтому оптимизация клиентов для работы с БД имеет важное значение.

В этой статье я на примере коннектора к Tarantool расскажу о доступных и простых оптимизациях клиента для БД, которые позволяют минимизировать аллокации и число горутин, чтобы выкрутить скорость обработки запросов (RPS) на максимум.

Читать далее

Уменьшаем зависания и оптимизируем потребление трафика: как команда VK Видео работает с viewport на Android

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8.3K

VK Видео — один из крупнейших видеосервисов в России. В декабре 2025 года его ежемесячная аудитория достигла 81,5 млн пользователей. А в первую неделю января 2026 года среднесуточная аудитория VK Видео превысила 42 млн человек (без учёта просмотров на Smart TV и встраиваемых плееров, по данным Mediascope). 

Часть аудитории пользуется сервисом на устройствах Android. Для работы с видео на Android у VK есть единое решение — SDK OneVideo Player. Оно основано на библиотеке Media3 и содержит много улучшений и доработок в части проигрывания видео. Одна из таких оптимизаций — адаптация видео под viewport.

Меня зовут Егор Баженов. Я Android-разработчик в команде видеоплатформы VK. В этой статье я расскажу, как мы внедрили адаптацию под viewport в нашу библиотекуи каких результатов это позволило достичь.

Читать далее

Как AI VK построили единую платформу для рекомендаций, поиска и рекламы в продуктах с многомиллионной аудиторией

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели11K

Привет! На связи команда рекомендаций AI VK. Фактически в каждом продукте есть и рекомендации и поиск, и чтобы каждой команде не приходилось изобретать свой «велосипед», мы разработали единую Discovery-платформу. С ней команды могут «по кнопке» запускать рекомендации, тестировать модели, а также делиться лучшими решениями.

В статье поделились подробностями о том, что из себя представляет единая Discovery-платформа и какие результаты уже заметны.

Переходите под кат, будет интересно ⬇️

Про Discovery-платформу

Роль хранилищ и платформ данных в развитии ИИ

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели8.2K

Сегодня бизнес активно использует машинное обучение (Machine Learning, ML) для решения самых разных задач — от прогнозирования продаж до автоматизации процессов. Однако искусственный интеллект — это не какое-то волшебство, а математика, методы и алгоритмы, которые не будут работать без качественных и подходящих именно им данных. Чем больше качественных данных доступно для анализа, тем более сложные и точные модели можно построить. 

Меня зовут Анна Фенюшина, я ведущий архитектор направления «Дата-сервисы» в VK Tech. В этой статье я разберу, какие поколения ML существуют, какие данные нужны для их реализации и как современные хранилища могут помочь в развитии ИИ.

Читать далее

Исследуем UX-долг: как мы превращали список проблем в продуктовые решения

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели9.3K

Всем привет, я Лена, исследов��тельница в команде Облака Mail. Изучаю опыт пользователей и помогаю командам делать наши сервисы удобнее и понятнее. Управляю проектом UX-мониторинга core-сценариев продуктов Mail.

В этой статье хочу рассказать о том, как мы переосмыслили место исследователя в продуктовой команде и как нам удалось пересмотреть UX-долг*, также о том, как этот подход помог нам стать источником для формирования продуктового бэклога на примере нашей небольшой команды.

Начнём!

Мультизональный PostgreSQL своими руками: декомпозиция трудозатрат

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели12K

Разговор о собственном PostgreSQL-кластере обычно начинается с фразы: «Да там поставить — день работы». Технически это правда. Установка PostgreSQL на два сервера в разных ЦОДах действительно занимает несколько часов. Проблема в том, что установка — это меньше 10% работы до Production-ready-состояния.

В этой статье мы декомпозируем все задачи, которые стоят между идеей развертывания и работающим кластером с отказоустойчивостью между ЦОДами. Все с оценками в человеко-часах, чтобы можно было собрать для себя TCO и сопоставить свои затраты. Учтите, что если все это вы делаете в первый раз, то по всем шагам время увеличивается втрое.

Параллельно покажем те же временные и трудозатраты при выборе Managed-решения, DBaaS (базы данных как сервис), чтобы вы могли сравнить и выбрать — делать дальше самим или передать это на аутсорс.

Читать далее

Как мы измеряем качество в VK Видео

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели10K

Привет, Хабр. Меня зовут Павел Муханов. Я руководитель лаборатории качества видеоплатформы VK.

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

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

Читать далее

Ускоряем загрузку данных в BI в 2 раза: кейс команды VK

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели2.4K

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

Привет, Хабр. Меня зовут Никита Романов, лидирую разработку аналитических инструментов VK. В этой статье расскажу о нашем опыте оптимизации Apache Superset под свои задачи.

Читать далее

Новый open source Java коннектор для Tarantool: практика с примерами кода

Время на прочтение28 мин
Охват и читатели6.6K

VK Tech открывает исходный код коннектора Tarantool Java EE и переименовывает его в Tarantool Java SDK. Дистрибутив станет доступен в Maven Central, что упростит интеграцию с Java-приложениями в корпоративных средах. 

Меня зовут Артём Дубинин, я старший программист в VK Tech. Я разрабатываю коннекторы к Tarantool, а также участвую в разработке различных продуктов в VK Tech. Однажды я понял, что материала про совместную работу Java и Tarantool очень мало и из-за этого может казаться, что совмещать их сложно. Но на самом деле это не так — и иногда альтернативы Tarantool могут быть даже сложнее во взаимодействии. Поэтому я и решил написать эту статью. 

Цель статьи — показать через код, что Tarantool реально совместить с Java без больших полотен кода, а итеративно с небольшими сниппетами (не считая java импортов и xml 😄). Мы будем использовать такие, чтобы каждый мог попробовать провести у себя на компьютере эти эксперименты и понять, что Tarantool легок в использовании.

Читать далее

Как поменять антивирусный движок и не дать ему съесть всю память

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.3K

Привет, Хабр! Меня зовут Максим Галаганов, я ведущий разработчик систем доставки почты в Mail. Занимаюсь в основном почтовым сервером, но сегодня расскажу о другой задаче — как мы меняли вендора антивирусного решения. API нового решения кардинально отличался от старого, и пришлось изрядно поизобретать, чтобы всё заработало.

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

Читать далее

Из опыта команды VK Видео: как мы оцениваем эффект от видеоконтента и при чём здесь propensity score

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели7.6K

Привет, Хабр! Меня зовут Ринат Валеев, я старший аналитик в R&D-команде VK Видео.

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

В этой статье покажу, как мы адаптировали метод propensity score под задачи видеосервиса, автоматизировали расчёты и собрали на их основе удобный self-service инструмент.

Читать далее

Shadow Data в облаке: найти и обезвредить

Время на прочтение4 мин
Охват и читатели6.2K

Shadow Data — данные, которые существуют вне поля зрения ИБ и compliance-команд. 

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

Читать далее

Матрица UX-зрелости: как связать UX-культуру, OKR и реальную работу команд

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели7.1K

На фоне OKR (objective key results), метрик и релизов UX почти всегда живёт где-то сбоку. Формально все согласны, что «UX важен», но на практике он часто остаётся вне мейнстрима и воспринимается как что-то полезное, но расплывчатое: на уровне целей вклад UX-практик в интерфейсные решения редко отображается в результатах и не формализован, а эффект работы над UX-зрелостью сложно измерим. В таких условиях UX держится на отдельных энтузиастах, и без связи с целями продукта культура не масштабируется, она выгорает.

Для этого мы в RuStore за последние три года осознанно научились управлять UX-зрелостью: доказали ценность исследований и поставили их на поток, научились работать с UX-долгом, собрали Atomic Research, внедрили доступность и быстрые тестирования интерфейса. Но со временем возник новый вопрос: как понять, куда развиваться дальше и как соотнести всё это с OKR и целями продукта, а не с личным энтузиазмом нашей UX-команды?

В этой статье я, Екатерина Бессчётнова, руководитель отдела UX-исследований RuStore, отвечу на этот вопрос и расскажу про следующий шаг — как собрать всё это в осмысленную систему, чтобы: видеть, где UX действительно встроен в ежедневные процессы, а где всё ещё держится на личной инициативе; измерять развитие не кейсами, а наблюдаемым поведением команды; и наконец — связать UX-культуру с продуктовыми и бизнес-целями.

Что же такое UX-зрелость?
1
23 ...

Информация

Сайт
team.vk.company
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия
Представитель
Дмитрий Головин