24 и 25 ноября 2022Крокус-Экспо 3, зал 20offline + online
создано сообществом

HighLoad++ 2026Крупнейшая профессиональная конференция для разработчиков высоконагруженных систем

Подать доклад
2500+участников
100+спикеров
7+стримов
10+воркшопов и мастер-классов
36членов ПК
Что изменилось
Ответ на вопрос «как сделать» подешевел — его даёт модель. Подорожало то, чего у модели нет: инженерное мышление, доменная экспертиза и опыт из первых рук.
ДВАДЦАТЬ ЛЕТHighLoad++ отвечал на вопрос «как построить»: архитектуры, базы, паттерны. Рецепты со сцены — в конспект и в прод.
ТЕПЕРЬ«Как» за секунды пишет агент. Конференция — место, где разбирают то, что агенту не доверишь: почему система устроена именно так, где инструмент ошибается и что ляжет под нагрузкой, хотя выглядело production-ready.
Пульс сообщества

Программа, собранная по данным

Программный комитет измерил боли инженерного сообщества и собрал программу вокруг них. Раскройте боль, чтобы увидеть, как её разбирают на HighLoad++.
524 000единиц контента: статьи, комментарии, сообщения
15+источников: профильные чаты, Хабр, LOR, OpenNet, Reddit, опросы
6 460блоков-болей, выделенных из этого массива
234запроса после ранжирования по силе сигнала

Самая обсуждаемая проблема сообщества: GitHub, PyPI и Docker Hub доступны через раз, гонка с DPI съедает рабочие часы, зависимости приходится зеркалировать. Внешние условия не изменить — инженерные ответы есть.На HighLoad++ 2026 под это выделена секция «Работа в условиях фрагментированного мира»: архитектура связности с несколькими провайдерами, зеркала и вендоринг, деградация без падения, DDoS-защита в зоне .ru, надёжность на российских хостерах.

Лимиты подписок сгорают на тривиальных запросах, расход токенов не прогнозируется, а доказать окупаемость внедрения не выходит — это боль и инженеров, и их руководителей.Секция «Агентная платформа» разбирает экономику всерьёз: сколько стоит платформа и как это посчитать, своя модель против внешнего API, архитектура GPU-кластера под инференс.УЖЕ РАЗБИРАЛИ В ИЮНЕ
Опыт перехода от MaaS к selfhosted/on-premise моделям — Сергей Нотевский, Битрикс24

Агент уверенно пишет код, который плохо поддерживается и прячет баги до первого инцидента. «Как проверить сделанное агентом» — самый частый вопрос индустрии по нашим данным.В программе: верификация работы агентов, границы применимости — где агенты работают, а где ломаются, AI в легаси без порчи пятнадцатилетней Java.УЖЕ РАЗБИРАЛИ В ИЮНЕ
Context is a must: системное управление контекстом AI-агентов — Андрей Неведин, Райффайзенбанк

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

Промахи планировщика, зависшие реплики, массовые UPDATE на сотнях миллионов строк — классика, которая болит сильнее любого хайпа.Трек «Базы данных»: методика разбора EXPLAIN, которая экономит дни, репликация и DR без потери транзакций, HA всерьёз — Patroni, etcd, шардирование.УЖЕ РАЗБИРАЛИ В ИЮНЕ
Допиливаем свой форк Постгреса свистелками — Андрей Бородин, Yandex Cloud, воркшоп

npm, PyPI, GitHub Actions — атаки на supply chain в топе проблем. Теперь к субъектам добавились агенты с широкими доступами.Секция безопасности: как строить защиту цепочки поставок, секреты и выдача учётных данных на масштабе, инъекции нового поколения — вывод LLM, попадающий в shell.УЖЕ РАЗБИРАЛИ В ИЮНЕ
Из 234 запросов ПК собрал 78 конкретных докладов, которые ищет, — в 17 группах. Полный список с методикой — в исследовании «Пульс сообщества». Повторим замер в зале на конференции.
Доклады и спикеры
Александр Салтанов

Александр Салтанов

VK Cloud, VK
Как перестать быть стартапом (от текущего CTO будущим CTO)
Александр Тоболь

Александр Тоболь

ВКонтакте, VK
Техстратегия и архитектура highload-проекта на примере ВКонтакте
Андрей Бородин

Андрей Бородин

Yandex Cloud
SPQR: горизонтальное масштабирование PostgreSQL
Александр Попов

Александр Попов

Positive Technologies
Безопасность ядра Linux: в теории и на практике
Кирилл Алексеев

Кирилл Алексеев

Почта Mail.ru, VK
Пуш-уведомления в RuStore: как мы сделали свой транспорт на замену Google Firebase
Максим Лапшин

Максим Лапшин

Erlyvideo
Почему видеостриминг через 15 лет возвращается с TCP на UDP
Владимир Перепелица

Владимир Перепелица

Tarantool, VK
Архитектура надёжной In-Memory-СУБД на примере Tarantool
Ильдар Хисамбеев

Ильдар Хисамбеев

Yandex Cloud
YDB Topic Service: надёжная и масштабируемая очередь сообщений
Кирилл Малеванов

Кирилл Малеванов

Selectel
IT-инфраструктура после февраля 2022
Сергей Нуралиев

Сергей Нуралиев

1С
Highload и Lowcode — единство и борьба противоположностей
Илья Щербак

Илья Щербак

ВКонтакте, VK
Архитектура ВКонтакте: там, где данные
Артем Каледин

Артем Каледин

МТС Web Services (MWS)
Приемы повышения точности геолокации телефонов на сети мобильного оператора
Михаил Жилин

Михаил Жилин

Postgres Professional
Аномальные случаи высокой нагрузки в PostgreSQL, и как мы с ними справились
Олег Вознесенский

Олег Вознесенский

VK Tech, VK WorkSpace
Строим отказоустойчивую инфраструктуру приложения в Kubernetes. Принципы, паттерны, приёмы
Дмитрий Евдокимов

Дмитрий Евдокимов

Luntry
Сочетание несочетаемого в Kubernetes: удобство, производительность, безопасность
Евгений Дюков

Евгений Дюков

Yandex Cloud
Как мы делали отказоустойчивый Redis в Yandex Cloud
Иван Решетин

Иван Решетин

Озон Банк
GraphQL: простая schema провала, или Серебряная пуля для ваших ног
Никита Назаров

Никита Назаров

Лаборатория Касперского
Омерзительная восьмёрка: техники, тактики и процедуры (TTPs) группировок шифровальщиков
Александра Мурзина

Александра Мурзина

Positive Technologies
Актуальные угрозы ML-алгоритмов с точки зрения ИБ
Антон Агеев

Антон Агеев

РоссельхозБанк
Программирование дронов — современная цифровая агрономия
Константин Аристов

Константин Аристов

Скала^р
Наша Машина Баз Данных (это как Oracle Exadata, только для PostgreSQL) и система управления к ней
Александр Горякин

Александр Горякин

VK Реклама, VK
Репликация между SQL- и NoSQL-базами данных: туда и обратно
Виталий Филиппов

Виталий Филиппов

Личный проект
GeeseFS: ФС из S3, или Параллелизм гусей в природе
Вадим Цесько

Вадим Цесько

VK
Асинхронный транспорт Cassandra
Вадим Зотеев

Вадим Зотеев

Яндекс Go
Балансировка нагрузки в мульти-эксабайтном сторадже
Виктор Могилин

Виктор Могилин

Почта Mail.ru, VK
Хранилище для Почты
Илья Орлов

Илья Орлов

STM Labs
Укрощение мифического чудовища: реальный опыт промышленного использования ScyllaDB без прикрас
Илья Колокутский

Илья Колокутский

БФТ
Как мы переписывали бизнес-логику высоконагруженного приложения на PLPG/SQL
Егор Хайруллин

Егор Хайруллин

Яндекс
Как перейти от batch к streaming на примере рекламной контент-системы
Александр Ляпунов

Александр Ляпунов

Tarantool, VK
Как работает MVCC в In-Memory-СУБД
Константин Осипов

Константин Осипов

Picodata
Accord — алгоритм управления распределёнными транзакциями
Дмитрий Смаль

Дмитрий Смаль

Yandex Cloud
Высокодоступный MySQL на конвейере
Юрий Власов

Юрий Власов

CDEK
Кролик по-СДЭКовски: RabbitMQ как основной центр обмена данными в модульной среде с очередями больше 2000
Алексей Шарапов

Алексей Шарапов

Альфа-Банк
Объединение DevOps, SRE, Dev, QA в единый DevOps-процесс в банке
Григорий Петросян

Григорий Петросян

CoreInfra
StatsHouse: метрики ВКонтакте
Ирина Блажина

Ирина Блажина

Оператор Газпром ИД
SSO-решение на 5 млн пользователей. Масштабирование от пилотного проекта до федерального уровня
Посмотреть всех
Программный комитет
Практикующие инженеры и руководители из сильных компаний: они отбирают и прокачивают доклады, помогают спикерам доработать материалы и честно отсекают слабые темы.

Основной состав

  • Дмитрий Наговицын

    Дмитрий Наговицын

    Яндекс
  • Екатерина Лысенко

    Екатерина Лысенко

    Онтико
  • Наталья Полтавская

    Онтико
  • Полина Баева

    Полина Баева

    Онтико
  • Людмила Ужавка

    Людмила Ужавка

    Онтико
  • Дмитрий Малыхин

    Дмитрий Малыхин

    Независимый эксперт
  • Александр Чистяков

    Александр Чистяков

    cleartech.io
  • Сергей Малютин

    Сергей Малютин

    Независимый консультант
  • Роман Поборчий

    Роман Поборчий

    Независимый эксперт
  • Артемий Рябинков

    Артемий Рябинков

  • Евгений Россинский

    Евгений Россинский

    Иви
  • Иван Евтухович

    Иван Евтухович

    Самозанятый
  • Василий Бригинец

    Василий Бригинец

    AWS
  • Максим Барышников

    Максим Барышников

  • Михаил Тюрин

    Михаил Тюрин

    X5 Digital
  • Петр Ермаков

    Петр Ермаков

    Yandex
  • Александр Боргардт

    Александр Боргардт

    duckstax.com
  • Константин Осипов

    Константин Осипов

    ПАО Аренадата
  • Максим Лапшин

    Максим Лапшин

    Flussonic
  • Сергей Фёдоров

    Сергей Фёдоров

    ООО "Яндекс.Такси Технологии"
  • Олег Бунин

    Олег Бунин

    Онтико
  • Михаил Жучков

    Михаил Жучков

    oxydmins
  • Иван Богданов

    Иван Богданов

    Nebius
  • Григорий Петров

    Григорий Петров

    Evrone
  • Мона Архипова

    Мона Архипова

    Независимый эксперт IT/Security
  • Валерия Ворожцова

    Валерия Ворожцова

    Flocktory
  • Александр Акилин

    Александр Акилин

    WeAreVolt
  • Дмитрий Зайцев

    Дмитрий Зайцев

    Flocktory
  • Артём Каличкин

    Артём Каличкин

    ЦФТ
  • Антон Струков

    Антон Струков

  • Тимур Батыршин

    Тимур Батыршин

    Axenix
  • Андрей Шорин

    Андрей Шорин

    servers.com
  • Андрей Кононов

    Андрей Кононов

    Независимый консультант
  • Елизавета Царева

    Елизавета Царева

    Онтико
  • Александр Кривощеков

    Александр Кривощеков

    Яндекс
  • Евгений Кузовлев

    Евгений Кузовлев

    Т-Банк
  • Иван Агарков

    Иван Агарков

  • Антон Черноусов

    Антон Черноусов

    Yandex Cloud
  • Александр Титов

    Александр Титов

  • Александр Кириллов

    Александр Кириллов

    Evrone
  • Георг Гаал

    Георг Гаал

    aenix.io
  • Владимир Перепелица

    Владимир Перепелица

    Exness
  • Алла Аблова

    Ontico
  • Игорь Курочкин

    Игорь Курочкин

    Enabling.team
  • Роман Ивлиев

    Роман Ивлиев

    ivliev.online
  • Александр Быков

    Александр Быков

    Diabolo.com
  • Дмитрий Евдокимов

    Дмитрий Евдокимов

    Luntry
  • Юлия Сергеевна Черткова

  • Мариам Кереева

    Мариам Кереева

    Онтико
  • Алёна Шинкова

    Алёна Шинкова

    Онтико
  • Анастасия Мышова

    Анастасия Мышова

    Онтико
  • Артём Гавриченков

    Артём Гавриченков

    dxFeed
  • Александр Макаров

    Александр Макаров

    Yii framework
  • Елизавета Кайдаш

    Елизавета Кайдаш

    Онтико
  • Олег Бондарь

    Олег Бондарь

    YDB
Полезная рассылка

Хотите быть в курсе?

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

Частые вопросы

Подробный ответ на первый вопрос

Подробный ответ на второй вопрос

Видео с YouTube
Билеты

Забронировать участие

Офлайн · 2 дня

  • Личное участие оба дня
  • Видеозаписи всех докладов
  • Все презентации спикеров
  • Нетворкинг с 2000+ участников
  • Доступ к выставочной зоне
  • Кофебрейки и обеды
  • Подарки от партнёров

Офлайн · 1 день

  • Любой день: 25 или 26 июня
  • Видеозаписи докладов за день
  • Презентации спикеров за день
  • Доступ к выставочной зоне
  • Кофебрейки и обеды
  • Подарки от партнёров

Онлайн

  • Видеозаписи всех докладов
  • Все презентации спикеров
  • Вопросы спикерам в Telegram
  • Подарки от партнёров

Билет на выставку

Фиксированный тариф
  • 2 дня доступа к выставочной зоне
  • Сытные кофебрейки и обеды
  • Нетворкинг в зоне экспонентов
Купить онлайн
от 10 билетов

Отправляете команду?

От 10 билетов можно обсудить индивидуальные условия для онлайн- и офлайн-участия.
до 300 сотрудников

Небольшая ИТ-команда?

Для ИТ-компаний до 300 технических специалистов есть специальное предложение со скидкой до 20%.
Конференция развития — инструмент решения задач, а не потребления контента. Больше практикумов, чем лекций. Больше интерактивных форматов и нетворкинга.
Партнёры

Компании, которые делают конференцию возможной

Хотите стать партнёром конференции?

Напишите нам — пришлём подробное спонсорское предложение

Расписание конференции

Скачать программу

24 ноября

h1: Главный зал

h2

h3: Яндекс трек

h4

h5

h6

p7 / PHP Russia

p8 / PHP Russia

09:30
10:00
10:50
11:00
11:10
12:00
12:10
12:20
13:10
13:20
13:30
14:20
14:30
14:40
15:30
15:40
15:50
16:40
16:50
17:00
17:50
18:00
18:20
18:40
18:50
09:30
10:00
10:50
11:00
11:10
12:00
12:10
12:20
13:10
13:20
13:30
14:20
14:30
14:40
15:30
15:40
15:50
16:40
16:50
17:00
17:50
18:00
18:20
18:40
18:50

Открытие

09:30 — 10:00 / 24.11

Залы: «h1: Главный зал», «h2», «h3: Яндекс трек», «h4», «h5», «h6», «p7 / PHP Russia», «p8 / PHP Russia»

Как разобрать сетевой протокол и найти уязвимости в устройстве без использования прошивки — показываем на примере ПЛК Mitsubishi

Миллионы умных устройств участвуют в нашей жизни: телефоны, компьютеры, принтеры, устройства IoT, промышленные ПЛК и др. Внутри каждого из них есть микросхемы и программный код в виде прошивок устройств, который может содержать уязвимости. Когда в руки исследователя безопасности попадает устройство с недокументированным сетевым протоколом, возникают следующие задачи: разобрать протокол и получить его описание, научиться общаться с устройством по сети, например, с помощью самописных скриптов, выявить уязвимости в устройстве. Для исследования хорошо бы иметь прошивку. Но что делать, когда она зашифрована или ее невозможно достать из микросхем? Казалось бы, можно сложить руки и оставить устройство пылиться на полке. Но! Мы не отступили, когда такая ситуация встретилась нам в процессе исследования ПЛК FX5U от компании Mitsubishi. Мы прошли долгий путь, полный открытий, переоткрытий, использования передовых техник и в итоге получили описание протокола, набор скриптов для работы с ним и даже пачку CVE. В докладе мы поделимся опытом, как по крупицам собрать информацию и восстановить протокол, используя документацию от других протоколов, утилиты от производителя, симулятор ПЛК, коды ошибок, полный перебор и другие методы. Покажем, как анализ протокола помог выявить целый набор уязвимостей: CVE-2022-25161, CVE-2022-25162, CVE-2022-25155 и др. Мы расскажем о них и покажем, как их вызвать, в многочисленных демонстрациях.

Антон Дорфман

Антон Дорфман (Positive Technologies)

10:00 — 10:50 / 24.11

Зал «h2»

Информационная безопасность

Наша Машина Баз Данных (это как Oracle Exadata, только для PostgreSQL) и система управления к ней

Скала^р — это производитель ПАК-ов, которые мы называем Машинами Одна из наших Машин — МБД.П — это как Oracle Exadata, только про PostgreSQL. Мы расскажем, как устроена наша Скала МБД.П, как мы пришли к такой конфигурации, каких показателей производительности и надежности удалось добиться. А ещё Скалой надо управлять не только инженерам высочайшей квалификации, но и пользователям, и мы придумали систему управления для нее — Спектр (не спрашивайте, почему так;-) Сначала мы хотели делать его как <s>Oracle Enterprise Manager только без глюков и с комьюнити-версией</s>, но потом поняли что архитектура решения не всегда получается с первого раза и без ошибок. В целом, у нас получилось довольно симптатично, на наш взгляд, на докладе и после него постараемся это показать. В завершение немного расскажем про наш опыт импортозамещения и постараемся заглянуть в будущее.

Константин Аристов

Константин Аристов (Скала^р)

10:00 — 10:50 / 24.11

Зал «h3: Яндекс трек»

Базы данных и системы хранения

О чём я говорю, когда говорю о тестировании корректности работы компилятора

Любая программа, запущенная на компьютере, была создана компилятором и, так как компиляторы являются важной частью инфраструктуры для создания программного обеспечения, их корректность имеет первостепенное значение. Чтобы проверить и повысить правильность поведения компиляторов, значительные усилия во время разработки направлены на тестирование компиляторов. В Tarantool за поддержку языка Lua отвечает LuaJIT, который включает в себя как среду исполнения языка, так и трассирующий JIT-компилятор. Мы решили использовать фаззинг-тестирование для LuaJIT, потому что стандартное тестирование не позволяет выявить все проблемы во время разработки. Несмотря на популярность рандомизированного тестирования и множество доступных инструментов для фаззинга, нам пришлось изучить методы, показавшие эффективность при тестировании других компиляторов, и разработать собственные инструменты. Мы попробовали фаззинг без грамматики, фаззинг с грамматикой на основе LibFuzzer и LibProtobufMutator, собственный мутатор для Lua-программ и проверку оптимизаций с помощью SMT-решателя. В докладе я расскажу про различные аспекты проблемы тестирования корректности компилятора, в том числе то, как генерировать случайные программы, какие тестовые оракулы использовать для определения того, правильно ли ведет себя компилятор, как эффективно выполнять тесты компилятора и эффективных методах тестированиях компиляторов на основе нашего опыта тестирования LuaJIT.

Сергей Бронников

Сергей Бронников (VK, VK Tech, Tarantool )

10:00 — 10:50 / 24.11

Зал «h4»

Тестирование, нагрузочное тестирование

Техстратегия и архитектура highload-проекта на примере ВКонтакте

Архитектура не нужна, если нет стратегии. Техстратегия обосновывает затраты на архитектуру и помогает расти, запускать новые фичи, не отставать от конкурентов. Любому высоконагруженному и динамично меняющемуся проекту нужна стратегия технологического развития. В докладе на примере ВКонтакте — проекта с 16-летней историей, 100 млн пользователей в месяц и 8 млн строк кода бизнес-логики — рассмотрим принципы построения техстратегии и методы принятия стратегических решений. А также разберём, как техстратегия и архитектура влияют друг на друга и что у нас получается в результате: * как строить техстратегию на несколько лет вперед; * портерианский и ресурсный подходы к стратегированию; * требования, которые мы предъявляем к архитектуре, и их связь с time2market; * как обеспечиваем отказоустойчивость и балансируем нагрузку; * как эксплуатируем систему с более чем 20 000 серверов; * какие решения позволяют делать 3,5 тысячи деплоев в год с winrate 97,7%; * как устроена система сборки, которая позволяет собрать 8 млн строк кода и раскатить на 10 000 серверов за 7 минут; * и как, собственно, сейчас выглядят техстратегия и архитектура ВКонтакте.

Александр Тоболь

Александр Тоболь (ВКонтакте, VK )

10:00 — 10:50 / 24.11

Зал «h1: Главный зал»

Архитектуры и масштабируемость

Клиентоцентричный подход к управлению данными

Управление клиентскими данными — сложная задача для любой большой компании. В масштабах Сбера — с сотнями различных процессов и автоматизированных систем, числом клиентов более 100 млн — эта задача многократно усложняется. Разным потребителям данных требуется получать актуальную информацию о клиенте в определенном разрезе и режиме с высоким уровнем сервиса и качества. В докладе расскажу о клиентоцентричной архитектуре Сбера, как на ее основе развивается система по управлению профилем клиента и каким образом клиентоцентричный подход помогает минимизировать число проблем, связанных с рассинхроном клиентских данных. Бонусом подсветим текущий «джентльменский набор» функциональных АС, которые позволяют эффективно управлять клиентскими данными. Также поговорим о: * проблемах и потребностях, которые возникают на пути развития архитектуры по управлению клиентскими данными, и способах их решения; * почему искать клиента в системах банка по ФИО-ДУЛ-ДР — неправильно, и как с этим бороться; * какие паттерны обмена клиентскими данными между АС используют в Сбере и почему не всегда работает классический pub-sub; * как побороть ошибки «исторического наследия» в управлении клиентскими данными за счет внедрения архитектурных стандартов.

Александр Синицын

Александр Синицын (Сбер)

11:10 — 12:00 / 24.11

Зал «h6»

Узкотематические секции

Омерзительная восьмёрка: техники, тактики и процедуры (TTPs) группировок шифровальщиков

Мы в «Лаборатории Касперского» провели анализ самых популярных тактик, техник и процедур (TTPs) восьми самых активных групп шифровальщиков: Conti/Ryuk, Pysa, Clop (TA 505), Hive, Lockbit 2.0, RagnarLocker, BlackByte и BlackCat. Эти группы ведут свою деятельность по всему миру, в том числе в США, Великобритании, Германии. За исследованный нами период — с марта 2021 по март 2022 года — операторы этих групп пытались атаковать более 500 организаций в разных отраслях, среди которых промышленность, разработка ПО, строительство. Оказалось, что различные семейства этого вида ПО совпадают более чем наполовину в своих TTPs на протяжении всех этапов цепочки атак. Расскажу обо всех этапах атаки, излюбленных TTPs злоумышленников и преследуемых ими целях, чтобы помочь понять, как действуют данные группы и как защититься от целенаправленных атак вымогателей.

Никита Назаров

Никита Назаров (Лаборатория Касперского)

11:10 — 12:00 / 24.11

Зал «h2»

Безопасность

Повышаем живучесть Raft в реальных условиях

Алгоритм Raft стал весьма популярен в последние годы. Описание алгоритма достаточно ясно, имплементации появляются во все большем количестве проектов. Однако все выглядит хорошо на бумаге — будь то математика или рекламные статьи, а при практическом применении все оказывается сложнее. В этом докладе мы расскажем о поддержке работоспособности кластера Tarantool в условиях частичной связности с реальным примером того, как чистый Raft не справился с задачей. В таких же условиях в какой-то момент в кластере может оказаться два лидера, от чего, казалось бы, прямо обещана защита в Raft. Итак, на практике мы ожидали от Raft следующего. Во-первых, кластер должен оставаться доступным и на запись и на чтение при частичной потере связности в сети. Канонический Raft не даёт таких гарантий, и это привело к инциденту в Cloudflare в 2020, когда одна из реплик не видела лидера и на протяжении 6,5 часов постоянно устраивала новые выборы, не давая лидеру поработать хоть сколько-нибудь. Решение проблемы с доступностью кластера при частичной потере связности создает еще одну: при определенных условиях кластер будет неспособен выбрать нового лидера даже при наличии достаточного количества живых и соединенных между собой узлов, в то время, как предыдущий лидер уже не имеет достаточного количества живых соединений и более неспособен произвести запись. Чтобы это исправить, необходимо, чтобы лидер “слагал полномочия” в случае потери кворума живых соединений. Кроме этого, добровольное снятие полномочий позволяет обеспечить уникальность лидера в кластере: к моменту, когда будет выбран новый лидер, старый лидер уже сложит полномочия. В конце концов, хочется, чтобы после смерти старого лидера кластер стал снова доступен на запись (выбрав нового лидера) максимально быстро (через 10-15 секунд).

Сергей Останевич

Сергей Останевич (Tarantool, VK)

11:10 — 12:00 / 24.11

Зал «h4»

Базы данных и системы хранения

Highload и Lowcode — единство и борьба противоположностей

Статьи в интернете описывают low-code- и no-code-технологии как инструменты для решения небольших локальных задач, прототипирования, привлечения citizen-разработчиков. Однако, есть и другое направление в low-code — платформы для создания серьёзных, масштабных, комплексных приложений. Почему это интересно? В крупных компаниях часто возникает идея разработки собственного фреймворка, ORM, генератора отчётов и других инструментов унификации разработки. По сути, начинается внедрение элементов low-code. Цели вполне понятны: ускорение разработки, облегчение сопровождения и уход от уникальных знаний, возможность передачи сопровождения между специалистами и командами. На примере успешной low-code-платформы объясним: • как выстраивать стратегию low-code; • как использовать преимущества low-code-подхода при движении к highload; • как не растерять преимущества low-code по пути к highload.

Сергей Нуралиев

Сергей Нуралиев (1С)

11:10 — 12:00 / 24.11

Зал «h1: Главный зал»

Enterprise-системы

Архитектура ВКонтакте: там, где данные

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

Илья Щербак

Илья Щербак (ВКонтакте, VK)

12:20 — 13:10 / 24.11

Зал «h1: Главный зал»

Архитектуры и масштабируемость

СМЭВ. Сильно проще, чем кажется. Полезные советы, как стартовать интеграцию через СМЭВ3 и СМЭВ4

Мы делаем СМЭВ. СМЭВ — это платформа, которая обеспечивает надежную передачу различных данных между примерно ~5к систем участников обмена по ~2к прикладных протоколов с интенсивностью 10к обменов в секунду. СМЭВ — это единственный способ взаимодействия систем государства для целей госуслуг и госфункций. В докладе расскажем про то, сколько бывает СМЭВ-ов и чем они отличаются. Для каких обменов какой СМЭВ полезнее. Расскажем про базовые понятия, которые нужно знать, чтобы чувствовать себя увереннее в мире СМЭВ: виды сведений, витрины, рег. запросы и т.д. Дадим описание других систем экосистемы СМЭВ. Личный кабинет участника СМЭВ — все околосмэвовское можно делать в нем. Боты телеграм. ЕСНСИ — облачная платформа для распространения условно постоянной информации. Клиентское ПО — Адаптеры СМЭВ, Витрина данных. Расскажем про то, какие мы в СМЭВ все открытые и готовые помочь, подсказать. Про нашу базу знаний info.gosulugi.ru, про телеграм-канал. Про то, как призвать нас на помощь, если что-то непонятно.

Анастасия Пятько

Анастасия Пятько (РТК-СОФТ)

12:20 — 13:10 / 24.11

Зал «h4»

Узкотематические секции

GeeseFS: ФС из S3, или Параллелизм гусей в природе

Никогда такого не было, и вот опять! Спустя 15 лет после появления S3 пользователям всё ещё нужны кластерные ФС под сценарии использования, близкие к тому, на что обычно рассчитано S3. А именно: большую/бесконечную ёмкость, низкую стоимость хранения, крупноблочный доступ, масштабируемость. А можно ли сделать из S3 ФС? Обычный ответ: можно, но будет очень медленно. Казалось бы, файл — это «именованная последовательность байтов» и объект в S3 — тоже. Однако ФС плохо работает как S3, а S3 обычно плохо работает как ФС. Но почему? Наш ответ в том, что если половина этой проблемы — действительно архитектурные вопросы различий между ФС и S3 (о которых мы, кстати, тоже поговорим, например, рассмотрим вопрос «а что, вообще, такое POSIX-совместимость ФС?»), то оставшаяся половина — исключительно вопросы реализации, которые оказалось не так уж сложно решить. И решены они в GeeseFS https://github.com/yandex-cloud/geesefs. GeeseFS — это ещё одна утилита для монтирования S3 через FUSE в виде локальной ФС, но, в отличие от всех остальных реализаций, достаточно POSIX-совместимая и достаточно быстрая, чтобы её можно было использовать без слёз. 🙂 Понятное дело, все проблемы «S3 как ФС» без расширения протокола на стороне сервера не решишь, так что в наши дальнейшие планы входит именно расширение протокола. Конечная цель — оптимизация использования S3 в сценариях, где традиционно «рулят» ФС. Что реализовано в части нашей S3-ФС уже сейчас, что запланировано на будущее, а также как другие решают ту же задачу (скрещивания ужа и ежа) — обо всём этом мы и поговорим в докладе.

Виталий Филиппов

Виталий Филиппов (Личный проект)

12:20 — 13:10 / 24.11

Зал «h3: Яндекс трек»

Базы данных и системы хранения

Архитектура надёжной In-Memory-СУБД на примере Tarantool

База данных в оперативной памяти или in-memory-db — понятие не новое. На сегодняшний день сложилась довольно сильная ассоциация подобных решений со словами «кэш», «неперсистентный» и «ненадёжно». Решения в оперативной памяти имеют гораздо более широкое применение, чем кэш. А уровень надёжности не хуже, чем у самых проверенных реляционных БД. Я расскажу, какие архитектурные подходы позволяют базе данных в памяти быть надёжной, как швейцарские часы. Я рассмотрю устройство Tarantool от входящего запроса до работы синхронной репликации и транзакционного механизма на скорости в 1 000 000 RPS. Цель моего доклада — показать, что in-memory-технологии уже достаточно зрелые и надёжные, чтобы быть основным хранилищем данных в вашем продукте.

Владимир Перепелица

Владимир Перепелица (Tarantool, VK)

13:30 — 14:20 / 24.11

Зал «h3: Яндекс трек»

Базы данных и системы хранения

Как достать всё что угодно со всего интернета

Недавно Яндекс запустил поиск по товарам (https://yandex.ru/products), который позволяет находить актуальные предложения во всех интернет-магазинах. Он ищет товары и в крупных маркетплейсах (Ozon, Wildberries, Яндекс Маркет), и в маленьких с десятком-сотней товаров, которые невозможно найти без поиска. Ключевая задача поиска по товарам — подготовить самую полную базу товаров всего интернета. Эта база формируется на основе данных партнёрских фидов и самостоятельного парсинга товаров в интернете, причём парсинг поставляет значительную часть товаров. Без парсинга поиск по товарам превратился бы в поиск по списку сайтов, а не по всему интернету. На практике решение этой технической задачи оказалось настолько интересным, что нам захотелось им поделиться. В докладе опишу практический кейс запуска поиска по товарам, но все представленные идеи и подходы мы применяли и на других задачах по извлечению данных. В процессе расскажу, какие подходы к парсингу мы использовали, как оптимизировали код похостовым кэшированием, как поддерживаем актуальность цен, как устроено машинное обучение и с какими подзадачами мы справились недостаточно хорошо.

Илья Кучумов

Илья Кучумов (Яндекс)

13:30 — 14:20 / 24.11

Зал «h1: Главный зал»

BigData и машинное обучение

Асинхронный транспорт Cassandra

Cassandra является основным хранилищем (мета)данных в Одноклассниках. У нас развёрнуты сотни высоконагруженных кластеров из сотен узлов и тысяч клиентов, распределённых по нескольким дата-центрам. Мы используем и активно развиваем собственный форк Cassandra 2.x. Помимо фиксов множества багов и многочисленных оптимизаций, мы реализовали глобальные индексы (которые работают), поддержали партиционированные транзакции (NewSQL), полностью автоматизировали эксплуатацию в production и многое другое. Но в этом докладе мы сконцентрируемся на подходе FatClient, который используется в наших системах повсеместно. Подход FatClient переносит роль координатора запросов на клиента, который становится полноценным участником кластера Cassandra. Это позволяет устранить лишние сетевые задержки, разгрузить ноды Cassandra от сетевых задач координации и значительно повысить производительность и стабильность поведения всей системы. Но несмотря на все достоинства подхода, мы столкнулись с неэффективностью и ограничениями существующего транспорта Cassandra на масштабах кластеров, состоящих из тысяч участников: узлов, хранящих данные, и клиентов, работающих с этими данными. В докладе мы подробно рассмотрим собственную реализацию асинхронного транспорта Cassandra, которая позволила нам существенно сэкономить ресурсы и упростить жизнь разработчиков. Новый транспорт основан исключительно на Java SDK и лаконичной, но эффективной реализации Actor Model. Помимо устройства нашего решения, поговорим про различные оптимизации, возникшие по пути проблемы, а также переключение на асинхронный транспорт нагруженных кластеров Cassandra в production.

Вадим Цесько

Вадим Цесько (VK)

14:40 — 15:30 / 24.11

Зал «h3: Яндекс трек»

Базы данных и системы хранения

Балансировка нагрузки в мульти-эксабайтном сторадже

Сторадж — фундаментальный инфраструктурный сервис, хранящий и раздающий данные почти всех продуктовых сервисов Яндекса (Диск, Почта, Карты, Поиск, Маркет и т.д.), — критическая часть компании с высочайшими требованиями к надежности и доступности. Он обрабатывает миллион запросов в секунду, хранит эксабайты данных и раздает терабит трафика в пике. Под капотом он содержит сотни тысяч hdd в тысячах серверах, размещенных в нескольких ДЦ, и десятки тысяч фоновых процессов, нагружающих железо. Чтобы все это эффективно работало, необходимо балансировать read- и write-нагрузку между серверами и дисками. Для этого нужно учитывать множество факторов: ломающееся железо (от отдельных дисков до ДЦ целиком), разную "горячесть" данных разных сервисов (от cold до hot), сторонние источники нагрузки в лице фоновых процессов, гетерогенность железа (от 1-гигабитных старых серверов до 50-гигабитных новых) и т.д. В докладе расскажу, как устроена балансировка read- и write-нагрузки в системе хранения; какие подходы работают, а какие нет; какие трудности могут возникать в процессе эксплуатации и какие особенности есть в multitenancy-хранилищах.

Вадим Зотеев

Вадим Зотеев (Яндекс Go)

15:50 — 16:40 / 24.11

Зал «h3: Яндекс трек»

Базы данных и системы хранения

Как устроена разработка Kubernetes-платформы Deckhouse

В 2021 году состоялся публичный OpenSource-релиз платформы для автоматизации обслуживания Kubernetes-кластеров — Deckhouse. До этого платформа более трех лет развивалась исключительно как внутренний DevOps-инструмент «Фланта». Deckhouse аккумулировала технологический опыт и лучшие практики, полученные нами в многочисленных и разнообразных highload-проектах. Сейчас Deckhouse — это платформа Enterprise-уровня, которая сертифицирована в CNCF и входит в единый реестр российского ПО. В докладе расскажу, как устроен процесс разработки Deckhouse, основанный на сложившихся в OpenSource-сообществе и на ​​GitHub практиках, учитывающий потребности инженеров, бизнеса, специалистов информационной безопасности и других пользователей, которые так или иначе взаимодействуют с платформой. Какие вопросы рассмотрим в ходе доклада: * процессы разработки, тестирования и управления релизами Deckhouse; * интеграция со сторонними решениями для мониторинга, работы сети, безопасности и с другими необходимыми компонентами; * как мы приносим исправления и доработки в код сторонних решений вроде Cilium и KubeVirt; * наш ​​вклад в развитие «ванильного» Kubernetes; * как организована техническая поддержка; * как мы сопровождаем пользователей — команды клиентов и внутренние DevOps-команды «Фланта»; * планы по развитию платформы.

Константин Аксенов

Константин Аксенов («Флант»)

15:50 — 16:40 / 24.11

Зал «h5»

DevOps и эксплуатация

SSO-решение на 5 млн пользователей. Масштабирование от пилотного проекта до федерального уровня

У нас было порядка 20 клиентских мобильных и веб-приложений с локальной аутентификацией, написанных разными командами со своими процессами и уязвимостями. Переключаться между приложениями было сложно, пользователям это не нравилось. Это привело к созданию решения единого входа для клиентов (SSO). За 2 месяца внедрили пилот на базе открытого KeyCloak и начали постепенно масштабировать его на всю страну. При 300000 сессиях получили даунтайм при обновлениях: пользователи не могли войти в систему около 15 минут. Мы снизили время простоя настройками кэширования и модификацией схемы базы данных до 3 минут, но дальше нас ждал первый миллион сессий…

Ирина Блажина
Николай Зайцев

Ирина Блажина (Оператор Газпром ИД), Николай Зайцев (X5 Tech)

15:50 — 16:40 / 24.11

Зал «h6»

Архитектуры и масштабируемость

Хранилище для Почты

На докладе расскажу о технических сложностях, с которыми мы столкнулись при разработке своего хранилища. Задачи, которые решали: * эффективная утилизация больших HDD (меньше iops на терабайт хранилища); * переезд на более cost-effective серверную платформу (сокращение количества занимаемых юнитов в ДЦ); * обеспечение SLA 99.999% доступности данных в течение года; * переживание отключения ДЦ (ряда/стойки/сервера) без ручного вмешательства; Архитектура потребовала распила письма на несколько составляющих и 2 вида индексов, чтобы хранилище смогло утилизировать диски в 18 ТБ полностью. Индексы не помещаются в память, поэтому применяются разные приемы для ускорения их загрузки в кэш. Для обеспечения более линейной записи группы юзеров объединяются в шарды, внутри которых ведется один xlog на всех. Собственное BLOB-хранилище с кворумной записью. И другие приемы.

Виктор Могилин

Виктор Могилин (Почта Mail.ru, VK)

17:00 — 17:50 / 24.11

Зал «h3: Яндекс трек»

Архитектуры и масштабируемость

Root cause analysis monitoring

Базы данных, очереди, приложения на Spring и много чего еще, и все это в тысячах экземпляров — чем сложнее инфраструктура, тем выше вероятность возникновения ошибок. Своевременно исправлять ошибки (а ещё лучше — предсказывать их возникновение и своевременно реагировать) — одна из главных задач провайдера облачных сервисов или владельца собственной крупной инфраструктуры. Поделимся тем, как мы используем графы в задачах мониторинга и observability и как Root Cause Analysis в мониторинге помогает командам эксплуатации. Как и многие другие вендоры ПО, 1С давно предлагает свои продукты в облачном варианте. Это, в первую очередь, наши облачные сервисы 1С:ГРМ (Готовое Рабочее Место) и 1cFresh. Предоставление облачных сервисов требует наличия соответствующей инфраструктуры — прежде всего серверов, на которых размещаются виртуальные машины с приложениями, и софта, управляющего физическими и виртуальными машинами.

Басель Дарвиш

Басель Дарвиш (1С)

17:00 — 17:50 / 24.11

Зал «h5»

DevOps и эксплуатация

Как организовать поиск в стартапе, который планирует вырасти до масштабов ВКонтакте

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

Богдан Гаркушин

Богдан Гаркушин (VK, ВКонтакте)

18:00 — 18:50 / 24.11

Зал «h6»

Архитектуры и масштабируемость

Bare metal K8s, или Туда и обратно. История Quadcode

Как и многие другие компании, 5 лет назад мы перешли от монолитной архитектуры к микросервисной. Наши нагрузки за это время существенно выросли, а вместе с ними выросла и потребность в быстрой и масштабируемой инфраструктуре. Наш Kubernetes прошёл путь от Kubespray к своим плейбукам, а от них — к подходам, похожим на подходы облачных провайдеров. От трёх статичных кластеров до сотни, поднимаемых за 3 минуты. В докладе мы проследим эволюцию технических аспектов и процессов вокруг наших кластеров и предпосылки тех или иных решений. Слушатели узнают, к каким факапам привёл выбор Kubespray, почему мы сталкивались со сменой подхода к управлению инфраструктурой каждые два года и как решаем эту проблему. На цифрах посмотрим, сколько в разное время занимали процессы по раскатке кластера с нуля, добавлению нод, апгрейду версий кластера. И конечно, поговорим о планах развития, а также о плюсах и минусах разных подходов по сопровождению вашей инфраструктуры под K8s.

Илья Устинов

Илья Устинов (Quadcode)

18:00 — 18:50 / 24.11

Зал «h5»

DevOps и эксплуатация

25 ноября

h1: Главный зал

h2

h3: Яндекс трек

h4

h5

h6

p7 / PHP Russia

p8 / PHP Russia

10:00
10:50
11:00
11:10
12:00
12:10
12:20
13:10
13:20
13:30
14:20
14:30
14:40
15:30
15:40
15:50
16:40
17:00
17:50
18:00
18:50
19:00
10:00
10:50
11:00
11:10
12:00
12:10
12:20
13:10
13:20
13:30
14:20
14:30
14:40
15:30
15:40
15:50
16:40
17:00
17:50
18:00
18:50
19:00

Высокопроизводительный промышленный сервис для компьютерного зрения на Python

Хорошо известны проблемы применения Python в промышленных сервисах, особенно, если подразумевается высокая нагрузка и определены высокие требования к задержке. Ещё сложнее всё обстоит в задачах компьютерного зрения, где добавляется специфическая работа с GPU, огромные объемы входных данных и тяжёлые алгоритмы, такие как кодирование/декодирование изображений, их обработка или инференс нейросетей. Мы расскажем о том, как мы решали такие проблемы, почему выбрали самописное решение и как удалось добиться хороших результатов. Основные проблемы в Python с точки зрения промышленного сервиса с компьютерным зрением.Обзор существующих решений: DALI & Triton, Cython, Julia, С++, Numba, etc.Батчинг.Разрешение критических боттлнеков в проде и случайное ускорение тренировок.Результаты.

Григорий Алексеенко

Григорий Алексеенко (SberDevices)

10:00 — 10:50 / 25.11

Зал «h4»

Нейронные сети, искусственный интеллект

Как мы переписывали бизнес-логику высоконагруженного приложения на PLPG/SQL

Не нужно рассказывать о том, насколько хороша СУБД Oracle и сколько задач решается с ее помощью. Однако, тема использования альтернативных СУБД сегодня становится все более актуальной. Сотни хранимых процедур с кучей бизнес-логики, десятки терабайт данных, высокая связность с другими системами — разве могут быть варианты, кроме Oracle? Да, конечно! Этот доклад — о проекте миграции систем промышленных масштабов с Oracle на отечественную СУБД PostgresPro. Замена СУБД — непростая задача: нужно заменить фундамент, но так, чтобы не рухнули стены. В докладе расскажу о том, как мы переносили бизнес-логику из Oracle PL/SQL на PLPG/SQL на примере системы, которой пользуются граждане нашей страны.

Илья Колокутский

Илья Колокутский (БФТ)

10:00 — 10:50 / 25.11

Зал «h3: Яндекс трек»

Базы данных и системы хранения

Программирование дронов — современная цифровая агрономия

Сельское хозяйство стало отраслью с интенсивным потоком данных. Информация формируется из потоков от различных устройств, работающих в полях, теплицах, от датчиков инженерных систем, агротехники, метеорологических станций, дронов, спутников, внешних систем, партнерских платформ, поставщиков. Обработанные данные от различных участников производственной цепочки, собранные в одном месте, позволяют получать информацию нового качества, находить закономерности, создавать добавочную стоимость для всех вовлеченных участников, применять современные научные методы обработки (data science) и на их основе принимать оптимальные решения, минимизирующие риски, улучшающие бизнес производителей и клиентский опыт. Использование дронов в агрономии уже стало неотъемлемой частью работы сельскохозяйственных предприятий. Понимая устройство сельскохозяйственных дронов и общие принципы их работы, можно лучше понять существующий уровень цифровизации отрасли. Рассмотрим виды дронов, принципы их работы и управления. Рассмотрим фреймворки для создания программного обеспечения дронов и системы имитационного моделирования. Познакомимся с автопилотами и применяемыми датчиками дронов.

Антон Агеев

Антон Агеев (РоссельхозБанк)

10:00 — 10:50 / 25.11

Зал «h2»

Агротех

AP и CP: пытаемся усидеть на двух стульях и боремся с последствиями

Многие системы, стараясь описать свое поведение в ненадежной сети, прибегают к терминам CAP-теоремы и описывают себя либо как AP, либо как CP. Алгоритм Raft является классическим примером CP — обеспечивает линеаризуемость в случае разделения сети, но это в определенных случаях приводит к временной потере доступности и на запись, и на чтение до восстановления связности. Да, на бумаге всё хорошо. Берём нечётное количество узлов и наслаждаемся работоспособностью кластера и консистентностью данных до тех пор, пока большая часть узлов работает. Однако, эта схема использования идёт вразрез с самой популярной схемой установки БД: равное число узлов в двух ЦОД-ах. Для Raft это значит, что потеря одного ЦОД-а сразу приведёт к недоступности кластера на запись. Отсюда возникает необходимость переключения между надёжностью и доступностью: если пользователь видит, что один из двух ЦОД-ов неработоспособен, он может решить продолжить обслуживать запросы в живом ЦОД-е без участия второго ЦОД-а, то есть превратить CP-систему в AP. Мы дали пользователю такую возможность в реализации Raft в Tarantool и столкнулись с условиями потери консистентности данных, с которыми бы никогда не встретился канонический Raft. Такой режим работы не дает гарантий Raft, поскольку человеческая ошибка может привести к тому, что этот режим будет включен в двух ЦОД-ах одновременно. Это уже приведет к возникновению двух противоречащих друг другу версий наборов данных. Значит, разрешая такое понижение надежности, мы должны научиться обнаруживать различия в наборах данных и предупреждать пользователя об этих различиях, не давая репликации соединить два противоречащих набора. Нам удалось сделать это благодаря маркерам лидерства в журнале. Во время нормальной работы маркеры лидерства выстраиваются в согласованную цепочку, позволяя проследить историю смены лидеров до самого начала журнала. Если же во время разделения сети человеческая ошибка приводит к возникновению двух независимых наборов данных, маркеры лидерства в двух наборах, начиная с какого-то общего предка, составляют две разделившиеся цепочки. Если мы умеем находить расхождения в цепочках маркеров лидерства, мы умеем находить противоречащие участки журналов. Это позволяет отклонять репликацию конфликтующего набора данных и эскалировать проблему до пользователя. В этом докладе поговорим о методах, которые мы применили, чтобы обнаруживать такие расхождения и обеспечивать консистентность данных после периода работы в разделенной сети.

Сергей Петренко

Сергей Петренко (VK Tech, Tarantool)

10:00 — 10:50 / 25.11

Зал «h6»

Базы данных и системы хранения

Как перейти от batch к streaming на примере рекламной контент-системы

Ключевая задача рекламной контент-системы — собрать и подготовить все данные, необходимые для отбора и ранжирования баннеров на хите, в том числе про пользователя, баннер и площадку. В своем докладе я расскажу про наш переход из batch в streaming. Предпосылками для перехода были следующие факты: * Быстрый учет изменений и событий продуктово важен. В том числе виден на экспериментах в ключевых метриках (отдельные ускорения могут давать до нескольких процентов денег/конверсий). * Дальнейшее ускорение требовало экспоненциального роста потребляемого CPU (десятки тысяч ядер), либо упиралось в ограничения MapReduce-модели. * Сложность поддержки большого количества железных машин (~1000 хостов) и самописных систем синхронизации Сегодня наша контент-система обрабатывает миллионы событий и изменений в секунду, а суммарный размер стейтов со всеми репликами занимает несколько петабайт. В докладе я расскажу о получившейся архитектуре обработки и хранения данных, какие проблемы нам пришлось решить в процессе.

Егор Хайруллин

Егор Хайруллин (Яндекс)

11:10 — 12:00 / 25.11

Зал «h3: Яндекс трек»

Базы данных и системы хранения

Самый большой в РФ проект в области птицеводства по сбору информации с датчиков интернета вещей и другие интересные кейсы для сельского хозяйства

Краткий обзор беспроводных технологий передачи информации, их место и задачи в мире IoT;особенности технологий LPWAN беспроводной передачи данных;почему так сложно сделать умные вещи и подключить их к интернету;зачем мы написали свою платформу интернета вещей и чем нам не угодили готовые платформы;как профили устройств упрощают сопровождение;как мы внедряли IoT в 52 регионах России для мониторинга птичников;зачем мониторить показатели температуры и влажности воздуха в птичниках и на складах;использование датчиков сухих контактов для мониторинга работы автоматики;датчики температуры и влажности почвы — почему их так мало применяют?как датчики интернета вещей позволяют снизить себестоимость продукции и сэкономить на поддержке.

Денис Муравьев

Денис Муравьев (GoodWAN)

11:10 — 12:00 / 25.11

Зал «h2»

Агротех

Ускоряем хранимые процедуры на Postgres pl/pgSQL по гистограммам, или Жизнь после импортозамещения

Доклад посвящен особенностям настройки БД и хранимых процедур после успешного перехода с Oracle PL/SQL на Postgres pl/pgSQL, о котором я рассказывал на прошлогодней конференции. С тех пор накопился опыт лечения детских болезней в области производительности БД, плавно перетекающий в профилактику и лечение хронических заболеваний в этой же области. В докладе с цифрами и фактами рассматривается опыт борьбы за производительность БД и рассказывается, как в случае использования хранимых процедур управлять производительностью. Кроме того, при переходе с Oracle на Postgres обнаружены новые типы лежащих на этом пути граблей отложенного действия, о которых тоже будет с удовольствием рассказано.

Анатолий Анфиногенов

Анатолий Анфиногенов (ВНИИЖТ)

11:10 — 12:00 / 25.11

Зал «h6»

Базы данных и системы хранения

Облачная платформа "Виртуальный Агроном" для управления всеми процессами на вертикальных фермах

Рынок высокотехнологичного сельского хозяйства переходит в стадию зрелости. Это выражается в разделении на операционные и технологические компании. Операционные компании нацелены на производство и реализацию сельскохозяйственной продукции. Им в первую очередь интересно, сколько продукции они смогут производить и какие будут затраты на ее производство, включая затраты на персонал требуемой квалификации. Технологические компании сфокусированы на устойчивом R&D и предоставляют непрерывно совершенствующиеся технологии операционным компаниям. На рынке существует много решений для автоматизации сельского хозяйства. В основном они решают локальные задачи: управление светом, питанием растений и различными аспектами климата. Операционным компаниям сложно интегрировать множество разнородных решений в единую работающую систему. К примеру, синхронизировать расписание работы существующих климатических систем, расписание подачи питательного раствора, управление светом и фазы роста растений. В докладе я расскажу об архитектуре успешно применяемой облачной платформы "Виртуальный Агроном". Вертикальные фермы, подключенные к платформе, обеспечивают полностью контролируемую среду выращивания с контролем действий персонала и возможностью дальнейшего перехода к роботизированным фермам. Синергия данных с множества ферм, подключенных к единой облачной платформе, и экспертных знаний, полученных в результате многолетних исследований, позволяет контролировать и оптимизировать процессы на фермах в реальном времени. Модульность архитектуры позволяет собирать фермы с разной проектной производительностью для различных сельскохозяйственных культур из стандартных блоков. Формализация процессов на фермах обеспечивает высокую точность прогнозирования продуктивности, что не может себе позволить традиционное сельское хозяйство. Также это дает возможность автоматически проектировать фермы с заданными показателями.

Сергей Березин

Сергей Березин (Grolli)

12:20 — 13:10 / 25.11

Зал «h2»

Агротех

Построение современных lakehouse-архитектур с помощью Presto

Lakehouse — это современная архитектура построения аналитических платформ компаний, которая совмещает лучшие качества data warehouse и data lake. Одним из популярных продуктов для построения lakehouse-систем является Presto — массивно-параллельный распределенный SQL-движок для выполнения федеративных запросов. В данном докладе мы обсудим основные сценарии использования и построения lakehouse-архитектур, после чего посмотрим, как техническая реализация Presto помогает создавать масштабируемые корпоративные аналитические платформы: * дезагрегация storage и compute, которая позволяет масштабировать вычислительные ресурсы без перемещения данных; * коннекторы к большому количеству целевых систем с возможностью гибких pushdown-вычислений; * продвинутая работа с сырыми данными с использованием современных технологий Apache Iceberg и Delta Lake; * кэширование сырых данных на воркерах для уменьшения latency и стоимости работы с object storages; * высокопроизводительный массивно-параллельный компилируемый SQL-движок.

Владимир Озеров

Владимир Озеров (Querify Labs)

12:20 — 13:10 / 25.11

Зал «h4»

Архитектуры и масштабируемость

Просто о сложном: как работает драйвер распределенной базы данных YDB

Клиент-серверное взаимодействие высоконагруженных приложений и распределенных баз данных имеет ряд особенностей. Так, необходимо оперативно выяснять и отслеживать изменения топологии кластера базы данных, балансировать запросы по узлам (нодам) этого кластера, корректно обрабатывать возникающие ошибки. Драйвер распределенной базы данных существенно отличается от драйверов традиционных (нераспределенных) баз данных. Главная отличительная особенность распределенных баз данных - необходимость работать со множеством нод СУБД. Для равномерной нагрузки на ноды БД в YDB используется как клиентская, так и серверная балансировка. Для баз данных, работающих в режиме 24/7 и допускающих различные сценарии отказа, драйвер должен быть готов к ошибкам разного рода. Это влияет на то, каков должен быть драйвер распределенной базы данных. В докладе мы расскажем про наш опыт разработки драйверов для распределеной БД на разных языках, про проблемы, с которыми сталкивались и решали или митигировали, а также про вынесенные уроки и принятые решения.

Алексей Мясников

Алексей Мясников (Яндекс)

12:20 — 13:10 / 25.11

Зал «h3: Яндекс трек»

Базы данных и системы хранения

Как с помощью BPMS (jBPM) заместить продукты SAS

В феврале 2022 года компания SAS покинула российский рынок. В итоге Сбер, как и многие другие компании, лишился поставщика основных компонентов для кампейнинга в x-sell-бизнесе, целью которого является формирование персонализированных предложений для клиентов. Основные компоненты, которые мы использовали в legacy-системах — SAS RTDM, Viya, ID, MA, MO, EG. Каждый из перечисленных компонентов покрывает ту или иную потребность системы, например: 1. исполнение ML-моделей (MA); 2. ETL (DI, EG); 3. оптимизация x-sell-предложений (MO); 4. low-code-инструменты настройки бизнес-логики (RTDM, Viya, ID). В докладе расскажу об импортозамещении компонентов RTDM, Viya, ID. На вышеперечисленных движках в промышленной эксплуатации работают highload-процессы под нагрузкой ~50 000 TPS и c доступностью 99,99% (53 минуты простоя в год). Максимально схожими движками по функционалу являются системы класса BPMS: Camunda, jBPM, Kogito и другие. Взяв за основу наши функциональные и нефункциональные требования, покажу, почему мы выбрали jBPM, погрузимся в архитектуру решения, а также разберем баги, с которыми мы столкнулись, и методы их исправления.

Олег Терёшкин

Олег Терёшкин (Сбер)

13:30 — 14:20 / 25.11

Зал «h5»

Импортозамещение

Хакнуть K8s: разбор пэйлоадов и способов защиты

В современном быстро меняющемся мире главной ценностью является информация. С развитием и усложнением программных продуктов, а также переходом на микросервисную архитектуру зачастую вопросы безопасности инфраструктуры отходят на второй план. А между тем, ошибки, допускаемые при проектировании информационной системы и некачественной настройке ее компонентов, могут привести к фатальным проблемам: захвату серверов, майнингу на ваших мощностях, краже конфиденциальной информации. При этом огромное количество DevOps-специалистов зачастую относятся к требованиям сотрудников кибербезопасности как к мешающим их работе и закрывают замечания иногда либо только на бумаге, либо подгоняя под различные тест-кейсы. Особую роль в построении современной высоконагруженной системы играет Kubernetes, позволяя вам легко управлять тысячами контейнеров при помощи конфигурационных файлов. Но высокий уровень абстракции притупляет наше внимание, а ведь под красивым названием оркестратора скрываются Linux, сети, Go и containerd. При этом кажется, что K8s из коробки обеспечивает приемлемый уровень безопасности для вашего приложения. Но это утверждение верно лишь отчасти. В докладе будут рассмотрены следующие темы: * Reverse-shell, или Как заставить сервер подключиться к вашему ПК и предоставить вам оболочку. * Docker Escape на практике: опасность привилегированных контейнеров и практическая демонстрация побега при помощи добавления самописного модуля в ядро. * RBAC, права в K8s и к чему приводит выдача слишком широких полномочий Pod'ам. * Практический захват кластера из Pod'а и запуск криптомайнеров. * Основные ошибки при написании манифестов для сервисов. Доклад будет интересен как DevOps- и DevSecOps-специалистам, так и всем увлекающимся пентестами и машинками на HackTheBox, бывшим и действующим игрокам в CTF.

Лев Хакимов

Лев Хакимов (MWS Cloud Platform)

13:30 — 14:20 / 25.11

Зал «h4»

Безопасность

Как работает MVCC в In-Memory-СУБД

Один из ключевых механизмов любой СУБД — это возможность предоставить согласованное состояние данных в базе в виде "снимка" или "снапшота". Этот механизм используется в первую очередь для организации изоляции транзакций: каждая транзакция видит свою версию состояния базы данных. В сочетании с другими механизмами это порождает технологию MVCC, когда транзакции независимо и одновременно видят каждая свое собственное состояние БД и работают в нем. Помимо этого, снимок состояния базы данных (записанный в файл) можно использовать для восстановления после перезапуска, а также для инициализации реплики. Изначально MVCC был придуман и реализован для дисковых БД, это хорошо известная и описанная технология. Последующее развитие баз данных в памяти привело к созданию специализированных подходов именно к базам данных в памяти. В этом докладе я на примере In-Memory-СУБД Tarantool в памяти расскажу, как устроены снимки данных и MVCC, как и почему эволюционировали эти алгоритмы, во что обходится поддержание этих структур пользователю, как правильно использовать и что ожидать от этих механизмов.

Александр Ляпунов

Александр Ляпунов (Tarantool, VK)

14:40 — 15:30 / 25.11

Зал «h3: Яндекс трек»

Базы данных и системы хранения

Решение проблемы ресурсов у команд-участников цикла разработки

Представим, что команда DevOps делает не только всё, что связанно с CI/CD, но и сильно выходит за эти рамки. Представим, что коллеги из тестирования и разработки имеют ограниченные права везде и по любому чиху дёргают инженеров. А как быть с фокусом на развитие и внедрение новых технологий и систем, при этом успевая всё? Сказ пойдёт о том, как решить проблему перераспределения ресурсов в командах-участниках цикла разработки. Казалось бы, зачем это делать? Для того чтобы высвободить ресурсы одних команд, повысить компетенции других команд со сменой фокуса на целевые активности. Мы поделимся тем, с какими преградами столкнулись на пути внедрения и изменения процессов, какими доводами договаривались с противниками внедрения, какой профит получили на выходе.

Александр Крылов

Александр Крылов (Директор по развитию Штурвала, Лаборатория Числитель)

14:40 — 15:30 / 25.11

Зал «h6»

DevOps и эксплуатация

RedHat OpenShift ушел. Что делать энтерпрайзу и не только ему?

До событий основным инструментом создания платформ управления контейнерами являлся продукт Red Hat OpenShift Container Platfrom. Теперь продажи этого, как и любых других западных решений, невозможны, и стоит вопрос выбора замены либо альтернативы. В этом докладе мы поговорим, какие пути и возможности есть с т.з. компаний сегмента Enterprise, для которых характерны высокие требования к функциональности и стабильности продукта, а также надежности поддержки решения. Основные тезисы доклада: 1. Для кого эта тема актуальна, кто и почему раньше выбирал OCP при наличии бесплатного kubernetes. 2. Какие возможны варианты замены OCP, в принципе. Два основных пути — OKD и ванильный kubernetes. 3. Что вас ждет в варианте OKD: * чем отличается OKD от OCP не по слайдам вендора, а на практике; * как правильно мигрировать с OCP на OKD, какие подводные камни ждут на пути. Рассматриваем на примере проекта, раскрываем тезисы на примере практических проектных кейсов. 4. Зачем это нужно, если есть ванильный kubernetes? На примере того же проекта поговорим, почему это было важно в нашем случае и что, возможно, следует учесть слушателям при таком кейсе: * платформа контейнеризации и операционная система как одно целое (immutable CoreOs); * наличие специфичных разработок для платформы (таких, как инфраструктура мониторинга STF), которые были важны Заказчику и которые существуют в адаптированном виде под OCP/OKD. 5. Поговорим на эту тему чуть шире — для enterprise в настоящий момент актуальна не только замена OCP, но также и замена подлежащей под ней платформы виртуализации. Если ранее 90% всех внедрений было поверх VMware, то теперь актуален переход на KVM-подобные гипервизоры. Здесь поговорим про наш опыт развертывания OKD на подобных решениях. Цель: дать информацию о том, что для компаний можно предоставить единый программный стек инфраструктуры, начиная от уровня гипервизора до уровня контейнерной оркестрации, на свободных opensource-технологиях, но при этом с достаточным уровнем надежности. Обсудим вопросы совместимости. 6. А что есть из отечественного, и что оно умеет по сравнению с OpenShift? Обзор решений, экспертное мнение.

Юрий Семенюков

Юрий Семенюков (Инфосистемы Джет)

14:40 — 15:30 / 25.11

Зал «h2»

DevOps в Enterprise

Внутренняя энтерпрайз-платформа для контейнерной разработки как технологическая основа для бизнеса

Создание цифровых продуктов — это новая грань развития бизнеса. Новые продажи, другой пользовательский опыт, работа с различными целевыми аудиториями, смена производственных процессов по принципу “все в цифре” для кардинального повышения эффективности — это эффекты, которые можно получить при применении цифровых продуктов. В текущей ситуации в нашей стране применение таких подходов — это один из возможных путей быстрой смены экономических связей и цепочек поставок. Для построения цифровых продуктов компании необходимо обладать технологической компетенцией, которая дает качественные процессы разработки, тестирования, эксплуатации, работающие на базе принципов Cloud Native, API first, CI/CD, Infrastructure as Code. Компетенции можно получить в компании через наем, а можно через построение своей внутренней платформы, которая задаст технологический стандарт контейнерной разработки цифровых продуктов. В докладе я расскажу про то, какие компетенции нужны для контейнерной разработки продуктов, как эти компетенции реализовать через свою платформу разработки и поставки цифровых продуктов, какие решения, типы компаний, сервисы есть на российском рынке для переиспользования внутри компании и почему это поможет сэкономить на найме людей и ускорить время вывода продуктов на рынок. Поговорим про: * Kubernetes как основу автоматизированной оркестрации ресурсов и приложений; * CI/CD-стандарты разработки, которые снимают сложности и барьеры с разработчиков, создают изолированные пространства разработки и позволяют быстро включать разработчиков разного уровня компетенции в процесс; * ключевые стандарты и подходы, которые делают разработку качественной, быстрой и безопасной; * как эти стандарты имплементируются на опыте Экспресс 42 и могут быть имплементированы у вас.

Александр Титов

Александр Титов (Флант)

15:50 — 16:40 / 25.11

Зал «h2»

DevOps в Enterprise

GraphQL: простая schema провала, или Серебряная пуля для ваших ног

"GraphQL очень простая технология: бери и делай, что там сложного?", — такую фразу я слышал от большинства senior-разработчиков, с которыми обсуждали GraphQL. С точки зрения самой технологии это действительно так (ну да, бери и делай:), однако наш многолетний опыт работы показал, что с точки зрения управления командой это не совсем так. "А стал бы ты использовать GraphQL ещё раз в новом проекте?", — это второй по популярности вопрос, на который раньше у меня не было четкого ответа. "И да и нет", — отвечал я... Но всё-таки: да или нет? В этом докладе я постараюсь ответить на вопрос, когда действительно стоит рассмотреть внедрение GraphQL в свой проект, сколько ресурсов на это нужно, что вас будет ждать и как минимизировать риски, если вы всё-таки решитесь на это. Помните: Highload не всегда определяется большим RPS или объемом данных. Иногда большие нагрузки ложатся на менеджмент, архитекторов и разработку.

Иван Решетин

Иван Решетин (Озон Банк)

15:50 — 16:40 / 25.11

Зал «h1: Главный зал»

Менеджмент крупных проектов

Глубокое обучение в продуктовом ритейле: сложности, риски, допущения

Прогнозирование спроса — одно из направлений в предсказательной аналитике, критически важное для процессов планирования и пополнения в ритейле. В магазинах сети «Магнит» ежедневно совершают миллионы покупок, а спрос по структуре настолько разнородный, насколько обширны география, форматы и ассортимент в компании. Очередной подход и логичный шаг к решению данной задачи — методы DL. Поделимся собственным опытом и встречающимися трудностями: * сложности применения нейронных сетей в прогнозировании спроса, или Как мы подружили нейросети с временными рядами; * как мы выстроили пайплайн в условиях ограниченных ресурсов; * ожидаемый и реальный эффект: стоит ли бежать за gpu.

Илья Иванченко

Илья Иванченко (Магнит)

17:00 — 17:50 / 25.11

Зал «h6»

Нейронные сети, искусственный интеллект

Unconference

17:00 — 17:50 / 25.11

Залы: «p7 / PHP Russia»

Unconference

18:00 — 18:50 / 25.11

Залы: «p7 / PHP Russia»

VK Звонки: все про звук, или Как добиться эталонного качества передачи голоса через интернет

Почему, если кто-то участвует в “созвоне” из автомобиля, то его плохо слышно? В чем особенность использования динамиков вместо наушников, когда вы находитесь на звонке? Что происходит со звуком участника звонка, если у него плохой интернет? Можно ли измерить качество звука в цифрах? На эти и другие вопросы я постараюсь ответить в своем докладе на примере нашего сервиса. Через VK Звонки ежедневно общаются миллионы людей, одновременно идут десятки тысяч разговоров и рабочих совещаний. Расскажу, как нам удается обеспечить качество звука, способное конкурировать с мировыми лидерами рынка, с какими сложностями мы сталкиваемся и как оцениваем эффективность наших доработок и улучшений.

Алексей Шпагин

Алексей Шпагин (VK, ВКонтакте)

18:00 — 18:50 / 25.11

Зал «h1: Главный зал»

Узкотематические секции

Закрытие

18:50 — 19:00 / 25.11

Залы: «h1: Главный зал»