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

Выходим за рамки привычных сценариев: как оптимизировать разработку с помощью VK Data Symphony

Время на прочтение6 мин
Количество просмотров113

Лишь 25% времени разработчика уходит на написание кода. Остальное тратится на ревью, созвоны и другие задачи. Поэтому справедливо, что большинство команд разработки использует различные методики и инструменты, которые позволяют оптимизировать и автоматизировать бизнес-процессы.

Разбираемся, что упростить в работе разработчика и как в этом может помочь платформа VK Data Symphony.

Читать далее

Машинное обучение на Spark

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров442

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

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

Читать далее

Гетерогенные вычисления: проектирование и разработка вычислительной системы для нейросетей

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.1K

Всем привет! Меня зовут Дарья Ильянова, и сегодня я хочу поделиться с вами опытом создания гетерогенной вычислительной системы для нейросетей, над которой мы работали в команде студентов Инженерно-математической школы НИУ ВШЭ и VK. Вместе с Филиппом Баулиным и Артемом Минеевым мы спроектировали прототип аппаратно-программного ускорителя для машинного обучения.

Читать далее

Качество видео в онлайн-звонке: как его оценить и какие инструменты использовать

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров416

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

Меня зовут Алексей Шпагин. Я руковожу командой бэкенда проекта VK Звонки. В нашем сервисе видеоконференций можно проводить групповые звонки без ограничений по времени и количеству участников, совместно просматривать видео, а также демонстрировать экран в формате 4К. В этой статье расскажу, почему может снижаться качество транслируемого изображения, как эту проблему решить и какими инструментами оценивать результаты. Чтобы подкрепить рассуждения, в качестве примеров я буду использовать кейсы VK Звонков.

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

Читать далее

Возможности LLM и RAG на примере реализации бота для поддержки клиентов

Время на прочтение9 мин
Количество просмотров3.3K

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

Меня зовут Александр Волынский. Я технический менеджер продукта в подразделении Applied ML. В этой статье я хочу рассказать об LLM и RAG, вариантах их использования на примере нашего бота для поддержки клиентов, а также о сценариях применения полученной реализации.

Читать далее

Дедупликация в OpenZFS теперь хороша, но использовать её не стоит

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров5.1K

Вот-вот выйдет релиз OpenZFS 2.3.0 с новой функцией Fast Dedup. Это огромный шаг вперёд по сравнению со старой дедупликацией и отличный фундамент для будущих доработок.

Контрибьютор OpenZFS @gmelikov и команда VK Cloud совместно перевели статью об этом релизе, в которой новая функция сравнивается со старой дедупликацией и описывается максимально подробно с практическими примерами. В 2023–2024 коллеги из Klara много работали над этой функцией, и мы согласны с ними, что она весьма хороша! 

После релиза Fast dedup на многих ресурсах в обсуждениях продолжили писать, что «новый дедуп всё так же плох, он требует столько же ОЗУ и также убивает производительность». Но эта информация лишь отчасти близка к правде и повторяет всё тот же мотив, который когда-то кто-то озвучивал на форумах.

Винить в этом никого не хочется. И не стоит, так как дедупликация в OpenZFS и правда была очень требовательной к правильному применению. Найти качественные гайды тоже не просто, ответ по умолчанию — «не используйте её» — был и (в целом) остаётся правильным. Но, по прошествии почти 20 лет жизни дедупа в OpenZFS, настало время вернуться к этому вопросу.

Посмотрим на свежую информацию об имплементации дедупа в OpenZFS, как он работал до улучшений, в чём была его проблема, что поменяли в fast dedup, и почему же это всё ещё не дефолт.

Читать далее

Кэшируем поток данных из Kafka в Tarantool: подробный пример реализации с кодом и результатами

Время на прочтение26 мин
Количество просмотров2.4K

Apache Kafka — популярный распределенный брокер сообщений, который собирает и сохраняет сообщения (данные) со всех источников, а после предоставляет их программам и сервисам-получателям. Благодаря своей производительности и архитектуре инструмент довольно активно используется в проектах, где нужно гонять большие объемы данных. Но даже возможностей Kafka не всегда достаточно — иногда системам нужен буст по скорости и надежности. И получить его можно с помощью кэширования данных в Tarantool.

Меня зовут Никита Молоствов. Я старший программист в команде разработки VK Tech. В этой статье я расскажу о том, как можно наладить взаимодействие Kafka и Tarantool, зачем может понадобиться кэширование потока из Kafka в Tarantool, и дам подробную пошаговую инструкцию, с которой каждый сможет применить мои наработки в собственной системе.

Читать далее

Мониторинг основных продуктовых метрик в Superset

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

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

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

Читать далее

Как выявлять и устранять узкие места в процессах разработки и при чем здесь Process Mining

Время на прочтение7 мин
Количество просмотров1.1K

Часто при разработке больших продуктов несколькими смежными командами движение задачи между этапами и исполнителями превращается в игру в «напёрстки» — теоретически можно отследить каждое действие, но на практике это не совсем просто. Чтобы избавиться от слепых зон в контроле и повысить эффективность разработки, компании нередко прибегают к внедрению технологии Process Mining.

Меня зовут Ольга Свиридова. Я руководитель проектов по внедрению VK Process Mining. В этой статье я расскажу, что такое Process Mining, как технология помогает выявлять узкие места в процессах и улучшать их, а также познакомлю с нашим инструментом — VK Process Mining.

Читать далее

Tracer спустя год: новые фичи и возможности инструмента для аналитики ошибок в мобильных приложениях

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

Tracer — модульный инструмент для аналитики ошибок в мобильных приложениях от OK.Tech, который мы представили год назад. За это время в Tracer зарегистрировалось более 1400 организаций и 5000 пользователей. Сейчас решение обрабатывает более 1 млрд событий в день и обслуживает приложения, которые имеют суммарный DAU в 20 млн пользователей. Опыт наших клиентов показывает, что Tracer успешно справляется с поставленными задачами, но мы всё равно не останавливаемся на достигнутом.

Меня зовут Кирилл Попов. Я руководитель направления Android-разработки в ОК. В этой статье я расскажу, какие возможности получил инструмент за последний год, и что мы планируем реализовывать в перспективе.

Читать далее

Быстрее некуда: собираем удобный поиск по коду из нескольких CLI-утилит

Время на прочтение9 мин
Количество просмотров4.6K

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

Эффективность такого инструмента определяется как скоростью работы, так и удобством использования. В частности, кастомизация под себя позволяет разгрузить мышление и включить «мышечную память» — когда руки сами нажимают кнопки, а все внимание сосредоточено на обработке результатов поиска. Не все инструменты позволяют провести такую тонкую настройку. Меня зовут Роман Щекин, я работаю руководителем команды разработчиков в VK Cloud, и в этой статье мы с вами поищем серебряную пулю, попробуем достичь сочетания скорости и удобства в виде собранного из кросс-платформенного опенсорса поисковика.

Читать далее

Об анатомии крэшей на iOS «по-взрослому»

Уровень сложностиСложный
Время на прочтение23 мин
Количество просмотров6.3K

Привет, Хабр. Меня зовут Давид Чупреев. Я разработчик мобильных приложений в команде Core iOS ОК. 

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

Читать далее

Создание кастомного балансировщика нагрузки на Go для gRPC с приоритизацией адресов

Время на прочтение7 мин
Количество просмотров5.8K

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

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

Читать далее

Data catalog: от истории до сравнения решений

Время на прочтение11 мин
Количество просмотров2.1K

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

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

Читать далее

Коммитить нельзя сканировать: как мы боремся с секретами в коде

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

Привет Хабр! Меня зовут Александр Карпов, я работаю в команде защиты приложений ИБ VK. Сегодня я хочу рассказать про наш процесс поиска секретов в каждом коммите в GitLab. У нас, как и у большинства компаний, был классический процесс борьбы с секретами – различные инструменты сканировали кодовую базу, и при обнаружении паролей, токенов и т.д. нам приходилось их ротировать. Главная проблема такого подхода в том, что проверить, действительно ли секрет был инвалидирован, не всегда возможно. По этой причине мы решили, что оптимально будет вычищать кодовую базу от любых секретов.

Читать далее

Чего на самом деле стоит ждать от ИИ и почему он начнет приносить прибыль раньше, чем кажется

Время на прочтение30 мин
Количество просмотров5.5K

Команда VK Cloud перевела интервью с Эйданом Гомесом, генеральным директором и соучредителем компании Cohere. Cohere — один из самых обсуждаемых стартапов в сфере ИИ на данный момент, но его ориентир чуть отличается от многих других. В отличии, например, от OpenAI, он вовсе не производит потребительские продукты. Вместо этого Cohere сосредотачивается на корпоративном рынке и создает ИИ-продукты для крупных компаний. Из интервью вы узнаете, в чем особенности такого подхода, что ИИ может, а чего не может, и что происходит на корпоративном рынке искусственного интеллекта.

Читать далее

Автоматизация управления ресурсами окружений в Dev Platform

Время на прочтение11 мин
Количество просмотров1.2K

При работе с облачной инфраструктурой важна не только гибкость использования ресурсов, но и возможность автоматизировать основные рутинные процессы. При разработке своих продуктов мы в команде VK Tech стараемся следовать именно этим принципам. В нашем продукте Dev Platform в рамках одной из возможностей реализовано автоматическое управление инфраструктурными ресурсами, необходимыми для разработки программного обеспечения — например, виртуальными машинами, Kubernetes-кластерами и прочими.

Меня зовут Виктор Горячкин. Я старший разработчик Dev Platform в VK Tech. В этой статье я расскажу о разработанном нашей командой решении для автоматизации развертывания инфраструктуры.

Читать далее

Почтовая система VK WorkSpace в собственном дата-центре: архитектура, миграция с Exchange, внедрение и эксплуатация

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров2.5K

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

Но варианты почтовых систем даже под такие запросы есть. Один из них — VK WorkSpace

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

Читать далее

Обзор готовых решений для построения портала IDP и когда они не подходят: анализ на примере кейса компании Evrone

Время на прочтение10 мин
Количество просмотров1K

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

Меня зовут Александр Кириллов. Я СТО в компании Evrone. В этой статье я расскажу о наших предпосылках внедрения IDP, поиске вариантов реализации и объясню, почему иногда готовые решения не подходят.

Читать далее

Три распространенных ошибки с метриками Kubernetes в PromQL

Время на прочтение4 мин
Количество просмотров2.2K

Миллионы разработчиков пишут запросы PromQL и создают пользовательские дашборды Grafana для Kubernetes. И все используют одинаковые метрики из node-exporter, kubelet и kube-state-metrics. К сожалению, не все знают, как при работе с метриками обойти некоторые подводные камни.‍

Команда VK Cloud перевела статью, в которой автор разбирает ошибки в одном простом с виду запросе Prometheus для Kubernetes. Он должен возвращать сведения об использовании памяти пода:

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

Информация

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