accueilinsightsmigration d’une application monolithe vers une architecture micro-services
digital solutions
migration d’une application monolithe vers une architecture micro-services
Itecor Paris · avril 02, 2025
menu
mission
Client secteur juridique, leader européen dans l’édition professionnelle et la fourniture de services d’informations juridiques et économiques
Client Itecor depuis 8 ans
Taille moyenne de l’équipe : 6 consultants à plein-temps
Charge annuelle moyenne en jours-hommes : 1300
challenges
Capitaliser sur les acquis d’une application développée depuis plus 8 ans, tout en modernisant les technologies et modes de livraison
Accompagner, former et sensibiliser les équipes aux évolutions structurantes
catalyseurs de succès
1 architecte Itecor à plein temps
Forte culture DevOps déjà présente chez le client
Equipe mixte de développeurs et d’automaticiens présente sur site
Equipe d’experts performance Itecor en charge d’analyser la qualité et les progrès accomplis livraison après livraison
contexte
Depuis 10 ans, la mouvance DevOps s’est fortement imposée dans les systèmes d’information. Le couple DevOps / architecture est devenu un paramètre clé dans la réussite des projets.
La conception d’une architecture performante et résiliente est un élément primordial à prendre en compte dans ce contexte.
Il est également possible de réarchitecturer une application déjà existante pour répondre à ces nouveaux enjeux DevOps et améliorer la qualité d’une application.
Pour illustrer cette démarche, nous vous proposons un retour d’expérience chez l’un de nos clients, acteur majeur dans le domaine de l’édition de documents juridiques.
solution
L’équipe de consultants Itecor dédiée à ce projet a pour mission de livrer régulièrement une application métier complexe et fiable.
Cela fait trois ans que notre client a déjà monté sa propre équipe DevOps et largement entamé le processus d’automatisation des déploiements de son application. L’équipe Itecor intervient à ses côtés en assurant principalement les rôles suivants :
La conception d’une architecture complète de l’application monolithique via une méthodologie progressive de type strangler pattern :
Refonte de l’API en architecture micro-services, standard massivement adopté par le marché,
Revue de la partie Front en architecture micro-frontends dans un contexte multi-technologies : ASP.NET MVC, React, …
Une restructuration de base de données est envisagée à plus long terme.
Une migration progressive sur un hébergement dans le Cloud Azure.
Une assistance sur la fonction DevOps : administration des pipelines de build et de déploiement.
Une assistance sur la migration des pipelines Azure DevOps vers le nouveau modèle d’écriture en YAML plus modulaire et réutilisable.
Une migration du contrôle des sources de TFSVC vers Git, incluant une formation et une sensibilisation aux nouvelles pratiques auprès des équipes.
Une sensibilisation à la qualité du code via SonarQube et la mise en œuvre des Quality Gates avec les Pull Requests Git.
Le développement d’une communication asynchrone interservices à l’aide de RabbitMQ.
Le partage d’informations entre les micro-frontends à l’aide du serveur de cache Redis.
Des revues de codes et sessions inter-équipes pour la diffusion des bonnes pratiques : convention de nommage, optimisation de code, mise en cache, etc.
bénéfices & résultats
Cette migration présente un grand nombre d’avantages :
Une nouvelle architecture en adéquation avec le processus DevOps offrant un delivery plus régulier et moins risqué,
Une migration dans le Cloud Azure réduisant significativement les coûts de l’hébergement initial,
Des processus DevOps améliorés et basés sur les dernières technologies,
Un meilleur outil de contrôle de sources optimisant la productivité des équipes de développement,
Une meilleure résilience et une souplesse sur la scalabilité de l’infrastructure,
Une amélioration de la qualité du code et une meilleure maintenabilité,
Une optimisation globale de la qualité du produit et des retours positifs consolidant la fidélité des utilisateurs.
frameworks .Net
0
langages de programmation et plus d’1 million de lignes de code
0
développeurs et testeurs répartis sur 4 équipes
0
plus de 50 déploiements quotidiens tous environnements confondus
0
Fort de ces résultats, Itecor continue à renforcer son rôle de « Trusted Advisor », et propose de nouvelles offres de services innovantes répondant aux attentes stratégiques de ce client.
Nous utilisons des cookies sur notre site web pour vous offrir l'expérience la plus pertinente en mémorisant vos préférences et vos visites répétées. En cliquant sur "Accepter tout", vous consentez à l'utilisation de TOUS les cookies. Toutefois, vous pouvez visiter "Paramètres des cookies" pour fournir un consentement contrôlé.
Ce site web utilise des cookies pour améliorer votre expérience lorsque vous naviguez sur le site. Parmi ceux-ci, les cookies qui sont catégorisés comme nécessaires sont stockés sur votre navigateur car ils sont essentiels pour le fonctionnement des fonctionnalités de base du site web. Nous utilisons également des cookies tiers qui nous aident à analyser et à comprendre comment vous utilisez ce site web. Ces cookies ne seront stockés dans votre navigateur qu'avec votre consentement. Vous avez également la possibilité de refuser ces cookies. Mais la désactivation de certains de ces cookies peut affecter votre expérience de navigation.
Les cookies nécessaires sont absolument indispensables au bon fonctionnement du site web. Ces cookies assurent les fonctionnalités de base et les caractéristiques de sécurité du site web, de manière anonyme.
Cookie
Durée
Description
__hssrc
Session
Ce cookie est défini par Hubspot chaque fois qu'il modifie le cookie de session. Le cookie __hssrc défini à 1 indique que l'utilisateur a redémarré le navigateur, et si le cookie n'existe pas, on suppose qu'il s'agit d'une nouvelle session.
_GRECAPTCHA
5 mois 27 jours
Ce cookie est défini par le service recaptcha de Google pour identifier les bots afin de protéger le site Web contre les attaques malveillantes de spam.
cookielawinfo-checkbox-advertisement
11 mois
Défini par le plugin GDPR Cookie Consent, ce cookie est utilisé pour enregistrer le consentement de l'utilisateur pour les cookies de la catégorie " Publicité " .
cookielawinfo-checkbox-analytics
11 mois
Ce cookie est défini par le plugin de consentement aux cookies GDPR. Le cookie est utilisé pour stocker le consentement de l'utilisateur pour les cookies de la catégorie "Analytics".
cookielawinfo-checkbox-functional
11 mois
Le cookie est défini par le consentement aux cookies GDPR pour enregistrer le consentement de l'utilisateur pour les cookies de la catégorie "Fonctionnel".
cookielawinfo-checkbox-necessary
11 mois
Ce cookie est défini par le plugin de consentement aux cookies du GDPR. Il est utilisé pour stocker le consentement de l'utilisateur pour les cookies de la catégorie "Nécessaire".
cookielawinfo-checkbox-others
11 mois
Ce cookie est défini par le plugin de consentement aux cookies GDPR. Ce cookie est utilisé pour stocker le consentement de l'utilisateur pour les cookies de la catégorie " Autre ".
cookielawinfo-checkbox-performance
11 mois
Ce cookie est défini par le plugin de consentement aux cookies du GDPR. Ce cookie est utilisé pour stocker le consentement de l'utilisateur pour les cookies de la catégorie "Performance".
viewed_cookie_policy
11 mois
Ce cookie est défini par le plugin GDPR Cookie Consent et est utilisé pour stocker si l'utilisateur a consenti ou non à l'utilisation de cookies. Il ne stocke pas de données personnelles.
Les cookies fonctionnels aident à réaliser certaines fonctionnalités comme le partage du contenu du site web sur les plateformes de médias sociaux, la collecte de commentaires et d'autres fonctionnalités tierces.
Cookie
Durée
Description
__cf_bm
30 minutes
Ce cookie, défini par Cloudflare, est utilisé pour prendre en charge la gestion des robots Cloudflare.
__hssc
30 minutes
HubSpot définit ce cookie pour assurer le suivi des sessions et pour déterminer si HubSpot doit incrémenter le numéro de session et les horodatages dans le cookie __hstc.
Les cookies de performance sont utilisés pour comprendre et analyser les indices de performance clés du site Web, ce qui permet d'offrir une meilleure expérience utilisateur aux visiteurs.
Les cookies analytiques sont utilisés pour comprendre comment les visiteurs interagissent avec le site web. Ces cookies permettent de fournir des informations sur les métriques le nombre de visiteurs, le taux de rebond, la source de trafic, etc.
Cookie
Durée
Description
__hstc
1 an 24 jours
Il s'agit du principal cookie défini par Hubspot, pour le suivi des visiteurs. Il contient le domaine, l'horodatage initial (première visite), le dernier horodatage (dernière visite), l'horodatage actuel (cette visite) et le numéro de session (qui s'incrémente pour chaque session suivante).
_ga
2 ans
Le cookie _ga, installé par Google Analytics, calcule les données relatives aux visiteurs, aux sessions et aux campagnes et assure également le suivi de l'utilisation du site pour le rapport d'analyse du site. Le cookie stocke les informations de manière anonyme et attribue un numéro généré de manière aléatoire pour reconnaître les visiteurs uniques.
_ga_JYCPSB48B8
2 ans
Ce cookie est installé par Google Analytics.
CONSENT
16 ans 2 mois 25 jours 10 heures
YouTube place ce cookie par le biais des vidéos youtube intégrées et enregistre des données statistiques anonymes.
hubspotutk
1 an 24 jours
Ce cookie est utilisé par HubSpot pour garder une trace des visiteurs du site web. Ce cookie est transmis à Hubspot lors de la soumission du formulaire et utilisé lors de la déduplication des contacts.
Les cookies publicitaires sont utilisés pour fournir aux visiteurs des annonces et des campagnes de marketing pertinentes. Ces cookies suivent les visiteurs à travers les sites web et collectent des informations pour fournir des annonces personnalisées.
Cookie
Durée
Description
IDE
1 an 24 jours
Les cookies Google DoubleClick IDE sont utilisés pour stocker des informations sur la façon dont l'utilisateur utilise le site web afin de lui présenter des annonces pertinentes et en fonction de son profil.
test_cookie
15 minutes
Le test_cookie est défini par doubleclick.net et est utilisé pour déterminer si le navigateur de l'utilisateur accepte les cookies.
VISITOR_INFO1_LIVE
5 mois 27 jours
Un cookie défini par YouTube pour mesurer la bande passante qui détermine si l'utilisateur obtient la nouvelle ou l'ancienne interface du lecteur.
YSC
Session
Le cookie YSC est défini par Youtube et est utilisé pour suivre les vues des vidéos intégrées dans les pages Youtube.