Architecture monolithique
Qu'est-ce qu'une Architecture Monolithique ?
Une architecture monolithique est une architecture dans laquelle les principales capacités d'une application, dans l'e-commerce cela inclut le catalogue, le panier, le checkout, le contenu et la présentation, sont construites et déployées comme une seule unité. La base de code est unifiée, le runtime est partagé, et les changements apportés à une partie nécessitent généralement de redéployer l'ensemble de l'application.
Définition
Les monolithes ont dominé les logiciels de commerce pendant deux décennies, car ils simplifiaient le développement et l'exploitation initiaux. Une seule base de code, une seule base de données, un seul pipeline de déploiement. Le compromis est que les parties du système deviennent fortement couplées au fil du temps, ce qui rend les changements ciblés risqués et lents. Des problèmes de performance dans une capacité peuvent dégrader l'application entière.
Pourquoi c'est important aujourd'hui
La plupart des plateformes de commerce héritées en production sont monolithiques. Elles fonctionnent, mais elles contraignent la rapidité avec laquelle un marchand peut faire évoluer le storefront, intégrer de nouveaux services ou répondre aux problèmes de performance. La refonte de la page de détail produit peut nécessiter une coordination avec les ingénieurs backend ; un nouveau prestataire de paiement peut exiger une release majeure.
Modèles de migration
Peu d'acteurs réécrivent un monolithe d'un seul coup. Le chemin le plus courant consiste à introduire un storefront headless devant le monolithe, à traiter le backend monolithique comme une source d'API, et à extraire progressivement des services spécialisés : recherche, contenu, recommandations, paiements. Au fil du temps, le monolithe se réduit jusqu'à ne plus fonctionner que comme un moteur de commerce, et peut à un moment être entièrement remplacé. Ce modèle est parfois appelé l'approche strangler fig.
À lire aussi
Découvrez Composable Digital Experience Platform · Composable Headless Frontend.