К содержимому
Кейсы

Клиент: Power IT S.R.L.

Модернизация легаси-платформы на Java

Модернизация Java-приложения на 10 000+ строк: рефакторинг 400+ классов, стандартизация окружений в Docker и интеграция с национальным реестром.

Контекст

Долгоживущая Java-платформа для винодельческой отрасли Молдовы, накопившая годы изменений и бизнес-процессы, которые на ней держатся. Работа шла почти три года, при этом платформа всё время оставалась в эксплуатации.

Что делало задачу сложной

Легаси сопротивляется изменениям по структурным причинам. Тестов, которые сказали бы, безопасен ли рефакторинг, обычно нет; настройка окружения живёт в головах тех, кто здесь дольше всех; а у каждого модуля есть причина быть странным, и она нигде не записана. Ничего из этого не лечится переписыванием, когда бизнес работает ровно на том, что вы собрались переписывать.

Что я сделал

  • Рефакторинг 400+ Java-классов в приложении на 10 000+ строк
  • Стандартизация локальных окружений разработки через Docker
  • Новый модуль отчётности
  • Интеграция API национального кадастрового реестра
  • Работа над производительностью основных сервисов

Результаты

p95 задержки ниже на ~32% на трёх самых горячих эндпоинтах
Список, корзина и оформление, замер в APM на живом трафике — неделя до релиза против недели после. GET /orders: p95 с 820 мс до 560 мс. Причина конкретная: убран N+1, добавлен составной индекс (user_id, created_at), справочники перенесены в Redis с TTL 5 минут.
Онбординг разработчика с ~2 дней до ~3 часов
Замер от клона репозитория до первого зелёного прогона тестов, на трёх новых разработчиках. Было ~2 дня ручной настройки по устаревшему README; стало docker compose up, сид-данные и переписанный README.

Стек

  • Java
  • Spring Boot
  • Spring Security
  • Hibernate/JPA
  • Docker
  • Redis
  • SQL
  • JUnit