Micro services is a specific application architecture style: a single app is built with a number of services (features). Every service is independent and communicates with other services through fast and lightweight protocols (such as HTTP).
Microservice architectural style has many benefits, for example:
Faster Delivery
Developers can work simultaneously on different features which means that many processes run in parallel. Consequently, you will end up reducing the time spent on coding and testing.
Easier Scalability
In older styles, you will have to update and change the whole application if you need new features or scale the old ones. It takes a lot of time, leads to tech debt, increases the number of bugs and code amount, and may ruin the application overall. With microservices, it is way easier to scale a specific component because you have to change this particular service only.
Better Debugging
You do not have to review the code of an entire application to see what has gone wrong. You just have to look for bugs in the service that show some troubles.
Tool Diversity
You do not have to choose a single framework or tool for the entire application. Every service can use the tools that are the most fitting for its function. Still, the services will communicate with each other seamlessly, despite using different technologies for its creation.