Consistency, Coupling, and Complexity at the Edge
Successful use of a microservices architecture requires maintaining a clear separation of concerns in the various layers and by employing design principles best suited to each layer.
Source: infoq.com