YOUTUBE mBectpk89ow So-so panel on microservices. See microservices.io
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.
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