Qu'est-ce qu'une architecture monolithique ?

Qu'est-ce qu'une architecture monolithique ?

Développement web

Tout centraliser sur un même serveur

Les architectures monolithiques ont pour principal objectif de traiter de multiples tâches connexes. Elles sont principalement utilisées au sein d'applications complexes qui englobent plusieurs fonctions étroitement liées.

Un exemple d'application monolithique pourrait être celui d'une plateforme e-commerce, contenant un serveur web hébergeant une application, un load balancer (ou répartiteur de charge), et divers services tiers permettant par exemple de commander en ligne, de demander un devis sur-mesure, ou encore de configurer un produit spécifique avant de pouvoir l'ajouter à son panier.

L'architecture monolithique, bien qu'utilisée dans de nombreux projets a un inconvénient majeur : une base de code très lourde. En modifiant une ligne de code ou en mettant une fonctionnalité à jour, c'est potentiellement tous les services qui pourraient être impactés par un bug.

D'autres architectures : les microservices

Comme l'explique notre article sur les microservices et le modèle stateless, d'autres architectures dites microservices existent. Dans ce type d'architecture, nous allons tout découper, notamment en utilisant des Interfaces de Programmation d'Applications (API).

Une API est un ensemble de composants permettant aux développeurs d'intégrer divers services à une ou plusieurs applications. Le principal objectif étant d'impacter le moins de systèmes possibles en cas de modification ou d'ajout de fonctionnalités.

En reprenant notre exemple précédent dans le cas d'une architecture microservices, on retrouvera par exemple une API uniquement dédiée au passage de commandes en ligne, puis une autre permettant d'effectuer des demandes de devis avec une application centrale faisant appel aux différentes API pour fonctionner. On pourrait également imaginer un découpage spécifique au niveau des bases de données.

Architecture monolithique ou microservices ?

Chaque architecture dispose d'avantages et d'inconvénients. Une architecture monolithique est moins coûteuse mais nécessite plus de recettage lors de modifications ou d'ajout de fonctionnalités, tandis que l'architecture microservices, bien que plus coûteuse, permet de découper au maximum les différents éléments nécessaires au bon fonctionnement de votre application.

Chaque projet ayant des besoins et des budgets spécifiques, il conviendra de peser le pour et le contre avant de choisir une architecture monolithique ou microservices pour vos projets.

Nous contacter

Vous avez un projet de site ou d'application web, une idée, une demande spécifique ? Parlons-en !

Nous contacter

Utilisation des cookies

Afin de vous proposer une expérience utilisateur optimale, nous stockons des cookies dans votre navigateur lorsque vous naviguez sur ce site web.

Un cookie est un fichier qui est déposé par le navigateur sur votre ordinateur lorsque vous surfez sur Internet. Les cookies offrent la possibilité à un site web de conserver vos préférences, vous garder connecté d’une session sur l’autre ou de vous proposer du contenu personnalisé.

Pour pouvoir stocker des cookies dans votre navigateur, nous avons besoin de votre consentement.