Introduction to microservices
To better understand and appreciate the microservice architecture, we first need to see what a service is and how the traditional service monolithic architecture has limitations that can be overcome by microservices. Once we have this context set up, we will define microservices.
A traditional service
When we create any server-side enterprise app, it must support a variety of different clients, including desktop and mobile browsers, mobile apps, and so on. We may also expose APIs, so that third parties can consume them and integrate with our system. Like third parties, we may also need to integrate our application with other applications through APIs. The app would handle the requests by executing business logic, then performing read-write operations by accessing a database and/or other data providers and systems, and return an HTML/JSON/XML response. What I have described here is a typical enterprise application. We have different logical modules in the application...