There is no single universally accepted definition of microservices. Wikipedia defines microservices as follows:
Microservices are a more concrete and modern interpretation of service-oriented architectures (SOA) used to build distributed software systems. Like in SOA, services in a microservice architecture (MSA) are processes that communicate with each other over the network in order to fulfill a goal.
There is no clear description on how to define microservice. Many people have expressed their different views in this area. Most of them conclude them into characteristics. The main characteristics are single responsibility, loose coupling, high cohesion, serving business purpose, lightweight communication, and few LOC (10-100). Although the LOC rule cannot be justified, as every language has a different syntax or library; so LOC can vary in that.
Amazon made a term famous: two-pizza team. As per this term, a microservice can be so big that it can be handled by...