Synechron · Jun 2021 – Feb 2025
Migrating a securities platform to microservices
We moved a securities transaction platform for investment banks from a legacy Spring based monolith to Spring Boot microservices, then upgraded it to Spring Boot 3 and Java 17.
- Role
- Tech lead, hands-on
- Stack
- Java 17 · Spring Boot · Spring Data JPA · React · Jenkins · Docker · SonarQube
What I decided
- Migrated the monolith to a service-based architecture on Spring Boot and Spring Data JPA, with a React front end.
- Designed the RESTful APIs, and the exception handling and logging used across the services.
- Automated the build and deployment pipelines with Jenkins and Docker.
- Upgraded the application from Spring Boot 2 to Spring Boot 3 and Java 17, on-site with the client in Canada.
- Added caching and optimised database queries.
Outcome
Application performance improved by 40% with the new architecture, and maintenance costs dropped by 25% with automated pipelines. The upgrade fixed 100% of the pre existing Black Duck vulnerabilities, and caching and query work cut response times by a further 20%.
The migration
The application manages securities transactions for investment banks.We moved it from a single monolith to a service-based architecture on Spring Boot and Spring Data JPA, with a React front end. I designed the REST APIs and the shared exception handling and logging. Automated Jenkins and Docker pipelines meant more services did not mean more release work.
Application performance improved by 40%, and maintenance costs dropped by 25%.
The upgrade
In 2024 I moved on-site with the client in Mississauga, Canada, and led the upgrade from Spring Boot 2 to Spring Boot 3 and Java 17. It fixed 100% of the outstanding Black Duck vulnerabilities. We also added caching and optimised database queries, which cut response times by 20%.
We kept code quality in check with SonarQube and JUnit, and used libraries like Lombok and MapStruct to cut boilerplate.