Блог

🤦‍♂️ Почти факап

10 000 инстаблогеров и сопричастных, сотни тысяч ботов, мощнейшая DDOS-атака и самое нервное для нашей команды мероприятие 2021 года.
Задача: Разработать платформу для проведения онлайн конференции на 10 тысяч человек. Предусмотреть интерактивы и возможность эффективного нетворкинга между участниками.

📦 С чем пришел клиент

Этот проект появился в нашей жизни в тот же день, когда мы провели корпоративное мероприятие Эльдорадо. Не успели еще мы произвести выгрузку статистики по только что завершившемуся двухдневному корпоративу, как на рабочий телефон позвонил мужской голос, представившийся Ильей.
На тот момент он сообщил лишь то, что готовит онлайн-конференцию на 6000 человек, и что ему нужна надежная платформа для проведения и хорошая команда бродкастеров.
Так мы узнали об Инстапрожекторе и блогерке Александре Митрошиной, чье мероприятие продюсировал этот Илья. К своему стыду, мы осознали, что никто в нашей команде не знал, кто эта блогерка, у которой в инстаграме более 2,5 миллионов подписчиков.

🧠 Подготовка

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

Главным минусом такого решения являлось то, что организаторы могли лишиться части прибыли, которую бы принесли продажи билетов непосредственно перед стартом конференции. Мы предложили пойти другим путем - реализовать синхронизацию баз данных посредством веб-хука.
Как позже выяснилось, действительно около 500 участников добавилось за сутки до начала Инстапрожектора, и решение использовать веб-хук позволило заработать организаторам дополнительно около 2 миллионов рублей.

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

За день до Инстапрожектора мы провели финальные тесты и довольные их результатами, настроились на то, что все пройдет как всегда гладко.

🎬 Прямой эфир

Наступил день Х. Трансляция запущена, участники заходят на сайт по данным из вебхука, общаются в чате, знакомятся в бизнес-тиндере. Нагрузка процессора сервера 40%, но логи сервера говорят о том, что мероприятие кажется будет оооочень необычным.
Мы видим огромное число запросов на сервер, канал забит. Но мы же тестировались на нагрузку в 50 тысяч человек, а всего их должно быть не более 10 тысяч. Так что же происходит? Ага, на нас начали DDOS-атаку и нагрузка эквивалентна примерно 500 тысячам юзеров, вместо заявленных 10 тысяч.

Интерактивы неистово лагают, и даже чат (вот уж от него точно такого не ожидали) тормозит. Нужно срочно искать решение.
Очевидный вариант перенести мероприятие на другой день нам не подходил. Это точно вызвало бы негатив со стороны участников. Ведь это не 10 человек, а 10 тысяч и все они планировали свое время и освобождали дату, чтобы поучаствовать в конфе. Экстренно переводить аудитории с платформы на неубиваемый ютуб - тоже не вариант, так как зрителям были обещаны все фишки платформы, и многие ждали возможности пообщаться в бизнес-тиндере.
Техническая служба расширяет канал до максимума, но и этого не достаточно. Начинаем отключать все, что может съедать ресурсы: всю аналитику, все логи, весь функционал, без которого можно обойтись. Если проводить аналогию, то со стороны это выглядело так, как если бы мы мчась на автомобиле по трассе, не снижая скорости откручивали от него все, что могло снизить вес. Сначала двери и окна, капот, сиденья… и так до тех пор, пока от машины не осталась рама, двигатель, колеса и руль. Комфорт езды конечно сомнительный, но едет же!
Вот на этом франкенштейн-мобиле мы и двигались следующие несколько часов. Еще никогда мы так не радовались финишу - окончанию эфира. Наконец-то можно было выдохнуть и порадоваться факту того, что мы все-таки доехали.

🏅 Итоги

Когда проблемы, связанные с атакой на сервер только начались, организаторы пытались обвинить нас в ненадежности платформы и вообще не верили во внешнее вмешательство. К счастью, логи, которые писались с начала мероприятия и до момента их отключения для оптимизации нагрузки, красноречиво свидетельствовали в нашу пользу. В итоге, мы смогли доказать, что наша команда не провалила мероприятие, а наоборот - спасла его, благодаря высокой квалификации команды.
Из-за незапланировано высоких нагрузок на облачный сервер мы понесли существенные финансовые потери. К сожалению, а может и к счастью, в момент принятия решения для нас этот факт оказался второстепенным, по сравнению с необходимостью вытащить эту конференцию.
Инстапрожектор не принес нам прибыли, но дал колоссальный опыт, который очень пригождается теперь во время других крупных онлайн-мероприятий. С тех пор мы стали предлагать нашим клиентам расширенную защиту от DDOS-атак, чтобы ситуация не повторилась вновь. Ну а этот опыт работы Сашей Митрошиной перерос в многолетнее сотрудничество (еще ряд конференций и то самое мобильное приложение MoveUp).
Кейсы