Нашей целью было создание объединённого приложения на основе современного стека. Бэкенд строился на Symfony 5 / 6, а используемые отдельные сервисы выносились за контуры приложения. Фронтенд представлял собой SPA, работающее с бэкендом по OpenApi.
План по модернизации в общих чертах был таким:
1. Все legacy-сервисы получают интерфейс OpenAPI.
2. Новое приложение использует legacy-сервисы в режиме клиента OpenAPI, в то же время предоставляя свой серверный интерфейс OpenAPI.
3. Новая бизнес-логика пишется в новом приложении, а фоново происходит постепенный транзит бизнес-логики из legacy в новое приложение.
Станислав Решетнев, Teamlead команды разработки Link Building в компании Sape подробно рассказал в статье, как удалось найти решение, позволившее провести полное обновление и выполнить другие бизнес-задачи.