A leading player in the education space was facing issues in scaling an existing enterprise application built on monolithic architecture. The challenge was the incapability in enhancing business functionality and the architecture limiting the development velocity & eventually the issues in the deployment of infrastructure.
We engaged in an assessment & due-diligence of the existing architecture and discovered that the application was designed & developed over long periods to facilitate business requirements & all these were piled into a single monolithic application. The deployment, troubleshooting, scaling, and upgrading of such monstrous software applications was a nightmare.
These are the exact problems that Service Oriented Architecture (SOA) helps to resolve. The foundation of Microservices Architecture (MSA) is about developing a single application as a suite of small and independent services that run in their own processes and are developed & deployed independently. The key was to clearly create the domain map, identify the required business functionality and deploy each of them to be implemented as fully independent, fine-grained, and self-contained (micro)services.
Post the architecture & domain mapping (indicating the list of microservices to be developed) were finalised, the development was executed in an agile, scrum-based model. This ensured that we were able to churn out business-ready incremental versions of the application consistently. Over a period of 8 months we completed the transformation from a legacy monolithic application to a more robust microservices based application. The execution was governed by robust processes & governance structure with constant stakeholder reviews.