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

AppSec-платформа для сотен миллионов строк кода

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

Сегодня я хочу рассказать про нашу внутреннюю AppSec-разработку – платформу Security Gate. Начну с предпосылок для ее создания, подробно опишу архитектуру решения и поделюсь открытиями и маленькими неожиданностями, которые ждали нас (и могут ждать любого в рамках построения похожего инструмента).

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

Читать далее
Всего голосов 23: ↑23 и ↓0+26
Комментарии9

Миграция в облако быстро и без ошибок. Часть 3: миграция кластера Kubernetes

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

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

Меня зовут Михаил Карцев. Я инженер по разработке и эксплуатации в VK Cloud. Мы продолжаем серию статей о правильной и безопасной миграции компонентов виртуальной инфраструктуры между облаками. В первом и втором материалах серии мы разобрались с переносом между платформами виртуальных машин, баз данных и объектных S3-хранилищ, а в этой статье разберемся с миграцией кластера Kubernetes из AWS в VK Cloud. 

Читать далее
Всего голосов 19: ↑18 и ↓1+21
Комментарии0

Как мы в RuStore на docs as code переходили

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

Приветствую всех! Меня зовут Катя Фролова, я работаю техническим писателем в RuStore.

В прошлом году документация RuStore переехала на новый движок.

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

Читать далее
Всего голосов 25: ↑23 и ↓2+22
Комментарии6

Миграция в облако быстро и без ошибок. Часть 2: миграция баз данных и объектных хранилищ S3

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

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

Читать далее
Всего голосов 13: ↑12 и ↓1+17
Комментарии3

Безопасность в Django: защита от распространенных угроз веб-приложений

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

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

Читать далее
Всего голосов 27: ↑26 и ↓1+30
Комментарии4

Визуализация данных: четыре простых способа быстро улучшить диаграмму

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

Для многих специальностей, будь то бизнес-аналитика, Data Science или геология и геофизика, эффективная визуализация данных вошла в число принципиально важных навыков. Наглядное представление информации, понятное и эстетически привлекательное, может подтолкнуть целевую аудиторию к определенным мыслям или действиям. Хотя на Python создано несколько библиотек визуализации данных, студенты, изучающие этот язык и аналитику данных, часто начинают с Matplotlib.

Команда VK Cloud перевела руководство, как улучшить диаграммы, созданные в Matplotlib. Все показано на реальных примерах.

Читать далее
Всего голосов 20: ↑20 и ↓0+24
Комментарии3

Миграция в облако быстро и без ошибок. Часть 1: миграция виртуальных машин

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

Меня зовут Павел Зимин. Я системный инженер в VK Cloud. Этой статьей мы начинаем серию публикаций о правильной и безопасной миграции компонентов виртуальной инфраструктуры между облаками, в которой дадим пошаговые алгоритмы и подсветим возможные нюансы.

Читать далее
Всего голосов 14: ↑13 и ↓1+18
Комментарии1

Как выстроить работу с кросс-продуктовыми фичами, чтобы не было мучительно больно: опыт команды VK WorkSpace

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

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

Меня зовут Таисия Толстунова, и на примере команды обеспечения качества продуктов в VK WorkSpace я расскажу, какие трудности могут возникнуть при работе с кросс-продуктовыми фичами и как минимизировать потенциальные проблемы.

Материал подготовлен по мотивам совместного моего совместного доклада с Еленой Кореневой «Преодоление трудностей кросс-продуктового тестирования».

Читать далее
Всего голосов 7: ↑7 и ↓0+13
Комментарии0

Выжимаем из Go максимум производительности

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

Разработчики, которые используют Go, сталкиваются с задачей выжать максимальную производительность из каждой строки кода. Но что делать, если оптимизировать уже нечего, а увеличивать скорость всё равно надо?

Меня зовут Никита Галушко. Я старший программист-разработчик в отделе высоконагруженных систем и оптимизации ВКонтакте. В статье поделюсь, какие хитрости помогут использовать Go на полную мощность.

Читать далее
Всего голосов 73: ↑71 и ↓2+84
Комментарии40

Как мы победили техдолг в RuStore

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

Приветствую всех! На связи Михаил Емельянов, руководитель Android-направления в RuStore.

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

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

Читать далее
Всего голосов 26: ↑24 и ↓2+29
Комментарии6

Почему Starburst Icehouse подходит не всем

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

Недавно CEO Starburst опубликовал манифест о будущем открытого озера данных. В манифесте он говорит об Icehouse, архитектуре озера данных нового поколения на базе Trino и Iceberg. Глядя на нее, многие разработчики недоумевали: «А чем она отличается от любой другой архитектуры Data Lakehouse?». Команда VK Cloud перевела статью о концепции Icehouse. Вы поймете, почему в ней нет необходимости и почему она подходит далеко не всем, кто работает с открытыми архитектурами озера данных.

Читать далее
Всего голосов 11: ↑9 и ↓2+14
Комментарии0

ELK: использовать нельзя изобрести

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

Прекрасный момент: система написана, часть тестов автоматизирована, отчеты сгенерированы и даже выявлено несколько дефектов. Выдыхаем и будем думать о дальнейших планах: увеличить тестовое покрытие, добавить стабильности и что-то делать с логированием. Стоп, подождите, вы про логи? Заряжаем ELK, агенты сбора, выделяем ресурсы. Как нет ресурсов? Так, может быть, rsyslog в конце концов? И его нельзя? Звучит как тестовая задача на собеседовании, однако можно ли в такой ситуации обойтись без дополнительных инструментов, да еще и интегрировать работу с логами в систему автоматизации тестирования?

Читать далее
Всего голосов 13: ↑13 и ↓0+20
Комментарии1

Зачем делать прожорливый софт: принципы reconciliation loop (Привет, K8s!)

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

Привет, Хабр! Меня зовут Георгий Меликов, я из VK Cloud и руковожу там инфраструктурной разработкой (IaaS) облака, где мы создаём SDN (Software Defined Networks) — программно определяемые сети; SDS (Software Defined Storages) — программно определяемые хранилища; и другие решения.

А ещё на досуге я — контрибьютор файловой системы OpenZFS с 2016 года.

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

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

2) Эксплуатировать системы без людей — полностью автоматически.

3) Использовать принцип «Дизайн на отказ». Система должна уметь переживать любой возможный сбой и проблему, т.е.обладать так называемым качеством самовосстановления (self-healing).

Предлагаю пройтись эволюционно от простого примера "облака на минималках" до нашей production среды на несколько ЦОДов, собрав по пути проблемы из нашей реальной жизни.

Читать далее
Всего голосов 28: ↑28 и ↓0+37
Комментарии2

FUSE: как написать свою файловую систему

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

Меня зовут Максим, я ведущий разработчик в VK. Занимаюсь инфраструктурой доставки электронной почты в проекте Mail.ru. Наша команда разработала и довела до эксплуатации файловую систему (ФС) на FUSE в рамках проекта распределённой почтовой очереди. В проекте требовалось реализовать сетевую ФС, которая сохраняет данные в трёх копиях, в разных ЦОДах. Цель — повысить отказоустойчивость, чтобы даже полный выход из строя одного ЦОДа не приводил к нарушениям SLA. Эта статья для всех, кто интересуется файловыми системами и хранением данных. Мы обсудим:

- зачем писать свою ФС;

- как написать свою ФС с помощью фреймворка FUSE;

- какие подводные камни есть у эксплуатации FUSE в production.

Эта статья — результат трёх лет разработки ФС. Сейчас самое время заварить чай, рассказ будет долгим. 

Заварить чай и читать
Всего голосов 63: ↑63 и ↓0+78
Комментарии15

Как организовать безопасность контейнеров на базе Open Source

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

Привет Хабр! Меня зовут Татьяна Хуртина, и я программист в группе внутренней автоматизации ИБ VK. Недавно я выступала на киберфестивале PHDays c докладом про наш подход для мониторинга безопасности контейнеров. На примере опыта в inhouse-облаке Дзена я рассказала, как можно использовать open source решения, чтобы искать уязвимости в Runtime. 

И сразу оговорюсь, что тут в понятие Runtime мы вкладываем мониторинг уязвимостей в запущенных в оркестраторе контейнерах в (почти что) реальном времени.  Если перед вами стоит похожая задача, возможно, вам пригодится наш практический опыт. Публикую здесь ключевые мысли и схемы. 

Читать далее
Всего голосов 20: ↑19 и ↓1+25
Комментарии6

Как мы сделали свой mini-k8s на go с helm шаблонизатором

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

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

Меня зовут Станислав Иванкевич. Я старший программист в команде разработки DataMasters компании VK Tech. В этой статье я расскажу, как мы применили подход с декомпозицией при разработке своего mini-k8s для автоматизации создания и поддержки приложений в пользовательских кластерах Kubernetes.

Читать далее
Всего голосов 17: ↑17 и ↓0+22
Комментарии0

От платформы к коробочным продуктам: анализ архитектуры Tarantool

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


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

Но так было не всегда: за 15 лет Tarantool прошел большой путь, на котором были как успехи, так и подводные камни.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+29
Комментарии0

Экскурс в «святая святых» ОК: как мы пишем и ревьюим код автотестов

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

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

Делимся опытом работы с автотестами в ОК: от подходов к постановке задач до схемы настройки окружения статического анализатора кода.

Материал подготовлен по мотивам доклада руководителя команды автоматизации тестирования ОК Эмилии Куцаревой и младшего инженера по автоматизации тестирования соцсети Евгения Буровникова на ИТ-конференции «Стачка».

Читать далее
Всего голосов 9: ↑9 и ↓0+16
Комментарии1

Как и зачем мы затащили GeckoView в Почту

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

Начиная с июня 2023 года мы стали получать жалобы от пользователей о том, что у них не отображаются письма в Android-клиенте Почты Mail.ru. В ходе исследования мы даже приглашали пользователя к нам в офис для отладки. В конце концов мы поняли, что проблема на стороне WebView, компонента, с помощью которого мы можем отображать веб страницы. Ни для кого не секрет, что WebView используется во многих банковских и почтовых клиентах, в приложениях интернет-магазинов, сервисов доставки и многих других. Также изучили другие почтовые сервисы, нам хотелось понять, как они с этим справились. Оказалось — никак :)

А теперь обо всём в подробностях и с кодом
Всего голосов 52: ↑52 и ↓0+59
Комментарии10

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

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


Нарушение конфиденциальности данных, хранящихся на серверах компаний, недопустимо и неизбежно ведет к тяжелым последствиям. Поэтому компании стараются «обвешать» свои хранилища всеми возможными мерами защиты. В том числе прибегают к использованию сервисов шифрования данных в состоянии покоя, которые гарантируют, что даже если злоумышленник получит физический доступ к устройству, он не сможет прочитать находящиеся на нем данные без ключей расшифровки.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+24
Комментарии1
1
23 ...

Информация

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