Les microservices découpent une application en petits services indépendants. Ils peuvent aider de grandes équipes à passer à l'échelle — mais pour la plupart des projets, ils ajoutent une complexité qui coûte plus qu'elle ne rapporte. Savoir quand vous en avez vraiment besoin évite bien des peines.
Ce qu'ils sont
Au lieu d'une application (un « monolithe »), le système est fait de nombreux petits services qui dialoguent par le réseau, chacun avec un rôle et déployable seul. Cette indépendance est tout l'intérêt — et tout le coût.
Ce qu'ils résolvent — et coûtent
- Résolvent : de grandes équipes travaillent sans se gêner.
- Résolvent : mettre à l'échelle une partie lourde indépendamment du reste.
- Coûtent : appels réseau, débogage distribué, complexité de déploiement.
- Coûtent : vous exploitez désormais de l'infrastructure, pas seulement du code.
Les signes que vous pourriez en avoir besoin
Plusieurs équipes bloquées par une seule base de code, un composant nécessitant une mise à l'échelle très différente du reste, ou des parties du système aux cycles de vie vraiment distincts. Si rien de tout cela n'est vrai, un monolithe propre vous servira mieux et moins cher.