Microservices is an approach to developing a single application as a suite of small parts, services accessed through APIs, as opposed to monolithic architectural style when an application is built as a single unit. It allows different microservices to be written in different programming languages, and they can also be managed by different teams.
Use microservices when your application:
- Is a Monolith application
- Is hard (for some developers) to Maintain
- Productivity is low (need to think about inter-connection all the time)
- Scaling is an issue