Monolith versus microservices
Industry experts suggest starting a software application as a monolith and then breaking it down into microservices in the long run. This actually helps us focus on the application delivery, instead of studying the microservices patterns. Once the product is stabilized, then developers should find a way to loosely couple functionalities. Take a look at the following diagram:
This diagram depicts the structure of monolith and microservice architectures. A monolith has everything wrapped in the form of an onion. It is called a tightly coupled system. In contrast, microservices are individual, easy to replace and modify. Each microservice can talk to each other through various transport mechanisms, such as HTTP and RPC. The format could be either JSON or Protocol Buffers.