
ASISA est la plus grande assurance santé d’Espagne, et a magnifiquement réussi sa transformation digitale. Cela a commencé par la modernisation de son infrastructure voici cinq ans en privilégiant Azure. Aujourd’hui, une partie de leurs applications mainframe a été déplacée vers Kubernetes pour un déploiement dans le cloud. Au tout début du processus, ils ont mis sur pied un environnement Kubernetes et adapté leurs pratiques DevOps pour permettre à leurs développeurs Java d’utiliser un environnement cloud native. Dans un premier temps, les applications mainframe les plus critiques sont restées sur le mainframe et l’entreprise a continué à faire face aux coûts de licences et de maintenance propres à cet environnement. L’objectif d’ASISA était de diminuer les coûts opérationnels (y inclus ceux du mainframe) et d’intégrer les équipes de développement COBOL et Java pour mieux conserver et transmettre la connaissance applicative. En favorisant cette intégration, ils ont gagné la liberté de choix et d’évolution pour leurs applications mainframe et utiliser les facilités de disponibilité et de montée en charge du cloud. ASISA a donc pu faire évoluer ses applications mainframe, les déployer dans un environnement cloud native grâce à Microsoft et Raincode.
Au lieu de réécrire ou traduire le code , ASISA a recompilé ses applications COBOL sans les modifier dans l’environnement .NET, grâce aux outils et compilateurs de RAINCODE. Ceci a permis à tous les développeurs d’utiliser le même environnement de développement, d’avoir une expérience uniformisée, et de valider leurs changements dans un repository Git centralisé en utilisant les facilités d’intégration continue et de déploiement continu (CI/ CD) offertes par Azure. Les développeurs utilisent Visual Studio Code pour l’ensemble de leurs applications. Ils ont commencé par migrer le code COBOL et le déployer en tant qu’applications containerisées sur Kubernetes tout en se connectant depuis Azure à la base de données DB2 restée sur le mainframe. Cela a permis aux équipes de développement de comparer les comportements puisque le même code s’exécutait indifféremment dans le cloud ou sur le mainframe et de s’assurer que la migration n’avait ainsi aucun effet sur la validité et l’intégrité des données.
L’automatisation des tests était d’une importance primordiale pour le succès du projet. Chaque requête du système legacy a été testée et enregistrée afin de s’assurer que le système déployé sous Kubernetes fournissait exactement le même résultat. Toutes les réponses ont pu être vérifiées par le biais d’une même interface applicative déployée sur le mainframe et dans l’environnement cloud native. Avant le début du projet, ASISA avait exposé les applications mainframes concernées sous la forme d’une interface REST. Ceci a permis aux développeurs d’émuler la même interface, les mêmes comportements avec le même contrat et le même schéma sur Azure. Des tests exhaustifs ont ainsi permis de démontrer un comportement applicatif rigoureusement identique sur le mainframe et sur Azure sans que le code source du mainframe, compilé pour le cloud, n’ait été modifié.