Переезд - это всегда хороший повод внести улучшения
После аудита было принято решение поднимать копию сервиса не руками, а вместо этого внедрить автоматизацию, описав всю инфраструктуру сервиса на ansible.
При подготовке к переезду было выполнено нагрузочное тестирование. Стало понятно, какие мощности необходимы на новом хостинге и какую нагрузку ведержит текущая конфигураци. Кроме этого были обнаружены места в коде, оптимизировав которые в будущем можно получить кратный прирост производительности
Кроме этого были устранены единые точки отказа, а именно задублированы фронтенды с nginx и единственный сервер mysql был заменен на отказоустойчивый percona xtradb cluster из 3 нод. Таким образом, любой из элементов сервиса может быть выведен из строя, но система продолжит функционировать нормально
Был написан набор сценариев, запустив которые можно поднять полную копию сервиса за десятки минут, ввести в строй новые ноды за минуты, изменить конфигурацию и обновить код на всех машинах - за секунды. После проверки сценариев на тестовой инсталляции, боевая инсталляция из 10 машин была подготовлена менее чем за 2 часа (полтора из которых заняло создание пустых виртуальных машин со стороны azure).
Простой при переключении на новую инсталляцию не привысил 10 минут
После переезда был настроен автоматический мониторинг системы по нескольким сотням параметрам с оповещеним по e-mail и sms, чтобы обеспечить непрерывную работу сервиса, и автоматическое резервное копирование на 2 удаленных площадки, чтобы исключить риск потери пользовательских данных