Авторизация
Сброс пароля
Как мы «Мисс Россию» на руках переносили
Вхождение в кейс дня
Заказчик: Руст
Страница кейса/результат: http://www.missrussia.ru/
Совместный кейс Byndyusoft и Microsoft: как «Мисс Россия» стала в 3 раза дешевле и в 40 раз быстрее за счет распределенной микросервисной архитектуры и перехода с выделенного сервера на облачную платформу.
1. Вводная задача от заказчика, проблематика, цели
Национальный конкурс «Мисс Россия» — крупнейший проект страны в области красоты, который проходит при поддержке Министерства культуры Российской Федерации.
Особенность сайта конкурса в том, что 97% трафика и 100% голосования проходит в течение двух недель в апреле. За этот короткий период сайт принимает 2 миллиона посетителей и обрабатывает 750 тысяч голосов.
Во время конкурса пользователи постоянно жаловались, что страницы медленно открываются, отдают 500-ошибку и не работает голосование. Были попытки «разогнать» сайт, но они закончились неудачно.
Сайт размещался на выделенном сервере. Добавление железа в сервер перестало приносить пользу. Когда заказчик провел нагрузочное тестирование, сайт упал на 150 запросах в секунду.
Заказчик пришел к нам с задачей: нужно перенести «Мисс Россию» в облако и добиться достаточного быстродействия.
Нагрузочные тесты первой версии
2. Описание реализации кейса и творческого пути по поиску оптимального решения
Вместо монолитного бэкенда внедрили распределенную микросервисную архитектуру. В проекте мы выделили три микросервиса: обработчик голосов (сервис), приемщик голоса (API), формирователь контента (Web).
Перенесли сайт с выделенного сервера на облачную платформу Microsoft Azure. Для кэширования контента стали использовать Akamai CDN. Это позволило увеличить скорость отклика система.
Переверстали сайт. Он стал меньше весить и быстрее открываться. Создали мобильную версию сайта, т.к. оказалось, что 60% посетителей заходят через мобильные устройства.
Новая архитектура
Нагрузочное тестирование после изменений
3. Результаты сотрудничества
Скорость сайта
Сайт работает быстро и гладко, даже на мобильных. Весь контент кешируется в CDN, которая справилась с 5500 запросов в секунду. Кэширование в браузере, в CDN и в веб-приложении позволило 99,7% пользователей открыть страницу конкурса Мисс Россия менее, чем за одну секунду.
Гибкость нагрузки
За счет гибкости выделения мощностей в Azure стоимость новой инфраструктуры во время голосования (две недели в году) равна стоимости выделенного сервера под предыдущую версию сайта. Зато после голосования мы сняли ненужные мощности в пару кликов и стоимость стала в 3 раза дешевле.
Голосование
Голосование отработало 100% запросов, ни один пользователь не получил 500-ошибку. Из 750К голосов алгоритм отсеял примерно 500К в качестве ботов, а остальные голоса были зачтены девушкам.
Организаторы конкурса получали прозрачную отчетность о ходе голосования: кто и сколько голосов получил, кто пытался накрутить результаты.
4. Заключение
Новая архитектура позволила:
- Давать больше ресурсов на нагруженные части, меньше на ненагруженные.
- Убрать влияние частей системы друг на друга.
- В 3 раза снизить затраты на серверное оборудование, т.к. повышенные мощности выделяются только на нагруженные части системы во время голосования(две недели в году).