The microservices architecture
The microservices architecture was developed as an alternative to having a single block containing all the code.
A system following a microservices architecture is a collection of loosely coupled specialized services that work in unison to provide a comprehensive service. Let's divide the definition up in order to be clearer:
- A collection of specialized services, meaning that there are different and well-defined modules
- Loosely coupled, so each microservice can be independently deployed and developed
- That work in unison. Each microservice needs to communicate with others
- To provide a comprehensive service, meaning that the whole system creates a full system that has a clear motive and functionality
Compared with a monolith, instead of grouping the whole software under the same process, it uses multiple, separate functional parts (each microservice) that communicate through well-defined APIs. These elements...