Новый дата-центр и инфраструктура Тануки
«Тануки» — сеть ресторанов японской кухни с круглосуточной доставкой роллов и трафиком на сайте в 500 тыс. пользователей в месяц.
Какие были задачи?
- Безболезненный переезд в новый дата-центр
- Организация комфортной среды разработки для нового API и сайта
- Стабилизация работы приложений
- Доработка инфраструктуры: внедрение системы кэширования, логирования и мониторинга
Проблемы проекта
Система сталкивалась с рядом проблем: ненадёжная балансировка в конфигурации базы данных и мастер-мастер репликация приводили к сбоям; слабы занимали много дискового пространства, а добавление новых серверов требовало значительных затрат. Отсутствие единой системы деплоя ограничивалось самописным веб-решением, а нехватка инструментов для сбора логов усложняла расследование инцидентов, особенно в системе заказов. Также отсутствовал мониторинг бизнес-показателей, что не позволяло оперативно фиксировать падение или отсутствие заказов.
Проведенные работы
- Стабилизация работы и настройка кластера БД
- Обновление версий PHP
- Внедрение системы кеширования
- Формирование метрик и системы мониторинга
- Разработка и внедрение пайплайнов и конвейера CI/CD
- Перенос инфраструктуры проекта в новый дата-центр
- Разработка решения для управления настройками приложений
- Доработка инфраструктуры для улучшения связности и стабильности
Решение
В проекте была проведена стабилизация работы и настройка кластера базы данных, обновлены версии PHP и внедрена система кеширования.
Были разработаны метрики и система мониторинга для отслеживания производительности. Созданы и внедрены пайплайны и конвейер CI/CD, а инфраструктура проекта была перенесена в новый дата-центр.
Дополнительно разработано решение для управления настройками приложений и улучшена инфраструктура для повышения связности и стабильности.
Особенности решения
В проекте было решено отказаться от использования плавающего IP и перейти на прокси-сервер с контролируемым переключением апстримов между мастерами.
Для улучшения производительности выделены два отдельных сервера для слейвов. Настроен мониторинг заказов на уровне запросов в базе данных. Пайплайны были внедрены сначала на dev-контурах для ускоренной разработки и позже скопированы на stage.
Обеспечена стабильная работа сайта за счёт настройки логирования, бэкапов, кэширования, мониторинга, балансировки нагрузки, использования CDN и брокера очередей.
Разработано решение для управления настройками приложения через веб-интерфейс.
Как проходила миграция
- На первом этапе были созданы реверс-прокси серверы в новом ДЦ.
- Запустили все инфраструктурные сервисы — логирование и CI/CD.
- Мигрировали БД, Redis и брокер очередей — RabbitMQ.
- На подготовительном этапе репликация БД между дата-центрами не поднималась, поэтому мы просто перенесли бэкапы.
- Переключение сервисов на новый ДЦ. Предварительно были организованы необходимые реплики из старого ДЦ в новый. И в согласованное окно работ мы переключили трафик на новую инфраструктуру.
Срок внедрения
Инфраструктура клиента представляла собой обширную систему, в которую постоянно добавлялись новые сервисы. Параллельно со стабилизацией мы создавали новую среду для разработчиков и отстраивали CI/CD. Переезд в ДЦ проходил с перерывами на другие работы.
57 дней у нас ушло на стабилизацию инфраструктуры.
160 дней длился переезд в новый дата-центр.
Схема новой инфраструктуры
Примененные технологии
Результат
Весь трафик поступает на балансеры. Трафик до API идет с приложения Тануки (на Android/iOS) не напрямую, а через Qrator. На static сервере находится основной сайт проекта tanuki.ru, сервер с лендингами. Кластер бэкенда состоял из серверов: фронтенд, статика, серверов под приложения.
Переезд и оптимизация инфраструктуры исправили проблему с оформлением заказов, сайт и приложения стали работать стабильнее. У команды появилась полностью автоматизированная среда разработки CD/CD. Инфраструктура сейчас выдерживает большой трафик. Например, в праздничные дни RPS достигает пика в 550 единиц.
Упомянутые услуги
Ответим на заявку в ближайшие 24 часа. А еще мы можем проконсультировать вас по телефону +7 800 555-91-99, электронной почте info@itsumma.ru или в Telegram-чате.