Les coûts des systèmes hérités

Un système hérité (legacy), c’est un logiciel, un ordinateur, un périphérique de stockage encore utilisé mais qui est devenu obsolète. Il n’est pas forcément très vieux, ce peut être par exemple une version de logiciel datant de quelques années qui n’est plus supportée par son vendeur. Cependant, les cas les plus frappants sont ceux de systèmes au fonctionnement stratégique pour une entreprise ou institution, souvent développés sur mesure, qui font appel à des technologies logicielles ou matérielles complètement dépassées.

Des technos qui ne veulent pas mourir

Aussi incroyable cela peut-il paraître, de grandes entreprises et institutions ont encore des programmes vitaux en COBOL qui tournent sur des ordinateurs centraux (mainframes). Les développeurs de ces programmes sont probablement déjà morts, le code spaghetti est peu ou pas documenté, mais ça fonctionne toujours. De vénérables responsables IT vous diront que ce sont des systèmes très sûrs, vous expliquant que ce sont souvent des ordinateurs peu exposés à l’internet et qu’aucun hacker ne connaît COBOL. Même si la sécurité par l’obscurité n’est pas reconnue comme la meilleure, on veut bien croire qu’il y a peu de pirates inspirés par le langage et les systèmes d’exploitation associés comme z/VSE, z/OS et VME. COBOL est en effet un langage de 1959 qui est en état de mort cérébrale depuis le bogue de l’an 2000. Les programmes sont monolithiques et ont des capacités d’évolution proches de zéro. C’est horriblement coûteux à maintenir et d’un avenir très incertain, ne serait-ce que parce que les bons programmeurs COBOL, qui sont parmi les mieux payés de tous les professionnels du développement, se font vieux et qu’il n’y a aucune relève (à ma connaissance, aucun jeune ne rêve de devenir coboliste et la discipline n’est de toute façon plus enseignée).

Des systèmes antiques

En juin 2015, le bureau de gestion du personnel fédéral américain (Office of Personnel Management) s’est vu voler des données touchant plus de 20 millions d’anciens et actuels employés sous contrat avec le gouvernement fédéral. L’enquête a révélé que le logiciel de l’ordinateur central qui héberge la base de données, vieux de 30 ans, était écrit en COBOL et qu’il était « techniquement trop obsolète pour chiffrer les renseignements personnels ». Comme quoi ces systèmes antiques posent bel et bien des problèmes de sécurité…

En 2016, on apprenait grâce au Government Accountability Office, organisme chargé du contrôle des comptes publics du budget fédéral des États-Unis, que l’un des plus vieux investissements fédéraux en IT encore en fonctionnement était le Système automatisé de commandement et de contrôle stratégique (SACCS) destiné à coordonner les fonctions opérationnelles des forces nucléaires. Ce système tourne encore sur des ordinateurs IBM Series/1 des années 70 et le stockage se fait sur des disquettes 8 pouces.

En avril 2018, le site web des impôts fédéraux (IRS) est tombé en panne le dernier jour de déclaration des revenus. Le problème était que le fichier maître individuel (Individual Master File), le système qui stocke toutes les informations fiscales des citoyens, ne répondait plus aux requêtes. Ce système, composé de 20 millions de lignes de code assembleur, a été développé quand John F. Kennedy était président. Les autorités prévoient de le remplacer en 2022, après plus de 55 années de service, mais comme Donald Trump a amputé le budget de l’IRS de 239 millions de dollars, rien n’est moins sûr.

IBM System/360.

Ordinateur central IBM System/360 au centre informatique des Jeux olympiques d’hiver de Grenoble, janvier 1968. Photo Ron Kroon/Anefo. Archives nationales néerlandaises.

Les coûts des systèmes hérités

Entretenir des systèmes de plus de 20 ans, voire de plus d’un demi-siècle, coûte de plus en plus cher. Les spécialistes de COBOL ou Fortran, les vétérans capables d’écrire en assembleur et les ingénieurs maîtrisant les vieux mainframes sont des gens de plus en plus rares, donc de plus en plus demandés et de plus en plus coûteux. La maintenance des plateformes matérielles, dont parfois le constructeur a disparu depuis longtemps, relève aussi du défi dont les solutions sont toujours onéreuses.

Ces systèmes sont généralement vitaux pour les entreprises (c’est ainsi souvent la raison pour laquelle ils sont maintenus coûte que coûte), et la moindre panne peut donc avoir des effets douloureux. Quand le vieux système informatique de gestion des réservations de la compagnie aérienne Delta a crashé en 2016, c’est toute sa flotte d’avion qui a été clouée au sol et ça lui a coûté plus de 150 millions de dollars. Des millions qui auraient sans doute mieux été investis dans la modernisation, la redondance et la sécurisation de son infrastructure. Une mésaventure du même genre s’était produite en 2004 chez Comair, une filiale de Delta. Le logiciel d’affectation des équipages, programmé en Fortran (alors que personne ne maîtrisait ce langage au service IT de Comair), s’était bloqué en raison d’une limitation inconnue de toute personne travaillant dans la compagnie. 3 900 vols durent être annulés et près de 200 000 passagers restèrent bloqués en pleine période de Noël. Le vieux logiciel était limité à 32 000 changements d’affectations par mois. Cette limite n’avait jusqu’alors jamais été atteinte, mais une tempête de neige historique les 22 et 23 décembre avait entraîné des modifications inhabituellement nombreuses. La limite atteinte, le logiciel s’est bloqué de lui-même le 25 décembre. Après ce ratage monumental, le président de Comair, Randy Rademacher, fut poussé à la démission en janvier. Le remplacement du système legacy par un logiciel de Sabre Airline Solutions avait été approuvé en 2003, mais fin 2004, il n’avait toujours pas eu lieu. C’était le dernier système qui fonctionnait encore sur l’ancienne plateforme IBM AIX de la compagnie aérienne (toutes les autres applications fonctionnaient sous HP Unix). Les conséquences négatives sur l’image de marque de l’entreprise furent importantes et durables.

Aussi, avec un système obsolète, la moindre modification fonctionnelle ou intégration avec un autre système plus moderne demande un temps exagéré, quand elle est possible, ce qui n’est pas toujours le cas. Ces systèmes sont souvent peu ou pas évolutifs, ce qui oblige d’y accoler d’autres couches technologiques pour répondre à la demande. Le résultat est alors en un système encore plus complexe et donc fragile. Il est en outre fréquent que ces systèmes aient des vulnérabilités en raison de technologies dépassées ou de manque de support.

Il faut également voir que tous les coûts ne sont pas directement inscrits dans la comptabilité. Comment chiffrer la perte de l’agilité, de la capacité de changer et de s’adapter à un contexte en perpétuel changement ? Comment évaluer le manque de compétitivité ? Que coûtent les données stratégiques qu’on ne peut pas obtenir parce que le système est incapable de les extraire ? Combien de points de croissance perdus ? De clients insatisfaits qui partent voir la concurrence ? Etc.

La plus grande partie du budget fédéral américain dédié aux technologies (80 milliards de dollars) est consacré au maintien de systèmes hérités. Les agences fédérales emploient encore plus de 1 000 développeurs en COBOL et 600 en Fortran. Quand une entreprise consacre 60 à 80 % de son budget IT dans la maintenance de systèmes hérités, elle le fait au détriment de l’innovation et du futur. Il reste en effet peu de temps et d’argent à faire autre chose que poser des rustines plutôt que de préparer l’avenir. Et on ne peut parler de modernisation quand on commence à bâtir un système de remplacement, ce qui est souvent une opération lourde et complexe, toujours longue. La modernisation effective ne se fait qu’au moment où l’on débranche le vieux système. Quand on ne peut consacrer que 20 % de son budget IT aux efforts de modernisation, cela prend encore plus de temps… Bref, avec des systèmes obsolètes, on s’enferme dans un cercle vicieux.

Souvent, la bonne décision est d’investir massivement pour pouvoir débrancher rapidement un système qui survit sous perfusion. En matière d’IT, même si cela fait un peu peur et que le risque zéro n’existe pas, il est parfois plus que temps de sortir la hache. Le retour sur investissement se fera inévitablement, au moins sur le moyen/long terme. D’autre part, il faut bien savoir que les systèmes modernes sont conçus avec un meilleur souci de l’évolutivité et sont plus modulaires, ce qui rendra plus facile et moins onéreux de les maintenir au goût du jour ou de leur faire effectuer une transition technologique.

Découvrez nos histoires
à succès.

Un projet de développement logiciel?
Contactez-nous!  

Cette entrée a été publiée dans Méthodes et bonnes pratiques
par Laurent Gloaguen.
Partager l'article