Когда защите нужна защита: как мы ломали и восстанавливали Антиробот Яндекса

30 ноября, 15:50, «Кейптаун»

Средняя сложность
Доклад принят в программу конференции

Мнение Программного комитета о докладе

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

Целевая аудитория

Backend-разработчики, SRE, performance-инженеры, архитекторы и техлиды, которые проектируют и эксплуатируют высоконагруженные сервисы на критическом пути запроса. Доклад также будет полезен инженерам антифрод- и anti-DDoS-систем.

Тезисы

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

На обезличенных production-инцидентах я покажу, как одно правило заблокировало всё, другое вывело из строя целую инсталляцию, бинарно несовместимый инстанс вызвал каскадное падение кластера, а холодный старт создал угрозу повторной перегрузки.

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

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

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

Спикеры

Иван Тямгин
С 2018 года работает в Яндексе над проектами антифрода. Backend-разработчик. Работал в поисковом антиспаме, сейчас занимается всем, что связано с антироботом и капчей, в том числе разработкой продуктов в Yandex Cloud. Участник различных контестов по AI и ML.

Другие доклады секции