Historiquement, Docker a d’abord été une technologie Linux. Ce n’est que récemment, avec l’arrivée de Nano Server Windows 2016, que les containers ont été étendus aux applications sous Windows. Une nouvelle étape (mini) a été franchie, qui permet désormais de prendre en charge des applications mainframes sur z Systems IBM, mais avec une restriction de taille, à condition qu’elles soient exploitées sous Linux.

La toute nouvelle « release » 17.06 des containers Docker, qui porte sur les trois versions payantes de Docker Enterprise Edition, Basic, Standard et Advanced, est intéressante, puisqu’elle prévoit de porter la technologie Docker sur les applications mainframes IBM z Systems, opérées sous Linux.

Ce qui somme toute est relativement logique, dans la mesure où il n’y a pas de différences fondamentales entre les plates-formes Linux, qu’elles soient portées par des serveurs x86 ou RISC dédiés ou des mainframes, Linux assurant la relation avec les ressources physiques.

C’est évidemment une bonne nouvelle, mais finalement ne représente pas grand-chose, car peu d’utilisateurs, en dehors des applications scientifiques, ont réellement investi sur des environnements Linux mainframes.

Le « gros des troupes » n’est pas là.

Ce qui serait beaucoup plus utile serait de disposer d’une plate-forme de migration des environnements transactionnels Cobol CICS, qui représentent eux des milliards de transactions.

Progressivement, Docker s’insinue dans toutes les architectures. Il lui reste à s’attaquer au « gros des troupes », à l’immense réservoir d’applications transactionnelles Cobol…
Le Cloud transactionnel

Il ne faut pas oublier qu’il y a plus de 300 milliards de lignes de programmation Cobol qui « dorment » dans les mainframes ou ont été simplement recompilées pour fonctionner sous d’autres environnements, essentiellement Unix. On estime qu’il y a encore en 2017, plus de 20 milliards de transactions CICS Cobol qui s’exécutent chaque jour, essentiellement dans le monde des assurances et des banques. Des transactions qui concernent le cœur de métier de ces entreprises et qu’il faudrait considérer avec un peu plus de rigueur… Car on ne peut pas s’en passer…

La « dockerisation » des transactions CICS permettrait de résoudre trois problèmes délicats :

le « wrapping » d’un code existant, sans avoir à le réécrire, à condition que ce soit possible, pour le maintenir en vie un « certain » temps
la récupération de certaines transactions pour les transformer en services ou micro-services
le basculement dans le Cloud d’une partie du patrimoine applicatif

Il y a certes des initiatives qui vont dans ce sens, mais elles ne sont pas légion, ce qui prouve que Cobol est toujours considéré comme un vieux langage, bien que ce ne soit pas le cas. Et qu’il ne vaut pas la peine que l’on investisse dessus.

Quand une future release de Docker traitera directement de cette problématique, un pas très important sera accompli dans l’optique de la trop célèbre transformation digitale. Qui manifestement néglige le véritable patrimoine applicatif des entreprises et sous couvert de modernité ne s’intéresse qu’aux IoT, mobiles et Web. Erreur…

Après tout, Microsoft a bien écrit Nano Server. Serait-il totalement impensable d’imaginer une version allégée, un simple noyau, de z/OS et des OS précédents, capable d’héberger des images Docker Cobol CICS, sans avoir à réécrire le code. Voire de prévoir des mécanismes d’émulation, dont on sait bien qu’ils prennent la relève, quand on ne sait pas traiter le problème au fond…

RBAC reconnu

A côté de ce début d’évolution vers les mainframes, l’annonce de la prise en compte de l’architecture RBAC par Docker fait un peu pâle figure.

C’est en fait le système « Universal Control Pane » de Docker qui a été mis à jour en version 2.2 et prévoit la mise en conformité avec le modèle RBAC (Role Based Access Control) de gestion des accès aux applications, via les rôles. Le principe de RBAC étant que si deux utilisateurs ont le même rôle, ils ont les mêmes droits. L’objectif ici étant de de faire en sorte que Docker n’introduise pas de discontinuité dans la gestion des identités et des rôles, avec ce qui existe dans les entreprises.

Une autre amélioration portée par la release 17.06 concerne le « Docker Trusted Registry », monté en version 2.3, qui automatise encore plus les procédures de mise en place de Docker. Histoire de limiter au maximum les interventions humaines, susceptibles d’introduire des erreurs.