Миграция инфраструктуры
Big Data
Инфраструктурные работы

Новый дата-центр и инфраструктура Тануки

«Тануки» — сеть ресторанов японской кухни с круглосуточной доставкой роллов и трафиком на сайте в 500 тыс. пользователей в месяц.

Какие были задачи?

  1. Безболезненный переезд в новый дата-центр
  2. Организация комфортной среды разработки для нового API и сайта
  3. Стабилизация работы приложений
  4. Доработка инфраструктуры: внедрение системы кэширования, логирования и мониторинга

Проблемы проекта

Система сталкивалась с рядом проблем: ненадёжная балансировка в конфигурации базы данных и мастер-мастер репликация приводили к сбоям; слабы занимали много дискового пространства, а добавление новых серверов требовало значительных затрат. Отсутствие единой системы деплоя ограничивалось самописным веб-решением, а нехватка инструментов для сбора логов усложняла расследование инцидентов, особенно в системе заказов. Также отсутствовал мониторинг бизнес-показателей, что не позволяло оперативно фиксировать падение или отсутствие заказов.

Проведенные работы

  1. Стабилизация работы и настройка кластера БД
  2. Обновление версий PHP
  3. Внедрение системы кеширования
  4. Формирование метрик и системы мониторинга
  5. Разработка и внедрение пайплайнов и конвейера CI/CD
  6. Перенос инфраструктуры проекта в новый дата-центр
  7. Разработка решения для управления настройками приложений
  8. Доработка инфраструктуры для улучшения связности и стабильности

Решение

В проекте была проведена стабилизация работы и настройка кластера базы данных, обновлены версии 
PHP и внедрена система кеширования.

Были разработаны метрики и система мониторинга для отслеживания производительности. Созданы и внедрены пайплайны и конвейер CI/CD, а инфраструктура проекта была перенесена в новый дата-центр.

Дополнительно разработано решение для управления настройками приложений и улучшена инфраструктура для повышения связности и стабильности.

frame
frame

Особенности решения

В проекте было решено отказаться от использования плавающего IP и перейти на прокси-сервер 
с контролируемым переключением апстримов между мастерами.

Для улучшения производительности выделены два отдельных сервера для слейвов. Настроен мониторинг заказов на уровне запросов в базе данных. Пайплайны были внедрены сначала на dev-контурах для ускоренной разработки и позже скопированы на stage.

Обеспечена стабильная работа сайта за счёт настройки логирования, бэкапов, кэширования, мониторинга, балансировки нагрузки, использования CDN и брокера очередей.

Разработано решение для управления настройками приложения через веб-интерфейс.

frame
frame

Как проходила миграция

  1. На первом этапе были созданы реверс-прокси серверы в новом ДЦ.
  2. Запустили все инфраструктурные сервисы — логирование и CI/CD.
  3. Мигрировали БД, Redis и брокер очередей — RabbitMQ.
  4. На подготовительном этапе репликация БД между дата-центрами не поднималась, поэтому мы просто перенесли бэкапы.
  5. Переключение сервисов на новый ДЦ. Предварительно были организованы необходимые реплики из старого ДЦ в новый. И в согласованное окно работ мы переключили трафик на новую инфраструктуру.

Срок внедрения

Инфраструктура клиента представляла собой обширную систему, в которую постоянно добавлялись новые сервисы. Параллельно со стабилизацией мы создавали новую среду для разработчиков и отстраивали CI/CD. Переезд в ДЦ проходил с перерывами на другие работы. 

57 дней у нас ушло на стабилизацию инфраструктуры. 

160 дней длился переезд в новый дата-центр.

Схема новой инфраструктуры

Примененные технологии

Фреймворки и библиотеки
PHP
PHP
Argo CD
Argo CD
React
React
Веб-серверы и балансировщики
Nginx
Nginx
Haproxy
Haproxy
Мониторинг и логирование
Elasticsearch
Elasticsearch
Logstash
Logstash
Kibana
Kibana
Контроль версий и CI/CD
Bitbucket Pipelines
Bitbucket Pipelines
Jenkins
Jenkins
Конфигурация и управление паролями
Consul
Consul
HashiCorp Vault
HashiCorp Vault
Балансировка и безопасность
Qrator
Qrator

Результат

Весь трафик поступает на балансеры. Трафик до API идет с приложения Тануки 
(на Android/iOS) не напрямую, а через Qrator. На static сервере находится основной сайт проекта tanuki.ru, сервер с лендингами. Кластер бэкенда состоял из серверов: фронтенд, статика, серверов под приложения.

Переезд и оптимизация инфраструктуры исправили проблему с оформлением заказов, сайт и приложения стали работать стабильнее. У команды появилась полностью автоматизированная среда разработки CD/CD. Инфраструктура сейчас выдерживает большой трафик. Например, в праздничные дни RPS достигает пика в 550 единиц.

Готовы обсудить проект?

Ответим на заявку в ближайшие 24 часа. А еще мы можем проконсультировать вас по телефону +7 800 555-91-99, электронной почте info@itsumma.ru или в Telegram-чате.

Свяжитесь со мной здесь
Свяжитесь со мной здесь
❗️Имя не может быть пустым
❗️Телефон не может быть пустым
❗️Email не может быть пустым