Migrating Monolithic enterprise software to Microservices based architecture
Leading enterprises have few software systems in Vendor management, Customer Servicing domain. These systems are traditionally built as monolithic applications. Key business logic and Infrastructure services are tightly integrated into the presentation layer. In addition, few sensitive configuration data is held in the monolithic solution.
Security and compliance team was having feedback on the way single layer monolith application is running. Enterprise was looking forward to migrating the monolithic applications to loosely coupled layered architecture.
Key Challenges
- Domain complexity to analyze the multiple monolithic applications and identify vertical business capabilities that can be candidates for microservices.
- Introduce modularity and migrate the tightly coupled code from Presentation layer to the API layer.
- Decomposing an existing systems to loosely coupled microservices based architecture may take multiple iterations.
Ready for process automation powered by BPMN and Low-code development platform?
Architecture goals
With detailed application analysis, Patterns7 team defined the architecture goals and roadmap for migration.
- Decompose the monolith single server deployment to layered architecture.
- Sensitive application configurations to be moved to secure API layer area.
- Identify atomic services with bounded context and migrate those to API layer.
- Identify shared infra services and build those as reusable microservices.
- Meet Security and Compliance concerns.
- Reduce cost of development and improve time to market.
Solution
- Considering complexity of the code, Edge-to-Core approach is followed and that help developers in migrating the code. For example edge services like Auth, SharePoint, ERP Webservice, Sendgrid integration are good candidates to migrate first.
- Produced a common JWT token framework.
- API Gateway that addresses common concerns like security, tokenisation, routing etc is defined.
- Vertical business capabilities are identified and built in the API layer as reusable services.
- Identified repeated infrastructure services and introduced audited I/O capability.
Benefits of Migrating Monolithic enterprise software to Microservices
Improved security with clear separation of business logic and sensitive data with layered architecture.
For creating Customer Experience, a key milestone in dividing the monolith into microservice based architecture. This open up new possibilities.
Repeated code is technical debt that enterprises carry. Microservice based architecture approach helps creating better customer experience.