2020 год показал, что система ТД была на пределе: в момент трансляции оба сервера не выдержали нагрузки и легли. А в 2021 году количество участников диктанта должно было прирасти. Апгрейд был жизненно необходим, но в условиях ограниченного бюджета.
Первым делом мы протестировали систему: слабым местом оказалась авторизация пользователей. Оптимальное решение — вынести сервис авторизации за контур и переделать именно его, не трогая окружение. Это принцип микросервисной архитектуры, когда информационная система состоит из отдельных слабосвязанных модулей, которые можно разрабатывать, практически не касаясь соседей. Так IT-проект получается максимально гибким и готовым к постоянному росту.
Провели нагрузочное тестирование (через Яндекс. Танк) — сымитировали поведение пользователей и выдерживаемую нагрузку. В итоге добавили второй временный сервис, чтобы в день Х наверняка справиться с пиковой посещаемостью.
Также позаботились о резервном сохранении данных, если вдруг что-то глобально рухнет, пользователь не потеряет написанный диктант.