A microservice is for all intents and purposes a small restful web service :)
It is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an REST API - martinfowler.com
YOUTUBE mBectpk89ow So-so panel on microservices. See microservices.io
A microservices-based architecture:
- Naturally enforces a Modular programming - Lends itself to a continuous delivery - Adheres to Service granularity principle - Domain-driven design - IDEAL architectures - Polyglot (computing) programming - Container Deployment - Decentralized continuous delivery - DevOps with holistic service monitoring - hsr.ch - Beneficial to scalability -Microservices: pdf
These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
# See also - Microservice post on martinfowler.com - Fallacies of Distributed Computing - Microservices not a free lunch - highscalability.com - Serverless Microservices - Microservices Visualized - Ontology v. Stigmergy - Constructing Explanations