Мобильное приложение для сотрудников службы качества: от микросервисов к монолиту
Выбирая архитектуру ИТ-системы, многие компании обращают внимание на популярность перехода от монолитной архитектуры к микросервисам. Действительно, для систем с высокой нагрузкой это зачастую полезное решение. Однако, если нагрузка на систему невысока — например, в приложении для сотрудников одного производства или склада — то монолит может оказаться и выгоднее, и проще.
Клиент
К нам обратилась крупная промышленная компания, которая занимается производством большого количества продукции. Менеджеры проверяют качество продукции с помощью внутренней IT-системы — мобильного приложения, которое содержит инструкции и инструменты отчетности.
Нашего клиента мучали несколько проблем:
-
Компания приобрела этот продукт давно, и за это время продукт устарел, а IT-команда начала переход на новый стек технологий. Сейчас нужно внедрять новые функции, но у IT-команды уйдет на это слишком много времени.
-
Микросервисная архитектура заложена в расчете на высокую нагрузку, но на практике у приложения ограниченный круг пользователей — это сотрудники одного отдела компании.
-
С учетом строгих требований информационной безопасности приложение становится сложным для поддержки.
Задача
Руководитель IT-команды клиента поставил несколько задач:
-
Провести аудит кода и дать рекомендации по рефакторингу и переносу на актуальный стек технологий.
-
Помочь сделать приложение проще и удобнее для поддержки
-
Предусмотреть интеграцию с системой учета продукции.
Решение
Наша команда начала с аудита кода. В сотрудничестве с командой клиента мы выяснили, что многие проблемы поддержки связаны с избыточным числом микросервисов — их было более десятка. При этом у клиента не было таких бизнес-задач, с которыми количество пользователей-менеджеров могло бы стремительно вырасти — значит, архитектуру действительно стоило пересмотреть и сделать проще.
Мы составили план по переносу на удобный клиенту технологический стек (с использованием Go) и более простую в поддержке и развитии модульно-монолитную архитектуру. Клиент с планом согласился и подключил команду SimbirSoft, чтобы реализовать нашу часть изменений продукта. В команду под управлением нашего PM вошли архитектор, аналитик, разработчики, DevOps и QA.
Результат
- Упростили поддержку и дальнейшую разработку приложения, следуя подходам API First и Clean architecture (мы писали о них подробнее на Хабре).
- Помогли клиенту настроить процессы разработки и деплоя с учетом требований службы информационной безопасности.
- В результате ускорили выпуск релизов (time-to-market).