La dépendance des entreprises aux mainframes : pourquoi une « dette technique » ?

Par :
Alex Huart

ven, 20/11/2015 - 11:36

Durant plusieurs décennies, tout le monde s’est posé la question du divorce de l’entreprise avec son mainframe et son code legacy. La désillusion fut grande car il s’est avéré impossible de rompre trente ans de vie commune sans d’insupportables conséquences. On a donc admis comme une évidence, notamment pendant les quinze dernières années, qu’il fallait continuer à payer le prix fort pour maintenir l’exploitation du backoffice. Il faut revoir cette position et évaluer les nouvelles technologies permettant de balayer le dogme mainframe-legacy-argent.

Dette technique ?

Dès le début des années 80, les mainframes semblaient vivre leurs dernières heures. Trop encombrant, trop chers, trop compliqués. Les années 90 ont ainsi vu naître un grand nombre de chantiers pour diminuer la place de ces équipements au sein des services informatiques des grands organismes publics et entreprises privées. Le résultat : un échec. En effet, les compétences relatives à ces machines particulièrement complexes se faisaient alors de plus en plus rares : une documentation quasi inexistante, un personnel vieillissant, peu d’attrait des jeunes ingénieurs pour ces technologies dépassées à l’heure de l’émergence d’Internet, etc. Aboutir à l’isofonctionnalité en migrant sur des équipements modernes s’est révélé un casse-tête inextricable à l’époque. Pour achever le scénario, l’épouvantail « bug de l’an 2000 » finit par pousser définitivement les DSI à abandonner ces projets.

Pourtant, personne ne serait en mesure de remettre en question le fait que l’ensemble des activités informatiques critiques sont encore aujourd’hui hébergées sur des mainframes et que la grande majorité des programmes associés sont écrits en COBOL, PL/I et autres langages obsolètes. Alors, sommes-nous pieds et poings liés ? Il serait tout à fait contre-productif de considérer cet état comme un fait irrémédiable et de simplement se contenter de faire avec cette soi-disant dette technique. Le fatalisme est un luxe que la pression budgétaire et le manque de flexibilité de ces systèmes mainframe rend inopérant.

Dépenser de l’argent pour investir dans le futur ou pour s’acquitter d’une dette technique ?

Nombreux sont ceux qui prônent l’isofonctionnalité par la réécriture : migrer son patrimoine applicatif et le traduire en langage moderne. Cela pourrait sembler être LA bonne idée : se débarrasser enfin des passifs archaïques pour passer à Java ou C#. Mais cette opération prend beaucoup de temps, coûte cher, peut être dangereuse, voire inutile. En effet, il est ici question de millions de lignes et il est impossible d’arrêter ces grands systèmes pour de longues périodes. Trop d’applications critiques et essentielles en dépendent. De plus, quel intérêt y aurait-il à réécrire ces programmes en répliquant les bugs, voire en en générant de nouveaux ? Quel intérêt aurait un entrepreneur du bâtiment à reconstruire un immeuble neuf, mais en conservant les défauts de l’ancien ?

Comment ne pas subir cette situation, mais plutôt en profiter ? Comment optimiser son SI et tirer profit de cet état de fait ?

La réponse : ne pas toucher au code source, mais le confier à des compilateurs, dans un processus de rehosting. Les compilateurs permettent de transformer un langage structurel en langage machine. Le rehosting complète la démarche en migrant les bases de données ou les moniteurs transactionnels vers des outils plus actuels ou des émulateurs.

Le rehosting affiche des atouts techniques et financiers qui ont le mérite supplémentaire de rassurer les marchés.

Ce processus ne présente pratiquement aucun risque technologique s’il est reversible, puisque le code originel, et donc fonctionnel, n’est pas altéré. Il peut être recompilé et dupliqué sur une nouvelle machine, en conservant le mainframe en parallèle. De cette manière, l’entreprise s’assure une continuité de service, avec la possibilité en prime de pouvoir transférer ses programmes progressivement, de corriger le code source au fur et à mesure, de revenir en arrière si nécessaire, et ce, sans interruption et sans risque. De plus, cela coûte beaucoup moins cher et lui permet d’investir les économies réalisées dans de nouveaux développements.

Avancer pas à pas

Pour y parvenir, plusieurs étapes sont indispensables:

  • Une phase d’inventaire, pour collecter des métriques du système (taille, complexité, couverture des fonctionnalités des plateformes techniques
  • Relever les erreurs et supprimer le « code mort » ;
  • Construire un plan d’action et procéder progressivement ;
  • Imaginer de nouvelles pistes pour le code de destination.

La réversibilité, la continuité de service et le faible coût du processus de rehosting évolué sont des gages de stabilité pour l’entreprise. Il faut désormais considérer les systèmes legacy comme des sources d’optimisation potentielles et les faire vivre avec des risques maîtrisés et des ressources humaines disponibles, sans révolution.

A propos de l'auteur

Alex Huart
Chief Evangelist Officer de Raincode

Commentaires

Celui qui a écrit cet article connait le Mainframe ?

A priori oui. Et vous ? Pouvez-vous produire un commentaire plus constructif, ou au moins plus argumenté ?

C'est une vision de "vieux", le Mainframe n'a plus cette image là et heureusement.

Les coûts sont bien moins que ce qu'ils ont été et la fiabilité n'a pas de comparaison. 

Le coûts d'achat et de maintenance d'un AS400, par exempe, n'a pas de comparaison avec le coût des nombreux serveurs et leurs maintenances pour, en plus, une baisse de fiabilité.

La taxe IBM reste élevée et... sans commune mesure avec les résultats réels fournis. Payer plus pour rester au siècle dernier, c'est un point de vue intéressant mais peu pertinent pour les entreprises qui doivent évoluer (sans parler du recrutement et de la formation du personnel qualifié).
La sécurité et la stabilité sont des arguments qui ne tiennent plus...

IBM se renouvelle énormément, il suffit de se renseigner et d'utiliser les nouveaux outils mis en place sur un AS400 par exemple pour ne plus devoir parler de "rester au siècle dernier" !

Et quoi su'il arrive, une personne qualifié, que ce soit sur Mainframe ou sur nouvelle technologie, se paye.

Jusqu'à preuve du contraire, un AS400 n'est pas un mainframe. https://en.wikipedia.org/wiki/IBM_mainframe , https://en.wikipedia.org/wiki/Z/OS.  Mais les remarques concernant la dette technique restent valable. Il est illusoire de motiver un jeune diplômé à s'intéresser de prêt ou de loin à un AS400.  Ce n'est pas une couche de peinture qui sauve un mur qui s'effrite, offrir des web services pour "rester dans la course" ne changera pas le fond du problème, à savoir l'adhérence à un matériel ou a un 4GL ou à un langage désuet. Ainsi "fournir un meilleur COBOL" pour 2025 est une inepsie, quelle est la proportion d'ingénieurs de 25 ans aujourd'hui qui se passionne pour le Cobol ?