L'architecture microservices consiste à décomposer une application en un ensemble de services indépendants, chacun responsable d'une fonction métier spécifique (gestion des commandes, authentification, notifications…). Chaque service possède sa propre base de données, son propre cycle de déploiement et communique avec les autres via des API ou de la messagerie asynchrone.
Les avantages sont réels pour les applications à grande échelle : chaque service peut être développé, déployé et mis à l'échelle indépendamment. Les équipes travaillent en autonomie sur leur périmètre, les pannes sont isolées et les technologies peuvent varier d'un service à l'autre selon les besoins.
Mais les microservices introduisent une complexité opérationnelle significative : réseau, monitoring, déploiement distribué, cohérence des données, debugging cross-services. Pour la majorité des PME et des projets de taille moyenne, un monolithe bien structuré reste le choix le plus pertinent. Les microservices ne se justifient que lorsque l'échelle ou l'organisation l'exigent.