A fair, real-life example from the ITRex portfolio would be an in-house cybersecurity tool that the client wanted to convert into a Security-as-a-Service platform
. Microservices was a natural fit for this project because a monolithic architecture just can’t provide the scalability a SaaS solution needs to serve the growing number of customers, or flexibility to evolve and stay ahead of hackers.
Another illustrative project was an AI-powered big data platform
for a global retailer. Our client wanted a cloud-agnostic solution built from the ground up. It was clear from the beginning that the platform would handle tons of data and should be designed as scalable to cater for new data sources to be added in the future. We also had to factor in the need to build communications with multiple external services. So realizing the benefits of microservices in this project was a natural strategy as well. The microservices architecture enabled us to smoothly roll out this complex system, using Kubernetes
for orchestrating microservices and APIs.
And there was an AI-powered fitness mirror
equipped with 3D cameras and an ML model which came with IoT sensors attached to the user’s equipment. Its major components, including an admin panel, an Android app, and a rules management system, had been built by different teams at different stages of the project, each using a different code and architecture. When the complexity of handling them all became overwhelming, we understood that we needed to build one backend for centralized management. And we converted them into microservices, redesigning their code and creating new databases. There were other benefits of using a microservices approach, like avoiding duplicate code or functionalities.
So, in our experience, it is preferable to use microservices when you need to manage growing data volumes, handle interoperation complexities, or ensure that your system is flexible enough to evolve with the business.