Modernisation des systèmes hérités
Moderniser les systèmes dont vous dépendez sans arrêter l’activité
Migration progressive d’applications et de bases de données vieillissantes vers des plateformes maintenues, l’ancien système restant en service jusqu’à ce que le nouveau ait fait ses preuves.
Présentation
Les systèmes vieillissants portent souvent les traitements les plus critiques : grands livres, facturation, extensions de l’ERP et outils de back-office que personne ne veut toucher. Ils sont difficiles à faire évoluer, difficiles à doter en compétences et de plus en plus difficiles à sécuriser. Les remplacer d’un seul coup est l’un des projets les plus risqués qu’une entreprise puisse mener.
Nous modernisons étape par étape. Nous plaçons une interface propre devant l’ancien système, transférons une fonction à la fois vers une plateforme maintenue située derrière cette interface, et n’orientons le travail vers chaque nouvelle partie qu’une fois qu’elle a fait ses preuves. L’ancien et le nouveau fonctionnent côte à côte, leurs résultats étant comparés, jusqu’à ce que chaque ancienne partie puisse être retirée.
Parfois, la bonne réponse consiste à encapsuler l’ancien système plutôt qu’à le réécrire : exposer ses fonctions au moyen d’API modernes et laisser le cœur en place. Nous évaluons chaque partie selon ses mérites et vous indiquons où le changement est rentable et où il ne l’est pas.
Ce que nous livrons
Évaluation du système
Un inventaire du code, des données, des interfaces, des dépendances et des personnes qui les connaissent, avec les risques classés par ordre de priorité.
Options et feuille de route
Pour chaque partie, le choix de la conserver, de l’encapsuler, de la migrer vers une nouvelle plateforme, de la réécrire ou de la retirer, avec les raisons et l’ordre des travaux.
Couche d’API
Des API modernes devant l’ancien système, afin que les nouveaux canaux et les nouvelles intégrations ne dépendent plus de son fonctionnement interne.
Composants modernisés
Des fonctions reconstruites une à une sur une plateforme maintenue, chacune dotée de tests automatisés.
Migration des données
Des données mises en correspondance, nettoyées et migrées, avec des rapports de rapprochement qui démontrent que rien n’a été perdu ni modifié.
Tests de caractérisation
Des tests qui consignent ce que fait réellement l’ancien système, afin de démontrer que le nouveau s’y conforme.
Preuves de fonctionnement en parallèle
Les sorties de l’ancien et du nouveau système comparées sur des charges réelles, chaque écart étant expliqué avant la bascule.
Plan de décommissionnement
La manière dont chaque partie remplacée est arrêtée, dont ses données sont archivées et dont ses licences et son infrastructure prennent fin.
Notre méthode
- 01
Comprendre le système
Nous lisons le code, retraçons les données et interrogeons les personnes qui l’exploitent, et nous consignons ce qu’il fait réellement.
- 02
Choisir la trajectoire
Nous décidons avec vous quelles parties conserver, encapsuler, migrer ou retirer, et dans quel ordre.
- 03
Encapsuler
Nous plaçons une couche d’API devant l’ancien système, afin que les nouveaux développements ne dépendent plus de son fonctionnement interne.
- 04
Remplacer pièce par pièce
Nous reconstruisons une fonction à la fois derrière la couche d’API, avec des tests qui démontrent sa conformité.
- 05
Faire fonctionner en parallèle
Nous faisons tourner l’ancien et le nouveau côte à côte, comparons leurs résultats et ne basculons que lorsqu’ils concordent.
- 06
Retirer
Nous arrêtons ce qui a été remplacé, archivons ses données et supprimons ses licences et son infrastructure.
Technologies
- Langages
- Java
- C#
- SQL
- Frameworks
- .NET
- Spring Boot
- Données et analytique
- Apache Kafka
- Debezium
- Bases de données
- Oracle Database
- Microsoft SQL Server
- PostgreSQL
- DevOps et observabilité
- Docker
- Kubernetes
- Intégration
- OpenAPI
- REST
- SOAP
Modes de collaboration
- Réalisation en mode projetXSIS réalise un périmètre convenu selon des critères d’acceptation écrits, avec un directeur de projet désigné.
- Équipe dédiéeUne équipe complète qui travaille uniquement sur votre produit, gérée au quotidien par XSIS et dirigée par vous.
- Équipes internes et externaliséesLes ingénieurs XSIS pilotent le travail et en répondent ; des équipes externalisées sélectionnées et évaluées apportent capacité et compétences, selon les mêmes standards.
Questions et réponses
Pourquoi ne pas réécrire tout le système d’un coup ?
Parce qu’une réécriture complète doit reproduire des années de comportement avant de pouvoir remplacer quoi que ce soit, alors que l’activité continue d’évoluer autour d’elle. Ces projets dépassent souvent les délais et sont lancés avec des lacunes. Remplacer une fonction à la fois apporte de la valeur tôt, conserve l’ancien système comme filet de sécurité et vous permet de vous arrêter ou de changer de cap à chaque étape.
Lien vers cette questionL’activité devra-t-elle s’arrêter pendant la migration ?
L’approche est conçue pour l’éviter. L’ancien système continue de fonctionner pendant que chaque nouvelle partie est construite et éprouvée en parallèle. Le travail bascule progressivement vers la nouvelle partie, et peut revenir en arrière en cas de problème. Lorsqu’une migration de données nécessite une bascule, nous la répétons au préalable et la planifions avec vous.
Lien vers cette questionPersonne ne comprend entièrement notre ancien système. Pouvez-vous quand même le moderniser ?
Oui, et c’est une situation courante. Nous reconstituons la connaissance à partir du code, des données, des journaux et des personnes qui utilisent le système, et nous consignons ce qu’il fait réellement dans des tests de caractérisation. Ces tests deviennent la spécification à laquelle les nouvelles parties doivent répondre, de sorte que les comportements non documentés sont conservés, sauf si vous décidez de les modifier.
Lien vers cette questionQu’est-ce qui détermine le coût d’une modernisation ?
La taille et la complexité de l’ancien système, la qualité de ses données, le nombre de systèmes qui en dépendent, et la part de ce qui doit changer plutôt qu’être conservé. Les langages et bases de données anciens que peu d’ingénieurs maîtrisent ajoutent de l’effort. Le travail étant incrémental, vous pouvez le financer par étapes et constater le résultat de chacune avant de valider la suivante.
Lien vers cette questionComment migrez-vous les données en toute sécurité ?
Nous commençons par cartographier et profiler les données, afin de détecter les problèmes avant la migration plutôt qu’après. Les migrations sont scriptées et reproductibles, exécutées d’abord sur des copies, et rapprochées au moyen de comptages et de totaux qui démontrent que rien n’a été perdu ni altéré. Les données personnelles et sensibles sont protégées tout au long du processus, et leur accès est limité à des personnes désignées.
Lien vers cette questionQuand vaut-il mieux encapsuler un système que le remplacer ?
Lorsque l’ancien cœur est stable et correct, mais difficile d’accès. Des API modernes placées devant lui permettent aux nouveaux canaux, partenaires et produits d’utiliser ses fonctions sans toucher à son fonctionnement interne, avec un risque bien moindre qu’un remplacement. Nous recommandons le remplacement lorsque le système bloque le changement, ne peut pas être sécurisé ou ne trouve plus les compétences nécessaires.
Lien vers cette questionAvec quelles technologies anciennes pouvez-vous travailler ?
Nous travaillons avec les piles technologiques sur lesquelles de nombreux systèmes de gestion ont été construits, notamment les anciennes versions de Java et de .NET, des bases de données relationnelles comme Oracle Database et SQL Server, des services SOAP et des interfaces à base de fichiers. Pour les plateformes plus rares, nous évaluons d’abord le code et vous disons franchement si nous disposons des compétences nécessaires, ou si un spécialiste doit rejoindre l’équipe.
Lien vers cette questionComment protégez-vous nos systèmes, notre code et nos données ?
Les accès sont accordés nominativement, limités aux besoins de chaque rôle et retirés lorsque la personne quitte le projet. Nous travaillons dans vos dépôts et vos environnements si vous le préférez, utilisons l’authentification multifacteur et conservons les secrets dans un coffre-fort numérique, jamais dans le code. Le code est relu avant d’être fusionné, les dépendances sont analysées, et les données de production ne sont jamais copiées dans les environnements de test sans masquage. Nous convenons de ces contrôles avec votre équipe sécurité dès le départ.
Lien vers cette questionDites-nous ce que vous devez construire ou connecter.
Décrivez les systèmes, le calendrier et les contraintes. Les ingénieurs concernés prennent ensuite le relais.
- Notre équipe vous appellera dans les 24 heures, sur le créneau de votre choix
- Notre équipe est disponible 24 h/24, 7 j/7