Обновить
64K+
4,02
Оценка работодателя
589,26
Рейтинг
276 728
Подписчики
Сначала показывать

ClickHouse под трейсы: почему шесть бэкендов Jaeger оказались выбором из двух

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

Cloud Tracing — сервис распределённой трассировки в VK Cloud. Приложения отправляют в него спаны по протоколу OpenTelemetry, сервис хранит их и отдаёт через Jaeger-совместимое API. Поэтому трейсы можно открывать в привычных Jaeger UI и Grafana без доработок.

За этой совместимостью стоит выбор хранилища, который для публичного облака оказывается сложнее, чем кажется. Сервис принимает поток спанов от сотен несвязанных клиентов, хранит десятки терабайт телеметрии и должен надёжно изолировать данные проектов друг от друга. По умолчанию один проект может отправлять до 1 МБ/с, а доступ к данным контролируется токенами IAM. При таких ограничениях недостаточно просто выбрать базу, которая быстро записывает спаны или умеет находить трейс по trace ID.

На странице развёртывания Jaeger на момент проектирования сервиса были перечислены шесть вариантов: Cassandra, Elasticsearch, Kafka, gRPC-плагин, Badger и memory. На первый взгляд это полноценный список кандидатов. Но локальные хранилища отпадают для прода, Kafka оказывается буфером перед настоящим хранилищем, а gRPC-плагин служит способом подключить систему, которой в списке нет. В результате сравнивать приходится Cassandra и Elasticsearch, а через плагин появляется третий вариант — ClickHouse.

Я Леонид Левин, архитектор PaaS в VK Cloud. Этот разбор мы подготовили вместе с технологическим евангелистом Стасом Погоржельским и инженерами сервиса. Мы разберём, почему Cassandra и Elasticsearch по-разному подходят для хранения трейсов, что дали чужие продовые кейсы и наши замеры до 362 тысяч спанов в секунду на четырёх ядрах коллектора, а также как схема хранения на ClickHouse закрыла точечное чтение и поиск по атрибутам.

Читать далее

Товарные рекомендации во ВКонтакте: как мы научили Ленту отличать интерес к контенту от намерения купить

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

Привет, Хабр. На связи Николай Карасов, ведущий разработчик отдела рекомендаций контентных сервисов в AI VK. Наша команда отвечает за рекомендации в Ленте ВКонтакте.

Перед нами стояла цель — развить внутри ВКонтакте новый пользовательский сценарий: человек приходит за контентом, видит у автора интересный ему товар и переходит к покупке прямо из социальной сети. Так в Ленте появился новый тип объекта — товарный пост. Первым партнёром в этом сценарии стал Ozon. Дальше речь пойдёт именно про товарные посты авторов в рамках реферальной программы Ozon, а не про любые публикации с товарами.

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

Про товарный контур

«Канарейка» для данных: как мы добавили безопасную доставку снапшотов поверх оркестратора снапшотов

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

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

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

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

Поэтому поверх существующей системы доставки оркестратора снапшотов мы решили сделать «канарейку» для данных.

Читать далее

VK Data Platform под капотом: как устроена платформа для Data Lakehouse

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

Отечественный рынок решений Data Lakehouse активно развивается: после периода пилотных проектов наблюдается массовый переход к промышленным внедрениям. Растущий спрос на такие платформы обусловлен необходимостью обрабатывать разнородные данные в условиях строгих требований к информационной безопасности.

Но нюанс в том, что реализации Data Lakehouse от разных вендоров могут значительно отличаться как на уровне архитектуры, так и на уровне доступных возможностей. Поэтому при выборе решения надо понимать, как оно устроено «под капотом».

В статье расскажем, как именно реализована наша Data Lakehouse платформа для аналитики и ML — VK Data Platform от VK Tech. 

Читать далее

Кеш кандидатов: как снизить расход железа в рекомендательной системе без потери качества

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

Привет! Это Николай Анохин из команды AI VK. В этой статье расскажу про кеширование кандидатов — подход, который делает рекомендательную систему заметно менее требовательной к железу и при этом не трогает качество выдачи. Механизм уже работает в рекомендациях VK Видео и VK Клипов.

Как мы реализовали кеширование кандидатов

Неудаляемый бэкап: три режима Object Lock и цена неверного выбора

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

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

Так может случится в любой момент. Например, если будет взлом  инфраструктуры компании, у которого основной источник общения с клиентов это сайт и почта и “резервные копии хранились на одном сервере с сайтом”, то будет очень печально, тк восстановить будет крайне сложно.

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

Читать далее

Как устроено автоматическое охлаждение данных в in-memory HTAP СУБД: разбор механизма на примере Tarantool Column Store

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

Классические базы данных в современных высоконагруженных сценариях быстро упираются в потолок: когда от одной системы требуются миллионы транзакций в секунду и тяжелые аналитические срезы по всей истории событий, традиционный стек просто не вывозит. Поэтому компании всё чаще переходят на in-memory HTAP-системы, которые объединяют OLTP- и OLAP-нагрузки под капотом и дают нужную скорость за счет того, что держат горячие данные в оперативной памяти (RAM).

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

Меня зовут Екатерина Силецкая. Я старший менеджер продукта Tarantool Column Store (TCS) — in-memory HTAP СУБД от VK Tech для транзакций и аналитики в реальном времени. В статье расскажу на примере Tarantool Column Store, как работает механизм охлаждения в HTAP-системах и в каких сценариях может быть полезен. 

Читать далее

Федерация корпоративного мессенджера: как связать независимые On-Premise-контуры и сохранить контроль над данными

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

Корпоративный мессенджер обычно работает внутри управляемого контура: ИТ управляет доступом, информационная безопасность — политиками и потоками данных. Но проектные команды редко совпадают с юридическими границами компании. Сотрудникам нужно постоянно общаться с подрядчиками, партнерами и коллегами из дочерних обществ, и желательно не переносить рабочий контекст в публичные сервисы.

В ноябре 2025 года мы выпустили федерацию VK WorkSpace для двух On-Premise-инсталляций. В релизе 26.2, вышедшем в июле 2026 года, сняли ограничение на парное взаимодействие: теперь в одном чате могут работать участники из нескольких независимых контуров. В статье разберем, как устроена модель доверия, почему мы выбрали репликацию данных на стороне каждой организации, что пришлось изменить в клиентских приложениях и какие ограничения у решения остаются.

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

Читать далее

FastWave: как мы сделали самую лёгкую диффузионную модель для BWE

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

Привет, Хабр! Меня зовут Никита Кузнецов, я студент мастерской по сервисам и платформам ИИ Инженерно-математической школы НИУ ВШЭ и VK. Хочу поделиться историей и техническими подробностями нашего проекта FastWave, который был реализован под руководством Максима Каледина, доцента ФКН НИУ ВШЭ, и Александра Тараканова, исследователя AI VK и доцента ФКН НИУ ВШЭ. Мы разработали лёгкую диффузионную модель для восстановления высокочастотных деталей звука (BWE, Bandwidth Extension). Она повышает частоту дискретизации любого аудио до студийных 48 кГц, весит всего 1,3M параметров и быстро работает.

Читать далее

Tarantool против Qdrant и pgvector: честный эксперимент на 1,18 млн векторов

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

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

Привет, Хабр. Меня зовут Георгий Белянин. В статье я разберу архитектуру векторного поиска в Tarantool и приведу результаты сравнения скорости вставки и запросов с Qdrant и pgvector.

Читать далее

Kubernetes без границ: Managed Kubernetes как вычислительный центр для ИИ

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

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

Меня зовут Александр Прохоров. Я эксперт команды разработки Developer Productivity в VK Cloud. В статье расскажу, почему классическая инфраструктура тормозила развитие ИИ-проектов и какой подход к управлению вычислительными ресурсами стал ответом на эти вызовы.

Читать далее

CSS в 2026 году: где JavaScript уже не обязателен

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

Когда работаешь с такими масштабными продуктами, как мы делаем в VK, быстро начинаешь ценить код, который можно не писать. Особенно если речь о небольших сценариях: открыть поповер, анимировать появление блока или подстроить поле под контент. Ещё недавно для таких задач мы почти автоматически тянулись к JavaScript. Но за последние два года CSS сильно расширил свои возможности для задач, связанных с интерфейсом.

Я Максим Кузнецов, занимаюсь оптимизацией производительности и улучшением стабильности веб-версий ВКонтакте. В этой статье расскажу, что уже можно использовать как альтернативу JS, что стоит попробовать аккуратно, а за чем пока лучше просто следить.

Читать далее

Prometheus и VictoriaMetrics: почему одни и те же метрики могут занимать в 139 раз больше места

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

Меня зовут Стас Погоржельский, я технологический евангелист VK Cloud и последние месяцы гоняю Prometheus и VictoriaMetrics на одном стенде, чтобы понять, сколько на самом деле стоит одна точка метрики на диске.

Обе системы делают одно и то же: принимают миллионы точек в минуту, хранят их месяцами и быстро отдают в алерты и дашборды. Обе сжимают точку до байтов и долей байта. Именно эти байты, умноженные на миллиарды точек в сутки, превращаются в счёт за диск. Ошибка в расчёте цены сэмпла заканчивается переполненным диском под мониторингом, урезанным retention или незапланированным расходом.

Когда место под метрики кончается, первым на планёрке звучит «сменим движок». Публичные бенчмарки подталкивают к тому же: Флант показывает, что Prom++, форк Prometheus, тратит памяти в 7,8 раза меньше Prometheus v2 (разбор на Habr), VictoriaMetrics показывает трёхкратную экономию диска против Grafana Mimir (бенчмарк VictoriaMetrics, замер вендора, 2022 год).

На моём стенде картина оказалась сложнее. В Prometheus 3.13 и VictoriaMetrics 1.149 ушёл один и тот же набор: 2,88 млн сэмплов, шесть профилей данных, один генератор с фиксированным seed. Внутри одного движка цена сэмпла различалась в 139 раз у VictoriaMetrics и в 12,8 раза у Prometheus. Между движками на одних данных разрыв доходил до 30,7 раза на шести профилях и до 34,3 раза в опыте с точностью. На равномерно случайных float64 движки менялись местами. Один лишний знак после запятой поднимал цену сэмпла у Prometheus в восемь раз, у VictoriaMetrics на 12%.

Читать далее

Bucket Access Policy: когда авторизацию возвращают в хранилище, а прокси выключают

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

У нас в публичном облаке VK Cloud у каждого бакета Object Storage есть Bucket Access Policy. Это набор правил в формате JSON, который лежит на самом бакете и говорит, кому какие операции с какими объектами разрешены. Хранилище проверяет эти правила само на каждый запрос. Включается политика в личном кабинете и через S3 API, и я регулярно вижу проекты, где её не настраивали ни разу.

В статье разбираю состав бакет-политики, её отличия от AWS-руководства и что задавать областью действия ключа, а что политикой. Дальше три механизма проверки на endpoint и порядок между ними, перенос политики из AWS-руководства как есть с разбором, почему он не работает, и четыре итерации доводки (Resource, Principal, aws:SourceIp, явный Deny). Затем матрица из 16 запросов с ожидаемыми кодами и скрипт прогона, метрика доли отказов по Cloud Audit, регуляторика, чек-лист переноса между AWS S3, Ceph, MinIO и VK Object Storage.

Пригодится тем, кто держит прокси перед хранилищем и хочет перенести правила доступа в само хранилище, и специалистам по ИБ, которым нужно доказать разграничение доступа выгрузкой, а не скриншотом консоли. Для другого S3-совместимого хранилища применима основная часть: механика проверки и матрица тестов от платформы не зависят.

Читать далее

От обновлённого ранкера до алгоритма Брезенхема: что дало + 11% ко времени в ленте ВКонтакте в 2026 году

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

Привет! Это Степан Малькевич, руководитель группы рекомендаций ленты ВКонтакте (AI VK).

За прошедшие месяцы 2026 года время в ленте выросло на 11%. За этими цифрами — серия изменений, каждое из которых сделало свой вклад в рост метрик. Сейчас расскажу, что мы обновили и что из этого вышло.

Читать далее

Меньше шума, больше смысла: опыт SESAME для Speech Enhancement

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

Привет, Хабр! Мы — Александр Забурдаев, Ксения Золина, Даниил Марценюк, Илья Трофименко, Илья Кулешов — студенты мастерской по сервисам и платформам ИИ в Инженерно-математической школе НИУ ВШЭ и VK. Хотим поделиться опытом, который мы накопили, пытаясь перестать кормить весь речевой сигнал одной и той же нейросети целиком, и дать разным экспертам разбираться с разными типами шума. 

Речь пойдёт о задаче улучшения качества речи (Speech Enhancement, SE) и о том, как получилось интегрировать в неё разреженную смесь экспертов (sparse Mixture of Experts, MoE). Это архитектура, которая в языковых моделях уже стала стандартом, а в обработке аудио до сих пор не прижилась.

Модель мы назвали SESAME — Speech Enhancement with Sparse Adaptive Mixture of Experts. Она построена на базе MP-SENet. В ней стандартные полносвязные блоки внутри трансформера заменены на разреженный MoE-модуль. Код проекта доступен на GitHub.

Зачем вообще понадобилась очередная модель шумоподавления, когда их и так десятки — расскажем ниже. А заодно разберём, какие трюки из мира LLM в аудио работают, а какие нет (например, Expert Choice) — и почему.

Читать далее

Нейроранжирование. Отказ от бустинга в пользу нейросетей

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

Привет! Меня зовут Михаил Трапезников, я руководитель группы рекомендательных технологий в AI VK.

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

Читать далее

Как мы делали многоуровневую память для корпоративных AI-агентов в VK AI Space

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

Привет, Хабр. Меня зовут Сергей Врулин, я Team Lead в команде агентов VK AI Space — корпоративной платформы для создания и запуска AI-агентов.

В июле 2026 года VK AI Space представила многоуровневую память для корпоративных AI‑агентов. Она позволяет агентам сохранять и переиспользовать информацию на всех этапах работы — в текущем диалоге и в рамках долгих проектов. Потенциально это позволит ускорить подготовку ответов и уменьшить число повторных задач.

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

Читать далее

Выбор Kafka UI: сравнение популярных инструментов для Apache Kafka от VK Data Platform

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

Apache Kafka — популярная система потоковой обработки событий, предназначенная для сбора, хранения и передачи больших объемов данных в режиме реального времени. Она используется тысячами компаний и разработчиков для построения высокопроизводительных, отказоустойчивых и масштабируемых решений в области аналитики данных, IoT, микросервисов и многих других сфер.

Однако у Kafka есть один важный нюанс: «из коробки» у нее нет графического интерфейса (GUI), что затрудняет понимание текущего состояния кластера, диагностику неполадок и эффективное управление инфраструктурой и самим сервисом, особенно для начинающих пользователей или тех, кому сложно взаимодействовать с консольными инструментами.

Поэтому для комфортной работы с Apache Kafka активно используются специализированные UI-инструменты. Например, ранее для облачного сервиса Managed Kafka от VK Cloud мы использовали Provectus Kafka UI, но в рамках развития сервиса решили заменить UI на более современный и функциональный.

Меня зовут Никита Суровегин. Я продукт-менеджер в команде VK Data Platform, VK Tech. В этой статье я расскажу, с чего мы стартовали, какие инструменты проанализировали и что выбрали в итоге.

Читать далее

Локальный ИИ-агент в своём контуре: Ollama плюс OpenClaw на серверном GPU

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

Однажды за один вечер мне пришлось разобрать двенадцать ошибок, и почти все прятались в конфигурации и связях между компонентами. Модель отвечала пустой строкой, хотя в логах не было ни одной явной ошибки. Агент не мог достучаться до Ollama, панель не проходила авторизацию, ключ отклонялся из-за прав доступа, а gateway показывал зелёный статус, но будто не замечал изменений в конфиге.

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

Статья написана на основе моего вебинара, можно посмотреть его в записи. 

Читать далее
1
23 ...

Информация

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