Из монолита в микросервис

Мы не раз рассказывали о проектах для федеральной сети химчисток «Диана»:

Процесс автоматизации бизнес-процессов в компании идет непрерывно многие годы.  За это время многие IT-решения трансформировались в огромных монолитных монстров. Например, CRM-система, с которой работали в компании, была изначально разработана  больше 10 лет назад и перестала удовлетворять всем требованиям. В частности, нормам Федерального закона от 23 мая 2003 г. №54-ФЗ «О применении контрольно-кассовой техники при осуществлении расчетов в Российской Федерации», согласно которым в чеке должен быть перечислен список оказанных услуг. Компании понадобилось разработать для этого решение и интегрировать его в  CRM. 

Как уже было сказано выше, CRM была разработана давно, под старую версию PHP. Развивать ее сложно, т.к. за годы доработок там накопилось много лишнего кода при отсутствии какой-либо документации. Логичным решением было проведение рефакторинга перед разработкой нового функционала. Однако мы отказались от этого ввиду высокой стоимости этой работы и длительности: чистить legacy-код обычно сложнее, чем писать его с нуля. Мы изучили различные архитектурные решения и решили использовать микросервисную архитектуру.  

Мы  не стали трогать CRM, чтобы не разрушить продукт. Мы добавили REST API и получили сервис, который позволит в дальнейшем интегрировать его с другими микросервисами.

После этого мы начали работу над микросервисом на фреймворке Laravel, а затем по REST API интегрировали его с CRM. Такое решение вышло существенно дешевле рефакторинга и позволило быстро развивать IT-систему компании.

В дальнейшем мы сделали еще три микросервиса:

  • для службы доставки;
  • для департамента маркетинга;
  • для call-центра. 

Все отчеты из микросервисов в режиме реального времени появляются на дашборде. Благодаря этому в компании отслеживают важные показатели и гибко планируют загруженность фабрик и службы доставки. 

Команда SEBEKON занимается развитием архитектуры в “Диане”. В планах внедрить асинхронное взаимодействие между микросервисами с помощью брокера сообщений, сделать единую точку входа запросов с помощью паттерна API Gateway, внедрить сервис авторизации.

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

Дополнительные материалы

Расчет стоимости доставки 

Риски IT-проектов 

Микросервис для макробизнеса