B2B и B2C портал "ТБМ"
Разработать принципиально новый проект, объединяющий B2B и B2C направления деятельности компании.
B2B и B2C портал "ТБМ"
Разработать принципиально новый проект, объединяющий B2B и B2C направления деятельности компании.
ТБМ — крупная торгово-производственная компания в сфере строительного ритейла. Занимается поставкой комплектующих для производства окон, дверей, фасадов и мебели. В штате компании — более 2 500 сотрудников, филиалы и магазины ТБМ действуют в 150 регионах. У компании более 80 клиентов регионального уровня.
За 29-летнюю историю развития у компании появилось множество предприятий, филиалов, отделов, складов, баз данных. Связующим звеном всех этих организаций выступала самописная ERP-система.
Со временем, команда ТБМ столкнулась с проблемами:
- Сложно поддерживать монолит – сказывается и возраст системы, и объём данных в 2 000 таблиц;
- Нет полной документации – процесс ввода новых сотрудников затягивается
до 6 месяцев, при утрате экспертизы могут возникнуть проблемы; - Не было единого информационного поля, вся экосистема компании
была раздроблена на три сайта для B2B и B2C направлений.
Так команда пришла к необходимости обновить сайт, но это требовало глубокой проработки последующих шагов.
Когда «ТБМ» обратились к нам, мы взяли на себя технический анализ, выдвинули предложения архитектуры и технологического стека. Каждые две недели мы проводили очные встречи с командой клиента, чтобы получить полную информацию по проекту и бизнесу компании. В рамках цели обновления сайта мы решали задачу по смене технологического стека и перехода на новый тип архитектуры.
- Объединили B2B и B2C направления бизнеса в рамках одной платформы;
- Обновили технологический стек: перешли с Битрикс на PHP 7.4 в связке со Swoole и Lumen для оптимизации запросов;
- Продумали взаимодействие между ERP и новым сайтом, создали двустороннюю интеграцию БД с ERP;
- Создали отказоустойчивый сервис, способный масштабироваться вслед за развитием бизнеса;
- Сделали процесс управления электронной коммерцией удобным за счёт проработки интерфейса.
У вас есть свой проект? Давайте обсудим
Развитие ERP сопровождалось появлением нескольких десятков типов основных и побочных сущностей — всего более 40, увеличением объёма данных внутри каждой из них. Туда входили записи о товарной номенклатуре, клиентах и пользователях, логистической структуре.
При выборе архитектуры мы рассматривали три основных варианта:
- Многослойная архитектура с разделением системы
на уровни представления, бизнес-логики, данных. - Сервисно-ориентированная с выделением сервисов по сегментам бизнеса.
- Микросервисная архитектура — для обеспечения масштабируемости
и отказоустойчивости системы.
Мы остановили свой выбор на микросервисной архитектуре, так как она отвечала требованиям по созданию устойчивого к высоким нагрузкам сервиса. Также, важной особенностью микросервисов стало удобство поддержки системы и локализации проблем.
У проекта было несколько особенностей:
- Мы решали задачи, по которым не было экспертизы в открытых источниках. На старте проекта микросервисы только набирали обороты, поэтому многие вещи мы анализировали и продумывали сами. Например, SEO, авторизация, WYSIWIG.
- Помимо технической составляющей, мы также пришли к оптимальному составу рабочих команд для обсуждения задач. Подробнее об этом в описании workflow проекта.
Мы столкнулись с проблемой декомпозиции задач на проекте и вывели три правила:
- Мы берём в один крупный спринт микросервис, который может быть завершен «от и до» (авторизация, чат, email-рассылка),
- Если микросервис общается со множеством других и подвержен постоянным доработкам, мы декомпозируем его внутри и выполняем только ту часть, которая относится к уже готовым микросервисам (цены, остатки, доставка),
- Каждый функциональный блок или раздел имеет внутреннего заказчика – это важно с точки зрения переговоров и принятия решений.
Микросервисы в коммуникации
Для обсуждения вопросов по проекту мы пришли к оптимальному составу рабочей группы:
- Менеджер проекта со стороны Hawking Bros,
- Разработчик профильного микросервиса со стороны Hawking Bros,
- Менеджер проекта со стороны ООО «ТБМ»,
- Профильный сотрудник со стороны ООО «ТБМ»,
- Разработчик со стороны ERP-системы — опционально.
Группа состоит из такого количества людей и такого профиля, чтобы максимально быстро и эффективно решить любой вопрос.
Рекомендуем посмотреть совместное выступление Арсения и Олеси на Mind Bros Conf, если вам интересно узнать больше о проекте.
Проект готовится к открытому релизу, и пока работает в бета-версии в закрытом доступе для ограниченной группы пользователей.