Before discussing containers, we cannot ignore the term microservice. Microsoft defined microservices architecture as a whole system that contains a collection of small, autonomous services.
The following are the three main reasons for building the modern applications with the microservice architecture:
- With independent, autonomous modules, it is possible make each module scale at their own space
- Using different technologies in the same application has become possible, for example, a RESTful API service can be developed both in Node.js and in the .NET web API in the same application
- High backwards compatibility makes client-side applications evolve at their own pace
The difference between a traditional monolithic architecture, or N-tier applications (such as the front web tier, middleware business logic, and backend data tier), and a microservice architecture can be explained with the following schema:
Monolithic architecture vs microservice architecture...