Edito - Moderniser son héritage applicatif

"Rien ne se perd, rien ne se crée, tout se transforme". Cette maxime que l'on doit à Antoine Laurent de Lavoisier à l'aube de la révolution française et qui a cours aujourd'hui encore dans de nombreux domaines, dont la chimie, ne s'applique pas vraiment au monde de l'informatique et des technologies de l'information. Dans notre domaine, elle s'écrirait plutôt "Tout se crée, rien ne se perd, tout se transforme".
 
J'en veux pour preuve la persistance presque insolente de langages de programmation antédiluviens comme le COBOL (COmmon Business Oriented Language), un langage qui a désormais atteint l'âge de la retraite, puisque né en 1959. Vous noterez au passage qu'à l'époque déjà on cherchait à unifier les langages de programmation. Et pourtant, le COBOL est encore et toujours bien présent dans de nombreux environnements, comme dans le milieu bancaire ou celui des assurances, mais aussi dans les administrations. Il y a encore toujours plus de lignes de code écrites en COBOL que dans n'importe quel autre langage. D'ailleurs, les mainframes font aujourd'hui encore les choux gras de nombre de fournisseurs pourtant à la pointe de l'innovation, comme CA Technologies par exemple. D'ailleurs, ne serait la manne des mainframes, ces entreprises n'auraient pas les moyens d'innover comme elles le font.
 
Mais les langages de programmation ne sont pas les seuls à persister décennie après décennie : certaines machines, comme l'AS/400 ou les mainframes, justement, ou certains OS font preuve de la même longévité. Pourquoi ? Sans doute parce qu'ils donnent pleine satisfaction à leurs utilisateurs qui ne voient pas ni la nécessité ni les bénéfices qu'il y aurait à changer, surtout eu égard aux risques encourus. Ainsi, dans l'IT, nous ne faisons que rajouter des couches aux couches existantes, qui restent là et bien là.
 
Des milliards de lignes de code ont été écrites par des développeurs, des programmeurs dans des langages comme le COBOL. Et l'essence même d'un programmeur n'est-elle pas d'écrire du code ? En revanche, rares sont les développeurs qui passent beaucoup de temps à expliciter et à documenter le code qu'ils produisent. D'où la carence chronique en documentation d'applications anciennes, souvent monolithiques et colossales par la taille, qui expose l'entreprise à des risques.
 
Mais la situation s'est-elle améliorée depuis ces temps immémoriaux ? Pas réellement, car ni les développeurs ni la nature humaine qui les pousse à écrire du code plutôt qu'à le documenter n'ont changé. Ce qui a évolué depuis, c'est la modularité des applications, qui est devenue la règle avec l'apparition de la programmation objet et des méthodes agiles, notamment. Encore que, là non plus, il ne s'agisse pas vraiment de perdreaux de l'année : la programmation objet par exemple est née dans les années 1960...
 
Même si la modernisation de l'existant n'est pas nouvelle non plus et qu'on modernise, qu'on révise les applications depuis des décennies, les besoins des entreprises ont quant-à-eux changé en profondeur : agilité et adaptabilité sont les maîtres-mots aujourd'hui dans un monde dominé par la transformation numérique et face à l'émergence de nombreuses start-up venant concurrencer en frontal et faire vaciller des entreprises souvent jusque-là leaders de leurs marchés. Les raisons de moderniser ses applications sont légion, de la recherche de productivité aux économies d'échelle en passant par la mise en conformité. Mais la première de ces raisons, c'est que même vieille, même obsolescente, même peu conviviale du point de vue de l'expérience utilisateur, l'application réalise ce qu'on lui demande et donne satisfaction. En plus, éprouvée et rodée, elle le fait très bien.
 
Les possibilités de modernisation sont nombreuses et vont du simple portage dans un environnement différent à la réécriture voire même – option radicale – au remplacement. Tout est une question d'équilibre entre coûts, risques encourus et délais de mise en œuvre.
 
Pour les auteurs de l'étude que vous pourrez découvrir dans la présente édition de L'Œil Expert, Simon Abrahams, Nick Mayes et Vincent Malka, ce dernier pour la version française, les conteneurs et les micro-services représentent l'étape suivante dans la modernisation des applications et l'évolution vers les "software-defined infrastructures". Ces technologies déplacent les applications d'un modèle "grand et complexe" vers un modèle "petit, simple et granulaire". De quoi affronter les défis de la transformation numérique.

Commentaires

Publier un nouveau commentaire