CIO

Le Mainframe, le zDevOps et l’automatisation des tests

Share this post:

Le Mainframe est loin d’avoir dit son dernier mot ! Le Mainframe évolue. Il s’est ouvert depuis plusieurs années au monde Open, à l’intelligence artificielle et n’a cessé d’augmenter le niveau de sécurité de son système.

La puissance de calcul, de stockage et de sécurité disponible sur le Cloud augmente de façon exponentielle. Cela ouvre des horizons passionnants sur une hybridation des applications, adoptée depuis de nombreuses années par les applications front-office. Toutefois, une application de gestion, écrite en cobol avec un cœur monolithique n’est pas raisonnablement migrable sur le Cloud – que ce soit en termes de performances, d’architecture ou de risque de régression. Ne le cachons pas : une migration d’un système Mainframe sur le Cloud nécessite une non-régression très poussée, sur des applications datant  parfois de plusieurs décennies, dont les connaissances sont parfois parcellaires. Il n’y aura bien souvent pas de ROI sur un délai financièrement acceptable sans une vraie valeur métier à apporter pour justifier cet investissement.

Doit-on pour autant rester dans un statu quo et se résigner à maintenir le cycle de vie de nos anciennes applications sans chercher à faire mieux ? Certes, non !

La révolution zDevOps est en marche

Les équipes IT Open pratiquent quotidiennement l’automatisation, le CI/CD, et les contrôles automatisés. Comme ces équipes interagissent et travaillent avec le z, ces pratiques voient enfin le jour sur le Mainframe.

Certaines pratiques Mainframe ont vécu : fini de recopier le JCL de ses  collègues pour l’adapter ; se demander si l’on a affaire à un programme batch ou TP ; comment activer les options de debug ; devoir déterminer pourquoi on a positionné un call statique dans tel ou tel programme, etc.

Les outils industriels voient le jour. Ne faites surtout plus de développement spécifique pour simuler une compilation, on parle de build ! Et on parle d’analyse d’impact automatique. Et voici DBB qui arrive avec ses API, ses outils de migration et son toolkit. Et voici donc que l’on peut utiliser Git et Artifactory avec DBB, fini les gestions de versions obsolètes et chères. En plus DBB va savoir tout seul déterminer le type de composant et est capable de calculer les impacts d’une modification pour tout builder de façon cohérente. Enfin…

Et maintenant est arrivé son pendant Déploiement, Wazi Deploy qui va travailler avec Python et même Ansible. On est dans tous les standards Open. Wazi Deploy apporte ce qu’il manque pour s’appliquer dans le monde Mainframe. La possibilité de faire des déploiements incrémentaux et sera même capable de créer des packages dynamiques en ne livrant que le nécessaire dans chacun des environnements.

Mais ceci ne fait pas le DevOps, on parle encore d’automatisation du build et du déploiement. Cela permet de faire converger les pratiques, les IDE, les contrôles automatiques, la cohérence des packages, la livraison continue et les process de façon enfin industrielle.

Et les tests alors ?

 

Le z est désormais outillé pour la virtualisation et de l’automatisation des tests

La prochaine étape pour assurer une véritable livraison continue est de s’assurer qu’on ne crée pas de régression fonctionnelle, de performance, de sécurité dans la cible.

Beaucoup de développeurs Mainframe objecteront qu’il manque les données, les environnements, les connexions pour tester. Parfois, comble du risque, on réalisera des tests en pré-production par manque de moyen de le faire sur les environnements en amont. Ce n’est plus un mode opératoire acceptable aujourd’hui au regard de l’outillage disponible.

Alors comment fait-on ? On virtualise.

Tout comme les outils zDevOps, les outils d’émulation Mainframe se démocratisent. Nous avons désormais à disposition : Wazi Sandbox (émulateur z conteneurisé), zD&T (émulateur z sur x86) et même zVDT (émulateur z sur une machine z, qui profite de la puissance de la machine). Qui dit émulation dit production d’image, restauration, duplication à la demande. Une image couplée aux capacités de Wazi Deploy permet de recréer un environnement à jour avec des données contrôlées, de dérouler les tests de non-régression et les actions de vérification associées.

On combinera ces émulateurs avec les outils d’automatisation de tests (avec du bouchonnage ou non), au niveau composant ou tête de chaîne : les outils zUnit et zVTP entrent en jeu. Ainsi, on peut créer à la demande un environnement de test virtualisé, avec ses derniers composants livrés et une base de données/des fichiers à un état que l’on contrôle.

Créer et maintenir des jeux de test représente un effort conséquent, mais absolument nécessaire pour se diriger vers le zDevOps, accélérer et sécuriser les livraisons. Rien n’oblige à créer tous les jeux de tests et la documentation en une seule fois : il suffit dans un premier temps de recenser les tests réalisés régulièrement par les équipes IT, par le métier, de prendre l’image de la base d’origine et de les automatiser (enregistrer) tels que les équipes les déroulent habituellement. L’outillage prendra alors en charge la comparaison des résultats, qui remontera via l’orchestrateur dans le compte-rendu du build/deliver. Cette première étape sécurise déjà grandement les livraisons et économise du temps de test aux équipes métiers.

Par la suite, les jeux de données devront évidemment être maintenus. Toute évolution du modèle validée donnera lieu à une nouvelle image de la base de données, et tout nouveau cas de test sera automatisé et ajouté aux autres.

Il ne nous reste qu’à transformer l’organisation !

En conclusion : ne faisons plus de développements spécifiques pour les pipelines z. Les offres industrielles sont arrivées à maturité. La virtualisation combinée aux outils de test assurent un environnement complet et à niveau pour garantir correctement la non-régression.

Pour finaliser la transformation zDevOps, il nous restera enfin la transformation d’entreprise, l’accompagnement et l’intégration des équipes de Dev et des Ops dans une équipe orientée « valeur métier et technique » de l’application.

Pour tous ces sujets, n’hésitez pas à prendre contact avec nos équipes IBM Consulting pour bénéficer de notre retour d’expérience sur la mise en œuvre des outils, la gouvernance et l’organisation pour atteindre votre objectif de transformation du cycle de vie autour de vos applications Mainframe.

Responsable offres zDevOps chez IBM Consulting

More CIO stories
14 juin 2024

Gestion de l’obsolescence logicielle : véritable enjeu pour la DSI et le business

Dans le paysage numérique actuel, les applications logicielles sont le pilier des entreprises modernes. Cependant, avec l’évolution rapide de la technologie, l’obsolescence logicielle est devenue un défi majeur pour les organisations. Les logiciels obsolètes peuvent entraîner des vulnérabilités de sécurité, des crashes système et une productivité réduite, affectant ainsi la performance commerciale et la compétitivité. […]

Continue reading

28 mai 2024

IBM soutient BIS dans l’expérimentation de MNBC de détail et apporte d’importantes améliorations aux algorithmes de signature aveugle résistants aux ordinateurs quantiques

Fin 2023, IBM a livré un système de signature aveugle résistant aux ordinateurs quantiques, le premier du genre, dans le cadre du projet Tourbillon du Centre d’innovation de la Banque des règlements internationaux (BISIH [1]), qui visait à tirer des enseignements sur les aspects conceptuels et techniques d’un système de monnaie numérique de banque centrale […]

Continue reading

2 mai 2024

IBM et AWS offrent aux clients français de nombreuses technologies IBM sur la marketplace d’AWS pour répondre aux enjeux d’hybride Cloud et d’IA

Dans un monde de plus en plus complexe, qui ne souhaite pas un peu de simplicité ? IBM et AWS permettent aux clients français d’acheter, de déployer et d’utiliser plus facilement les logiciels IBM achetés sur la marketplace d’AWS. Avec un portefeuille de 44 solutions IBM (dont 29 en mode SaaS) désormais disponibles et en […]

Continue reading