This Distributed systems have evolved rapidly as the demand for independent design, and deployment ofsoftware applications has increased. It has emerged from the monolithic style of client-server architecture toservice-oriented architecture, and then to the trending microservices. Monolithic applications are difficult toupdate, maintain, and deploy as it makes the application code very complex to understand. To overcome the designand deployment challenges in monolithic applications, service oriented architecture has emerged as a style ofdecomposing the entire application into loosely coupled, scalable, and interoperable services. Though SOA hasbecome popular in the integration of multiple applications using the enterprise service bus, there are fewchallenges related to delivery, deployment, governance, and interoperability of services. Additionally, the servicesin SOA applications are tending towards monolithic in size with the increase in changing user requirements. Toovercome the design and maintenance challenges in SOA, microservices has emerged as a new architectural styleof designing applications with loose coupling, independent deployment, and scalability as key features.