Microservices in Practice

Nowadays, Microservices is one of the most popular buzz-word in the field of software architecture. There are quite a lot of learning materials on the fundamentals and the benefits of microservices, but there are very few resources on how you can use microservices in the real world enterprise scenarios. In this post, I'm planning to cover the key architectural concepts of the Microservices Architecture(MSA) and how you can use those architectural principles in practice. Monolithic Architecture Enterprise software applications are designed to facilitate numerous business requirements. Hence a given software application offers hundreds to functionalities and all such functionalities are piled into a single monolithic application. For examples, ERPs, CRMs and other various software systems are built as a monolith with several hundreds of functionalities. The deployment, troubleshooting, scaling and upgrading of such monstrous software applications is a nightmare. Service...