A microservice is an architectural style, in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs - wikipedia
YOUTUBE mBectpk89ow So-so panel on microservices. See microservices.io
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
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.
# Philosophy
The philosophy of the microservices architecture essentially equals to the Unix philosophy of:
Do one thing and do it well.
The social organisation of the delivery of a microservice architecture should: - Embrace automation of Software testing - Embrace automation of Software deployment - Embrace failure and faults - Anti-fragile systems
Each service is fine-grained to perform a single function, and should have the following properties: - Elastic - Resilient - Composable - Minimal - Complete
# Linguistic approach
A linguistic approach to the development of microservices focuses on selecting a programming language which can be implemeted as a single software artifact - blogspot.it
A language well suited to microservices will encourage the developer to think and program in terms of microservices from the start. This avoids the tendency to refactor or retrofit a finished project so it can be deployed as a microservice - archiv
When effective, the gap between architecting a project and deploying it can be minimized. One language intended to fill this role is the (it's a java thing): - Vision on jolie-lang.org - About on github - Code on github
# See also - Microservice Architecture - 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
.
# A coda - Thoughtless Microservices Architecture