Our experts proposed switching from a monolithic structure to a containerized, microservice based structure, splitting each business line into its own separate component and creating a modularized structure that separated each feature from the rest.
For payment transactions, multiple banks, telecommunication company APIs, and ERPs were integrated, each with a separate communication and security structure. Hence, developing the communication modules for each of these third-party services as microservices provided the flexibility to deploy them separately without affecting each other and on a relevant server.
Each service is represented as an isolated bounded context. It was then containerized using Docker and deployed using the Jenkins CI/CD pipeline automation. This has eased up the process to release updates for individual services while keeping the rest of the systems running.