Definition

architecture monolithique

architecture monolithique

 

Une architecture monolithique représente le modèle traditionnel unifié de conception d'un programme informatique.

Dans ce contexte, « monolithique » signifie formé d'un seul bloc. Un logiciel monolithique est conçu pour être autonome ; ses composants sont interconnectés et interdépendants plutôt qu'associés de manière flexible comme dans le cas des programmes modulaires. Dans ce type d'architecture étroitement intégrée, chaque composant et ceux qui lui sont associés doivent être présents pour permettre l'exécution ou la compilation du code.

De plus, pour mettre à jour un composant du programme, il faut réécrire toute l'application, tandis que dans une application modulaire, chaque module (un microservice, par exemple) peut être modifié sans que cela se répercute sur les autres parties du programme. Dans une architecture modulaire, une modification apportée à un élément a moins de risque d'entraîner des changements non prévus au sein d'autres éléments, puisque les modules sont relativement indépendants. Les programmes modulaires se prêtent aussi plus facilement à des processus itératifs que les programmes monolithiques.

Cependant, les architectures monolithiques comportent également des avantages. En général, elles offrent un meilleur rendement que les approches modulaires, telles que l'architecture de microservices (MSA, MicroService Architecture), et peuvent être plus faciles à tester et à déboguer, car avec moins d'éléments, le nombre de variables à prendre en compte est moins élevé.

Cette définition a été mise à jour en avril 2018

Pour approfondir sur Architectures logicielles et SOA