DON’T Et puis, vous n’êtes pas assez nombreux… Et vous ne savez même pas quel est votre métier « Vous achetez des problèmes que vous n’avez pas les moyens de résoudre »
Le problème Généralement on ne réussit pas à modéliser le métier correctement du premier coup Avoir un code source co-localisé & une seule unité de déploiement simplifie grandement le refactoring
Le problème Avoir un cluster du même acteur nécessite de les synchroniser pour éviter les problèmes de consistance Tuyaux intelligents, consensus (RAFT), Lock distribué …
OK, but… Faites gaffe aux frontières ! Et ne faites pas des « micro » services, juste des applications qui parlent ensemble… Mais vous avez quand même le droit de dire aux copains que vous faites du microservice !
Wait… ! « Organisations which design systems ... are constrained to produce designs which are copies of the communication structures of these organisations. » -Melvin Conway
OK, but… Bienvenue en enfer ;-) Transactions distribuées, Consistance à terme, Tolérance à la panne, Auditabilité & Traçabilité, Déliverabilité… Et puis ça apparait pas tout de suite
« Big Data is like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it… » – Dan Ariely Micro-service