Transition to Microservices

October 2019


These days it seems as if everyone is talking about microservices, which are at the peak of the technical hype curve. But don’t worry, this is not that “yet another article/blog” that will repeat the basics of microservices; instead, I want to explain the characteristics and the factors that play a key role in successful deployment of microservices.

In short, microservices is a distributed architectural pattern that provides an approach to decompose complex or large applications into discrete, cohesive, single-responsible, self-contained and lightweight services, whose life-cycle is managed by cross-functional teams. These services collaborate with other services to solve real-world problems, but can change and evolve separately from one another, thereby resulting in agility and the ability to deliver changes to the market faster.

In general, microservice has been mistakenly perceived as “go-to” strategy to mitigate all the problems that an Organization has in their enterprise technology. It’s important to understand that microservices are not meant for smaller applications/systems but rather for large or complex systems that contain many moving parts which turn delivery and maintenance into a nightmare. I don’t think if there is any standard way to quantify an application’s complexity; however, it is contextual and essential to understand the challenges that you have even with smaller applications, and explore the capabilities of microservices that help to overcome those challenges. Remember, the journey is not going to be easier, as microservices brings in its own overheads and hence it is essential to understand the nuances, and mitigate the risks before pursuing a microservice approach.

Through this write up, I intend to highlight some of those essential needs, and share my thoughts and experience on the actual benefits, challenges and some myths about microservices.

Keeping comprehensive content in mind, I have written separate blog posts on the benefits, challenges and myths of microservices. I encourage you to go through them sequentially.

> Click here to read my blog post on benefits of microservices

> Click here to read my blog post on challenges of microservices

> Click here to read my blog post on myths of microservices

Conclusion

Microservice has been crucial factor in the life-cycle of Agile progression to enable today’s digital transformation. Each Organization has its own definition, strategy and goals for Digital Transformation and hence one should not pursue the move to microservice just because others are doing it. It is not a platform or a framework, but rather just an approach to address the challenges that could potentially hinder the Digital Transformation. It is essential to understand the recurring problems, do thorough due-diligence and consider why you think microservices could help in eliminating such pain points.