We base our understanding of what a microservice is on the following definitions:

Microservices are small, autonomous services that work together.

Services are out-of-process components who communicate with a mechanism such as a web service request, or remote procedure call.

A component is a unit of software that is independently replaceable and upgradeable.


Sam Newman, Building Microservices

Martin Fowler, Microservices