Развитие микросервисной артикетуры решения для российского разработчика решений в области информационной безопасности
Защита данных всегда была в приоритете компаний всех отраслей. SimbirSoft уже более четырех лет помогает клиенту развивать крупное InfoSec-решение. В этом кейсе рассказываем, как в рамках последнего проекта мы обновили его архитектуру — перешли с монолита на микросервисы.
Клиент
Наш заказчик — российский разработчик решений в области информационной безопасности. Компания развивает сервис для централизованного управления учетными записями пользователей в корпоративных информационных системах. Решение позволяет администрировать полномочия сотрудников организации, а также автоматизирует бизнес-процессы, связанные с предоставлением доступа к информационным ресурсам.
Наши задачи
Мы начали сотрудничать с клиентом в 2018 году и за это время приняли участие в пяти проектах. Один из них был призван решить ключевые технические и бизнес-задачи заказчика:
- Поддержка и расширение функциональности системы, что позволит привлечь новых клиентов и поддержать конкурентоспособность.
- Оптимизация производительности.
- Переход на новую архитектуру.
Миграция на микросервисную архитектуру
Клиент находился в поиске подходящих решений для модернизации работы системы. Мы вместе с заказчиком обсудили возможные варианты и приняли решение уйти от монолитной архитектуры к микросервисной. Это позволило решить сразу несколько трудностей:
- Зависимость от ограниченного проприетарного стека технологий.
- Отсутствие развитого комьюнити специалистов, которые владеют нужным стеком. Это уменьшало перспективы развития продукта и усложняло поиск подходящих разработчиков.
- Отсутствие документации по применяемым технологиям.
- Выросшая с годами сложность поддержки большого монолита.
Переход от монолита к микросервисам, помимо решения описанных выше трудностей, открывал перспективы развития в формате SaaS-решения и увеличения коммерческого потенциала продукта.
Перенос архитектуры дал клиенту следующие преимущества:
- Современный технологический стек.
- Развитое комьюнити специалистов — потенциальных кадров.
- Большое количество документации по применяемым технологиям.
- Возможность внесения изолированных изменений в отдельный микросервис.
- Быстрая интеграция новых разработчиков в проект.
- Возможность масштабировать только необходимые высоконагруженные сервисы, а не все приложение.
Результат
Мы добились оптимизации производительности и отказоустойчивости, а также обеспечили непрерывное развитие компонентов систем.
Для многих элементов системы, для которых ранее была реализована только серверная часть, мы доработали пользовательский интерфейс и удобное управление. Помимо упрощения работы самого клиента, это также открыло новые коммерческие перспективы по продвижению продукта на рынке.
Команда микросервисов: тимлид (backend), 3 backend-разработчика
Технологии
Java 11, Groovy, Activiti BPMN, Spring 5, Spring Boot 2, Spring Cloud, jOOQ, Apache Felix, Open Search, PostgreSQL, Spock Framework, Liquibase, Maven, OpenAPI, Kubernetes, Istio