Свяжитесь с нами
Оставьте свои данные и наши менеджеры свяжутся с вами
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности

B2B-платформа для компании "Восток-Запад"

Компания «Восток-Запад» – крупнейший поставщик продуктов в рестораны, кафе, гостиницы, кейтеринговые компании, столовые, комбинаты питания и кондитерские производства.

Компания является федеральным оператором 4PL-логистики и предоставляет услуги ответственного хранения, транспортной логистики и дистрибуции на всей территории России и стран СНГ.

Задача


Большие нагрузки на IT-систему - это всегда риски. Если решение не выдержит, есть большая вероятность потерять клиентов и деньги. При таком подходе нужно закладывать в архитектуру системы достаточно хороший запас прочности, но при этом сохранить ее гибкость и масштабируемость. Именно такая задача стояла перед Compo Soft - создать систему, выдерживающую большие нагрузки, но гибкую к необходимым адаптациям.

Одним из основных вызовов для компании являлось увеличение операционной эффективности и улучшение взаимодействия с клиентами. Решением данной задачи стало внедрение личного кабинета Compo B2B eCommerce, который взял на себя ключевые функции в ежедневной работе клиентов, сократил время операционных процессов и повысил уровень сервиса.
Цель внедрения Compo B2B eCommerce
  • Улучшение опыта клиентов (все необходимые операции можно делать онлайн);
  • Увеличение эффективности работы (меньше времени на обработку заказов и запросов клиентов);
  • Улучшение прозрачности и точности информации (меньше ошибок при обработке заказов);
  • Увеличение уровня удовлетворенности клиентов (укрепление лояльности к компании).
Основная цель внедрения ЛК Compo B2B eCommerce заключалась в создании удобной и простой платформы для легкого оформления заказов в любом из заведений клиента. Это позволит контролировать отдельные этапы поставки и поможет автоматизировать все сопутствующие операции.

В личном кабинете клиенты «Восток-Запад» получили возможность:

  • просматривать полный ассортимент продукции, доступные цены, скидки и акции;
  • создавать новые заказы, выбирать необходимые продукты;
  • указывать количество, указывать дату и временное окно доставки на выбранный день;
  • отслеживать движения машины до точки, что позволяло клиентам быть в курсе всех этапов обработки и доставки.

Кроме того, компания внедрила функцию автоматического повторного заказа. Это означает, что клиенты могут сохранять свои предыдущие заказы и совершать повторные заказы в несколько кликов. Создание общей экосистемы в личном кабинете (ЛК) значительно облегчило работу с заказами – не важно, как сделан заказ – все заказы можно отследить и посмотреть в личном кабинете.

Клиенты 4PL (контрактной логистики) получили возможность:

  • вести учет и управлять всеми логистическими процессами через ЛК Compo B2B eCommerce;
  • отслеживать перемещение продуктов, получать уведомления о статусе поставок;
  • регистрировать претензии или запрашивать поддержку в случае возникновения проблем;
  • получать информацию о ближайших датах оплаты и задолженностях;
  • назначать роли для пользователей на точки и наделять их необходимыми правами.

Шаги внедрения

  1. Анализ бизнес-процессов компании и выявление ключевых точек, которые могут быть автоматизированы и улучшены через внедрение Compo B2B eCommerce;
  2. Разработка и настройка системы, включая ассортимент, цены, заказы, финансовые показатели, доставку, документооборот и сервисные обращения;
  3. Тестирование функционала, отладка системы и нагрузочное тестирование
для обеспечения ее работоспособности и соответствия требованиям компании.
  1. Подготовка обучающих материалов и проведение обучения сотрудников компании, чтобы они могли эффективно использовать новую систему.
  2. Запуск и внедрение системы Compo B2B eCommerce, включая обновление сайта компании и информирование клиентов о возможностях новой системы.
  3. Оценка эффективности и удовлетворенности клиентов после внедрения системы и внесение необходимых корректировок.
Результаты
  • Увеличение числа клиентов за счет простоты использования и удобства Compo B2B eCommerce;
  • Ускорение обработки заказов и запросов клиентов;
  • Сокращение числа ошибок и улучшение точности информации;
  • Повышение уровня удовлетворенности клиентов и укрепление их лояльности к компании;
  • Снижение затрат на обработку заказов и запросов;
  • Увеличение среднего чека и расширение ассортимента в заказе.

Системная аналитика
Особенностью реализации проекта явилось комплексное системное окружение, в котором необходимо было реализовать проект. В частности:

  • системный ландшафт представлял собой ряд интегрированных между собой платформ - центром являлась ERP SAP;
  • бизнес-процессы в компании были оптимизированы для имплементации двух различных кластеров обслуживания – основной бизнес (отдельно стоящие рестораны – широкий ассортимент продукции) и логистический бизнес (сетевые рестораны: Burger King, KFC, Dodo и другие – наборы SKU по технологическим картам ресторанов).
Разработка и внедрение
Для реализации по согласованию с заказчиком был выбран стек Microsoft:

  • Windows Server
  • Internet information Server
  • ASP.Net Core 5
  • Microsoft c#
  • SQL Server

Учитывая большой объём обмена данными, была спроектирована следующая архитектура ЛК:

  • Сервер ресурсов предназначен для размещение статических файлов (изображения, видео, загружаемые документы). Может быть вынесен во внешний дата-центр с целью ускорения скачивания файлов данных, так как может понадобиться большая полоса пропускания. Может быть реализован как на Windows, так и на Unix.

  • Load balancer - специализированный сервер, предназначен для распределения нагрузки между несколькими веб-фермами. Может быть реализован как на Windows, так и на Unix. Необходимо специальное системное ПО для распределения нагрузки – iis, apache, nginx.

  • Web node - узел веб-фермы является веб-сервером, на котором расположена копия ПО ЛК ВЗ. Таких узлов может быть 2 или более.

  • ElasticSearch - на этом сервере расположено ПО для индексирования и поиска по контенту. Может быть реализован как на Windows, так и на Unix.

  • Сервер БД - основной центр хранения данных ЛК, к которому обращаются и веб-фермы и REST API. Может быть масштабирован горизонтально с помощью встроенных средств. Должно быть обеспечено резервное копирование данных.

  • REST API - сервис интеграции с шиной, который принимает запрос по передаче данных.

Нагрузочное тестирование
Учитывая, что у компании несколько десятков тысяч клиентов, которые постоянно делают заказы, требовалось убедиться, что настоящее решение будет способно выдерживать возникающие нагрузки в течение достаточно большого горизонта планирования. Особенно это актуально в пиковые тайм слоты, например, в понедельник утром, когда сотрудники приходят на работу и начинают формировать заказы на ближайшую неделю.

Для этого были проведены работы по синтезу базы данных, тождественной таковой базе после года работы. Вместе со специалистами заказчика был выявлен и утверждён типовой сценарий работы пользователя, а также ожидаемые количественные показатели нагрузки после года эксплуатации системы. Таким образом, был подготовлен максимально близкий к реальному экземпляр системы для тестирования.

Для проведения тестирования использовался инструмент Apache JMeter. Это популярный инструмент с открытым кодом на платформе Java, имеющий механизм плагинов и поддерживающий разные виды нагрузочного тестирования.

На тестовый сервер была установлена виртуальная машина Java актуальной версии и Apache JMeter версии 5.5.

Для реализации тестирования в конфигурацию был добавлен механизм управления плагинами, а через него – плагины:

  • 5 Additional Graphs
  • BlazeMeter Random CSV Data Set

Был сконфигурирован контроллер тестирования, эмулирующий максимальную нагрузку, которую может выдержать тестовая система без заметной деградации качества обслуживания (задержка обработки запроса и ошибки обработки запросов). Кроме контроллера нагрузки оценивалось использование ресурсов на узлах веб-фермы и сервера БД.

Сервер IIS

Показал достаточно равномерный график нагрузки на ядра процессора. Средняя нагрузка – 31.142%.

Сервер SQL

Показал достаточно равномерный график нагрузки на ядра процессора. Средняя нагрузка – 51.294%.

Нагрузка равномерно распределилась по всем ядрам процессоров.
Сервер JMeter

Были выполнены 99,99846% процентов плановых запросов (оставшиеся 6 долго задерживались из-за влияния стохастической составляющей времени задержки между запросами).

Система показало хорошую стабильность процесса обслуживания.
В результате было доказано что производительность системы на пике примерно в 4.3 раза превышает требования заказчика даже на достаточно скромной аппаратной платформе. Наряду с этим был определен коэффициент эффективности вертикального масштабирования при увеличении числа ядер с 8 до 24.

  • Результаты стресс-теста на итерации 2: 105 852 запроса в час;
  • Результаты стресс-теста на итерации 3: 294 953 запроса в час;
  • Коэффициент масштабирования ресурсов: 24 / 8 = 3.0;
  • Коэффициент масштабирования производительности: 294 953 / 105 852 = 2,786;
  • Коэффициент эффективности вертикального масштабирования: 2,786 / 3.0 = 0,9288 = 92,88%.
Это очень высокий коэффициент, показывающий, что система хорошо распараллеливается при вертикальном масштабировании. Таким образом, в течение ближайших 10-12 лет ЛК будет способен выдерживать планируемые нагрузки без заметных доработок.
Внедрение Compo B2B eCommerce позволило компании «Восток-Запад» существенно улучшить взаимодействие с клиентами и сделать процесс заказа и управления продуктами более удобным и прозрачным. Клиенты получили личного ассистента, позволяющего существенно выгадать время на важных рутинных задачах, предоставляющего доступ ко всей необходимой информации и функциональности через одну платформу. Это сэкономило время и улучшило уровень сервиса.

Инфраструктурная схема

Технологии разработки

BACK-END
Операционная система: Linux (Ubuntu, CentOs, RedHat)
СУБД:
PostgreSQL
Язык программирования:
Java 11
Фреймворк:
Spring Boot
AMQP:
Rabbitmq
Поиск:
ElasticSearch
Web-серверы:
nginx, tomcat
FRONT-END
Операционная система: Linux (Ubuntu, CentOs, RedHat)
СУБД:
PostgreSQL
Язык программирования:
Java 11
Фреймворк:
Spring Boot
AMQP:
Rabbitmq
Поиск:
ElasticSearch
Web-серверы:
nginx, tomcat
Над проектом работали
  • Максим Наумкин
    Генеральный директор
  • Владимир Гантурин
    Технический директор
  • Александр Кулянов
    Проджект-менеджер
  • Никита Тропин
    Тимлид
  • Егор Ермаков
    Дизайнер UX/UI
  • Екатерина Потапова
    Front-end разработчик
  • Сергей Сухенко
    Разработчик
  • Андрей Коровин
    DevOps
  • Андрей Павлов
    Системный аналитик
  • Анна Бутыгина
    Тестировщик
  • Дмитрий Новиков
    1С-разработчик