TL;DR

You should treat your Microservices as if they are Distributed Plugins

Are Microservices just Plugins in disguise?

Microservice Architecture, as defined by Medium engineering team, resides on three design principles: