Microservices have gained enormous popularity in recent years. It has evolved as the preferred choice of architects, putting SOA into the backyard. While acknowledging the fact that microservices are a vehicle for developing scalable cloud-native systems, successful microservices need to be carefully designed to avoid catastrophes. Microservices are not the one-size-fits-all, universal solution for all architecture problems.
Generally speaking, microservices are a great choice for building a lightweight, modular, scalable, and distributed system of systems. However, over engineering, wrong use cases, and misinterpretations could easily turn the system into a disaster. While selecting the right use cases is paramount in developing a successful microservice, it is equally important to take the right design decisions by carrying out an appropriate...