СТОКМАНН
Электронная коммерция
Россия, Москва
Октябрь 2023
Когда мы подключились к СТОКМАННУ — известной сети магазинов в Европе и России, ситуация с екомом была критической — компания находилась в заложниках у собственного сайта. Поставить на паузу бизнес было нельзя, а сайт работал с перебоями, часто зависал или вовсе падал. Коллцентр не успевал обрабатывать входящие заявки — состояние сайта тормозило все бизнес-процессы.
Главная сложность заключалась в том, что инфраструктура сайта была собрана на сильно переделанном «Битриксе», и представляла собой единый монолит данных, где все отделы связаны между собой. При попытке поменять что-то одно обязательно появлялись проблемы с другой частью сайта. Это серьезно влияло на скорость внедрения новых возможностей.
Задачи, которые перед нами стояли:
— Обеспечить бесперебойную работу в дни распродаж;
— Вернуть управляемость в интернет-магазин;
— Создать условия для устойчивого развития сайта в будущем.
За месяц мы подготовили фундамент для перехода STOCKMANN на новую инфраструктуру.
— Внедрили трассирующие логи и метрики в едином пространстве с инструментами исследования (сетап ELK и Prometheus) — это позволило отслеживать, где начинаются неисправности, и каким образом можно их решать.
Для того, чтобы решить проблему со сверхнагрузками мы вынесли все функции, связанные с заказами, за периметр платформы в отдельный сервис «Заказ» и сделали его независимым.
— Отказались от промежуточных запросов в 1C;
— Разработали систему очередей, которая исключила возможность потери заказа, если сторонние сервисы (например, 1С) по каким-то причинам не доступны;
— Провели редизайн интерфейса: улучшили эргономику и сделали его более удобным для пользователя.
За два первых месяца frontend-разработчики создали фронт на React.js, а поверх старого монолита добавили слой API без изменения логики сервиса. Это позволило увеличить скорость как для пользователей, так и для внедрения нового функционала.
Реализовали апдейт информации с периодичностью до 60 раз в минуту.
— Распараллелили обмен разных типов данных. Теперь цены, остатки, сегменты и акции обрабатываются в разных очередях;
— Разбили массив данных на части, благодаря чему распределили нагрузку и ускорили обработку;
— Настроили обработку данных на основе повторных попыток средствами очередей, а при невозможности обработки начали уведомлять ERP;
— Вывели уведомления об ошибках и статистике обработки данных в Телеграм.
За год сотрудничества мы помогли STOCKMANN вернуть управляемость собственным сайтом и перевести его на новую архитектуру без остановки бизнес-процессов. Ускорили апдейт информации в 10 раз: если раньше данные попадали на сайт за часы, то сейчас это стало происходить за несколько минут или даже секунд.
Благодаря обеспечению бесперебойной работы интернет-магазина в дни распродаж, пользователи не сталкиваются с потерей заказов или некорректным оформлением, что повысило доверие к платформе.
Николай Резун
Для нас этот кейс оказался вызовом. Нашим приоритетом стала скорость: приближались ежегодные распродажи, во время которых сайт испытывает колоссальную нагрузку. Когда мы только начали, платформа представляла из себя единый монолит: связанность процессов зашкаливала; были проблемы с документацией; было нереально быстро разобраться в работе системы.
Но несмотря на трудности, мы достигли поставленных целей. 12 апреля 2023 года на сайте и в новом приложении стартовала ежегодная суперакция «Сумасшедшие Дни». В этом году маркетинговый отдел запустил её самостоятельно на новой платформе. Это первая акция, для проведения которой не потребовалась помощь технической команды.
Сергей Фадеев
Head of e-commerce, STOCKMANN
Проект был сложный и с богатым «наследством». Ребята из Ctrlweb успешно решили эту задачу. За полтора года сайт стал намного лучше: мы не падаем при релизах, не тормозим на подросших нагрузках, не возвращаемся каждый квартал к доработке закрытых задач, потому что они глючат. Ctrlweb едины с нашей командой в плане ценностей и приоритетов. Наша совместная работа — история, когда 1+1 дало +10 к результату.
CTRLWEB с удовольствием обсудит вашу задачу