The idea of breaking a software down into smaller containerized processes. Every microservice is responsible for a specific business capability. If you have a shopping app, you create microservices for each process.
Features
- Agility. Allows quick iterations of codebase
- Scalabiity. Services can scale independently to meet demand
- Faster Development. Small codebases and independent development cycles
- Easy maintenance
- Improved fault tolerance. One failure does not cascade into more
- Decomposition. Each microservice has well define scope and responsibility
- Independence: Individual services can be deployed independently