Tech

Architecture : quand choisir un monolithe plutôt qu’une organisation par domaines ?

Pendant des années, l’architecture logicielle a été présentée comme une trajectoire quasi obligatoire :
monolithe au début, microservices ensuite, organisation par domaines à la fin.

Dans la réalité, ce chemin linéaire n’existe pas.

De nombreuses équipes se retrouvent aujourd’hui avec :

  • une organisation par domaines prématurée,
  • une complexité inutile,
  • une perte de lisibilité,
  • et parfois une vélocité plus faible qu’avant.

La question n’est donc pas “monolithe ou organisation par domaines ?”
La vraie question est : à quel moment, et dans quel contexte, l’un devient préférable à l’autre ?

Le monolithe : une architecture injustement caricaturée

Le monolithe souffre d’une mauvaise réputation.
On l’associe à :

  • une base de code ingérable,
  • des déploiements risqués,
  • une dépendance forte entre les équipes.

En réalité, ces problèmes ne viennent pas du monolithe lui-même, mais :

  • d’un manque de discipline,
  • d’une mauvaise modularisation,
  • ou d’une croissance non maîtrisée.

Un monolithe bien conçu peut être :

  • modulaire,
  • testable,
  • performant,
  • et extrêmement efficace pour délivrer rapidement.

L’organisation par domaines : un coût souvent sous-estimé

À l’inverse, l’architecture par domaines (ou microservices) est souvent perçue comme une solution “mature”.

Elle apporte effectivement :

  • une meilleure séparation des responsabilités,
  • une autonomie accrue des équipes,
  • une scalabilité organisationnelle.

Mais elle a un coût réel :

  • multiplication des pipelines CI/CD,
  • complexité des flux inter-domaines,
  • observabilité plus exigeante,
  • besoin de standards très solides,
  • maturité DevOps et SRE indispensable.

Sans cette maturité, l’organisation par domaines devient une source de friction plus qu’un levier.

Quand le monolithe est le meilleur choix

Il existe de nombreux contextes où le monolithe est non seulement acceptable, mais souhaitable.

1. Équipe réduite ou peu spécialisée

Quand une même équipe porte plusieurs responsabilités, un monolithe réduit :

  • les coûts cognitifs,
  • la coordination,
  • les frictions de delivery.

2. Produit encore en forte exploration

Quand le périmètre fonctionnel évolue rapidement, figer des frontières de domaines trop tôt est risqué.
Un monolithe permet de faire évoluer le produit sans renégocier l’architecture à chaque itération.

3. Faible volumétrie ou contraintes de performance maîtrisées

Si la charge est prévisible et maîtrisée, la scalabilité horizontale offerte par les microservices est souvent inutile.

4. Maturité DevOps limitée

Sans automatisation solide, observabilité et culture SRE, une architecture distribuée expose davantage aux incidents qu’elle n’en résout.

5. Besoin de simplicité opérationnelle

Un monolithe bien outillé est souvent plus simple à opérer, déployer et surveiller.

Quand l’organisation par domaines devient pertinente

À l’inverse, certains signaux indiquent qu’un monolithe atteint ses limites.

1. Multiplication des équipes

Quand plusieurs équipes travaillent en parallèle sur des périmètres distincts, l’autonomie devient un enjeu clé.

2. Domaines métier clairement stabilisés

Lorsque les frontières métier sont comprises, stables et partagées, une organisation par domaines prend tout son sens.

3. Contraintes fortes de scalabilité différenciée

Si certains sous-systèmes doivent évoluer indépendamment en charge ou en disponibilité, la séparation devient pertinente.

4. Organisation prête à absorber la complexité

L’architecture par domaines est avant tout un choix organisationnel, pas seulement technique.

Le faux dilemme : monolithe ou microservices

Dans la pratique, le choix n’est pas binaire.

Beaucoup de systèmes efficaces reposent sur :

  • un monolithe modulaire,
  • des frontières internes claires,
  • une capacité à extraire progressivement des domaines lorsque cela devient nécessaire.

Cette approche permet :

  • de conserver la simplicité tant qu’elle est utile,
  • de préparer l’avenir sans sur-architecturer,
  • d’éviter les migrations brutales.

Ce qui doit guider le choix

Le bon choix architectural dépend rarement de la technologie à la mode.
Il dépend :

  • du niveau de maturité des équipes,
  • de la stabilité du produit,
  • de la capacité à opérer la complexité,
  • des objectifs business à court et moyen terme.

Une architecture est un moyen, pas une finalité.

En conclusion

Choisir un monolithe plutôt qu’une organisation par domaines n’est pas un aveu de faiblesse.
C’est parfois le choix le plus rationnel.

La vraie erreur n’est pas de rester sur un monolithe.
La vraie erreur est de complexifier trop tôt, sans être prêt à en assumer le coût.

L’architecture doit servir le produit et l’organisation, pas l’inverse.

Partager cet article
Robin Komiwes
CTO

Nos publications similaires

Tech

Architecture : quand choisir un monolithe plutôt qu’une organisation par domaines ?

Robin Komiwes
Tech

Due diligence technique : les 12 points que nous auditons systématiquement

Robin Komiwes
Tech

Shadow IT, backlog obèse, specs mouvantes : que dit votre dette organisationnelle

Johann Josset

Vous avez un
produit en tête ?

Construisons-le ensemble.