L’infrastructure “legacy” : la nécropole de Saqqarah de l’IT ?

Par :
Marc Zottner

jeu, 11/03/2021 - 13:05

Comprendre l’infrastructure traditionnelle par le prisme de l’archéologie

Quand vous observez la nécropole de Saqqarah, comprenant les plus vieilles des pyramides d’Égypte, la considérez-vous comme une relique sans intérêt ? Pas du tout. Vous l’admirez pour les talents architecturaux impliqués par sa construction et pour l’histoire que cache sa beauté éternelle.

Pourquoi ne pas regarder l’architecture traditionnelle des systèmes d’information de la même façon ? Trop souvent, les équipes informatiques ignorent les mainframes et autres infrastructures historiques de l’entreprise, consacrant l’essentiel de leur énergie aux dernières nouveautés et technologies en vogue. Et pourtant, tout comme Saqqarah fut une révolution au moment de sa construction et servit de point de départ pour les 96 autres pyramides d’Égypte, les mainframes que nous pourrions désormais aussi qualifier de « reliques » furent à la pointe de l’innovation quand ils furent conçus. Telles les pyramides de Saqqarah constituées de milliers de blocs assemblés, les applications mainframes ont des centaines de milliers, voire des dizaines de millions de lignes de code. Chacune d’elles remplissant un but bien spécifique, qui a probablement survécu au travail du développeur qui a écrit ce code. C’est seulement en ayant examiné et compris ce but qu’une entreprise peut réussir sa modernisation applicative. 

Intégrer en premier lieu les objectifs métiers

Au cours des dernières années, les entreprises se sont lancées dans une course à la modernisation de leurs systèmes d’information. La pandémie de 2020 a accéléré cette tendance. Pourtant la prudence reste de mise ici, car des décisions prises à la va-vite aujourd’hui peuvent avoir un impact négatif sur les décennies à venir. 

Si la modernisation des applications accélère inévitablement la transformation numérique des entreprises, elle doit avant tout être pensée pour créer de la valeur business, un avantage concurrentiel. Au lieu d’associer notre travail avec l’idée de rendre les applications atemporelles en les « transformant » et en les « révisant », il serait peut-être bénéfique de simplement se concentrer sur une extension du logiciel pour en augmenter la rentabilité, se différencier face à la concurrence, ou bien encore proposer de nouveaux produits et services, une meilleure expérience utilisateur final. Cartographiez les buts d’un projet IT puis travaillez à rebours pour comprendre ce dont vous avez besoin pour y arriver. Imaginez à quoi ressembleront vos applications métiers critiques dans dix ans. Seront-elles structurées simplement, faciles à comprendre, toujours fonctionnelles et simples à faire évoluer ? 

La modernisation applicative ne devrait pas être envisagée en commençant par sélectionner des outils, des patterns, ou des technologies. Avant cela, il est essentiel de savoir ce que l’on cherche à construire, la valeur que l’on souhaite obtenir et surtout répondre à cette question primordiale, guide de la réflexion et de l’action : pourquoi le faites-vous ? Par exemple, une architecture de microservices n’est pas une solution miracle pour tous les projets. Il est important de prendre du recul afin de fixer en premier lieu ses objectifs métiers. Sur cette base, vous pourrez bâtir une architecture conceptuelle puis choisir les bons outils, frameworks et technologies pour atteindre les résultats escomptés.

La plupart des projets de modernisations visent à résoudre des limitations techniques en injectant des nouvelles technologies, pas forcément adaptées. Pour nos clients, il s’agit avant tout de répondre à de nouveaux besoins, de réduire les coûts techniques, d'accroître le chiffre d'affaires, de passer à l’échelle, d’améliorer la sécurité et la stabilité tout en accélérant la cadence de développement. En résumé, cela revient à leur donner numériquement un avantage compétitif tout en gagnant, par exemple, de nouvelles parts de marché.

La réussite d’un projet de modernisation tient dans la capacité des équipes à identifier et prioriser les objectifs et résultats escomptés. Définir dès le début des objectifs qualificatifs mesurés par des résultats quantitatifs permet de guider tout le processus de transformation. Sans une telle boussole, il est très facile de s’égarer dans les méandres d’une majestueuse construction monumentale ou de se paralyser dans les sables mouvants d’une analyse pharaonique. Cette approche est tout aussi valable pour une transformation sur site que dans le Cloud. Si les problèmes de l’existant sont souvent évidents, leur résolution en deçà des symptômes l’est bien moins. Des problèmes monolithiques ne peuvent être résolus en suivant le même mode de pensée qui les ont créés. 

Adopter une approche atemporelle 

Une modernisation applicative réussie comprend quatre éléments. Le premier est d’aligner les parties prenantes sur les objectifs finaux et d’utiliser ceux-ci comme guides pour le projet. Une image vaut mille mots : avant de courir, il faut d’abord apprendre à marcher. Si votre portefeuille applicatif comprend des milliers d'applications, commencez à petite échelle, avec une seule division, avec quelques applications à fort potentiel. Le développement piloté par les tests (TDD), l’intégration et le déploiement en continu peuvent alors aider à réduire les procédures manuelles et à augmenter le déterminisme par le biais de l’automatisation. Il est également crucial de planifier juste le strict nécessaire avant de commencer, d’apprendre et de développer de nouvelles compétences par la pratique, tout en restant en phase avec les résultats escomptés par le biais de boucles de feedback. Enfin, séquencez le travail : les équipes en charge du projet doivent continuellement itérer sur des fines tranches du système monumental, gagner en vélocité, et se focaliser sur l’architecture globale avant la technologie.

Récemment, VMware Tanzu a aidé un grand compte européen du secteur public à moderniser une application mainframe ayant plus de 30 ans et coûtant plusieurs millions d’euros par an en maintenance et exploitation. Cela impliquait une refonte du logiciel et des processus concernant des millions de citoyens et des dizaines de milliers de fonctionnaires. Le défi était de trouver une façon pragmatique de commencer à réécrire ce monolithe à l’ère du cloud, avec un langage de programmation moderne, sans impacter les changements nécessités par les nouvelles législations. En utilisant l’approche décrite plus haut, en quelques semaines à peine, le client a pu lancer les premiers composants de son mainframe réécrits en Java et en production. La durée du processus amenant un changement de code en production a été drastiquement réduite, de quatre semaines à trente minutes. Plusieurs ingénieurs logiciels et responsables produit ont appris par la pratique à moderniser un monolithe en utilisant les mêmes techniques employées pour développer de nouvelles applications, en se focalisant sur la valeur métier, en procédant par itérations, semaines après semaines, sans interrompre, bien évidemment, l’environnement de production.

Et maintenant, revenons à Saqqarah

Au cours des années suivant la construction de la pyramide à degrés de Saqqarah, plusieurs pharaons ont fondé leurs monuments funéraires sur le même modèle avec une approche similaire. Au fil du temps, d’autres innovations ont été incorporées — comme des hiéroglyphes gravés à même la pierre — et les plans ont évolué.

Comme cela est le cas pour les archéologues et historiens qui s’intéressent à construction des pyramides égyptiennes, l’empathie et la contextualisation sont primordiaux pour la réussite d’un projet de modernisation applicative. La finalité pour les archéologues est certainement moins de remplir les musées avec de belles reliques que de comprendre réellement l’Histoire, la culture et les motivations du peuple qui les a réalisées. De même, les DSI doivent d’abord comprendre l’état d’esprit des équipes lors de la phase de conception pour réellement être capables d’appréhender la modernisation applicative avec un regard et un état d’esprit neufs.

A propos de l'auteur

Marc Zottner
Field CTO chez VMware Tanzu