Le mainframe reste le pivot de nombreux systèmes d’information pour des applications stratégiques : les deux tiers des applications critiques dans les entreprises françaises fonctionnent sur mainframe. Mais celui-ci doit aujourd’hui intégrer le Web et le cloud.
Historiquement présents dans de nombreuses entreprises, les environnements mainframe sont souvent perçus comme un fardeau plus ou moins pesant plutôt que comme des vecteurs d’innovation. Souffrants d’une image un peu vieillotte, ils sont jugés trop monolithiques ou figés, pour répondre aux nouveaux enjeux qui se profilent dans les entreprises, et se trouvent par là même dédaignés dans les projets et les investissements.
En réalité, ces plateformes occupent souvent un rôle stratégique dans l’activité des entreprises en faisant fonctionner des applications liées au cœur de métier. Ainsi, selon une étude du cabinet IDC France publiée début 2014, 65 % des applications critiques sont supportées par un environnement mainframe, et celui-ci porte 13 % du PIB français, soit l’équivalent de 240 milliards d’euros. De leur côté, les analystes de Gartner ont observé que le mainframe est présent dans les vingt-cinq premières banques au niveau mondial et chez neuf des dix premiers assureurs.
À cela s’ajoute un potentiel qui ne cesse de se développer, porté par la stratégie de grands constructeurs comme IBM. Celui-ci a choisi en effet d’abandonner ses gammes x86 pour se recentrer sur les séries Z, avec lesquelles il peut adresser une grande diversité d’environnements et d’applications : z/OS, les environnements virtualisés avec ELS et z/VM, le monde Linux, le monde Java (zAAP), certains traitements pour DB2 ou encore des traitements mémoire optimisés (zIIP)…
1. Présentation de la Best Practice
De par sa polyvalence accrue, le mainframe apparaît comme une plateforme de choix pour répondre aux enjeux actuels autour des systèmes d’information : massification des accès accentuée par les Web services, la mobilité et le cloud, attentes fortes sur les performances, virtualisation, optimisation de la consommation énergétique, sécurité et fiabilité… Son haut niveau de parallélisme le rend ainsi bien adapté aux applications nécessitant des performances à la fois élevées et « scalables », c’est-à-dire capables d’assurer le même service quelle que soit la charge. C’est la différence majeure entre les serveurs répartis et les architectures z/OS. En effet, par construction, les serveurs répartis sont très vite saturés, d’où la nécessité de les dédier par application (donc de les multiplier). Pour sa part, l’architecture z/OS est conçue pour absorber les pics de charge sans saturer la mémoire.
Cette distinction fondamentale positionne donc naturellement le mainframe comme acteur crédible pour faire face à l’essor de la mobilité et du cloud. C’est d’ailleurs la raison essentielle qui a amené IBM à se désengager des anciennes architectures x86 pour se concentrer sur les machines Z avec un focus particulier sur son offre ELS (Enterprise Linux System). IBM optimise ainsi à la fois ses coûts R&D et de production, tout en proposant une solution évolutive à ses clients. Au final, dans bien des cas, le mainframe se montre donc compétitif par rapport aux environnements distribués en termes de ratio coût/puissance ou performance/consommation énergétique.
Ces nouvelles opportunités entraînent cependant un certain nombre de changements, qui impliquent de repenser la place du mainframe dans le système d’information. En effet, il ne s’agit plus seulement d’y faire fonctionner des applications métier lourdes auxquelles les utilisateurs accèdent à travers des « tuyaux » dédiés comme les terminaux 3270. Avec les technologies Web et mobiles, le mainframe s’ouvre à l’extérieur de l’entreprise. Le volume de transactions augmente et la complexité des chaînes applicatives se renforce, induisant de nouveaux enjeux en termes de maintenance, de performance, de développement ou d’accessibilité.
Pour exploiter au mieux la polyvalence du mainframe et tirer le meilleur parti de ces opportunités, il faut donc non seulement le sortir de l’enclave dans laquelle il a trop souvent été confiné, mais aussi être à même de répondre aux nouveaux enjeux posés par son ouverture, donc de pouvoir faire dialoguer le mainframe avec l’extérieur.
2. Regard critique
Les entreprises ont parfois cherché à se débarrasser de leur mainframe, poussées par différents facteurs, comme l’obsolescence des compétences ou une évolutivité qui leur semblait insuffisante. Face à ces difficultés apparentes, plusieurs voies ont été explorées pour tenter d’en sortir ou composer avec la plateforme existante, faute de mieux.
L’expérience a montré que les solutions de migration ou de redéveloppement n’étaient pas sans risques et, comme depuis quelques années IBM a su faire évoluer sa plateforme mainframe pour la rendre plus interactive, évolutive et compétitive, elle suscite aujourd’hui un regain d’intérêt. L’abandon du mainframe n’est plus forcément à l’ordre du jour et les entreprises cherchent à lui redonner une place à part entière dans leurs infrastructures applicatives.
Ainsi, plutôt qu’envisager une refonte lourde et coûteuse, dont on ne voit pas vraiment la valeur, pourquoi ne pas continuer de valoriser l’investissement fait dans ces systèmes en les modernisant et en les enrichissant ? L’objectif est de s’appuyer les applications existantes, de les faire dialoguer avec les autres technologies, favorisant ainsi la réactivité et l’agilité pour répondre au mieux aux nouveaux enjeux métiers.
Contrairement aux idées reçues, le mainframe est à même de dialoguer avec les environnements ouverts et de manière plus souple, plus moderne que certains de ces environnements entre eux. Les technologies du Web fournissent, en effet, un ensemble de protocoles et de langages ouverts qui peuvent être utilisés pour instaurer une communication bidirectionnelle avec les applications mainframe, comme HTML, Javascript, http ou encore XML.
Certains logiciels s’appuient précisément sur cet « esperanto » du Web afin de moderniser et d’ouvrir les applications legacy (CICS, IMS, TSO, Natural…). Ces solutions middleware sont basées sur des serveurs http et s’installent directement sur le mainframe. Elles présentent plusieurs atouts :
- Elles reposent sur des protocoles et des formats universels, qui peuvent être interprétés par tout type de client Web, quel que soit le navigateur, le système d’exploitation et le terminal ciblé (smartphones, tablettes…).
- Elles permettent de s’appuyer sur les technologies de développement qui sont aujourd’hui privilégiées pour créer de nouveaux services : Ajax, JavaScript, architectures REST, HTML, services Web…
- lles fournissent une passerelle entre le monde du mainframe, conçu pour fonctionner nativement en mode synchrone, et celui du Web qui privilégie le mode asynchrone.
- Elles supportent une communication bidirectionnelle (services Web entrants et sortants) entre le mainframe et les environnements distribués.
- Elles mettent en œuvre une architecture avec plusieurs niveaux de rupture de protocole, offrant un meilleur niveau de sécurité que des environnements reposant sur TCP IP de bout en bout. En outre, l’envoi des données est contrôlé à la source, et non après qu’elles aient été véhiculées sur le réseau.
- Elles ne nécessitent aucune installation côté client, ce qui accélère le déploiement et simplifie la maintenance.
Ces dernières années, la modernisation du mainframe s’est souvent limitée à figer les applications en y accédant à travers des solutions d’émulation client/serveur. Dans ce type de solution, la communication reste à sens unique : les applications externes se contentent d’appeler celles situées sur le mainframe à travers des services Web entrants. Cependant, la tendance actuelle à la relocalisation d’applications sur le mainframe augmente la nécessité de gérer des Web services sortants.
Cette évolution des environnements mainframe doit inciter les DSI à réexaminer les critères qui les ont conduits au choix de telle ou telle stratégie :
Standardisation : s’agit-il de standardiser pour diminuer la complexité du système d’information et assurer la pérennité des applications ?
Risque RH : l’entreprise souhaite-t-elle réduire le risque lié aux ressources humaines avec le départ en retraite des experts mainframe ?
TCO : cherche-t-elle à optimiser le coût total de possession (TCO) de ses plateformes en facilitant le déploiement et la maintenance ?
Ergonomie/performances : la priorité est-elle de répondre aux attentes des utilisateurs en améliorant l’ergonomie et/ou les performances des applications ?
Évolutivité : envisage-t-elle, à court ou moyen terme, de mettre en place de nouveaux services ou de supporter de nouveaux usages, comme la mobilité ?
Risque projet : en fonction de l’option choisie, quels sont les risques en termes de maîtrise des délais, des coûts et de capacité à reprendre l’existant ?
Face à ces enjeux, les différentes réponses possibles s’avèrent inégales. Par ailleurs, elles ne sont pas non plus équivalentes en termes de faisabilité, de coût et de délais.
3. Que faire ? Quelques pistes de solutions
Scénario 1 : le replâtrage (réécrire les applications)
Les avantages dépendent fortement du choix de la plateforme cible, tant au niveau de la pérennité que de la facilité à trouver des compétences. Ce choix conditionne également le TCO qui peut être espéré à l’issue du projet. La réécriture sur une plateforme plus récente permet de pallier le départ des compétences, à condition de s’y prendre suffisamment tôt. La pyramide des âges pour les compétences en environnement mainframe est plutôt défavorable, il convient de l’anticiper.
La réécriture des applications peut également être un moyen de réduire la complexité, par une simplification des fonctionnalités et des interfaces applicatives, à condition de l’évaluer et d’en mesurer soigneusement l’impact sur les architectures, les applications tierces et les utilisateurs. Par ailleurs, une telle approche permet de mieux satisfaire ces derniers, en travaillant sur une ergonomie plus proche de celle dont ils ont l’expérience dans l’entreprise ou en dehors.
Cependant, si la réécriture est manuelle, elle nécessite du temps et des ressources. Si elle est automatisée, que ce soit totalement ou en partie, quelles sont les garanties pour l’entreprise de se retrouver à iso-périmètre ? Dans les deux cas, le choix de la plateforme cible n’est pas d’emblée évident et, en cas d’erreur, le problème des compétences peut se poser à nouveau plus rapidement que prévu. Enfin, le coût de ce type de solution est directement proportionnel à la taille des applications concernées (nombre de lignes de code).
Scénario 2 : la mise au rebut (remplacer par un progiciel)
Ce choix n’est envisageable que pour des applications relativement standard. Plus les applications vont vers le métier, plus des développements spécifiques risquent d’être nécessaires, augmentant d’autant la complexité et le TCO. Le choix d’un progiciel permet de bénéficier de l’expérience du marché et de standardiser les processus. On réduit ainsi la dépendance aux compétences internes dans la mesure où l’écosystème autour des progiciels standards du marché est relativement étoffé. Par ailleurs, les utilisateurs vont gagner en ergonomie, en alignement par rapport à leurs besoins et en simplicité d’usage, à condition, bien sûr, que le choix du progiciel soit pertinent par rapport au contexte.
Si ce choix est facile, lorsqu’il s’agit de fonctions courantes comme le reporting, il n’existe pas toujours de progiciel équivalent quand il s’agit d’applications cœur de métier. La mise en place d’un progiciel est un projet qui nécessite du temps et s’accompagne des aléas liés à la gestion d’un projet stratégique. Ce choix peut être coûteux, surtout si le périmètre concerné est important ou stratégique. Enfin, il induit une dépendance de l’entreprise face à l’éditeur, ce qui peut freiner d’éventuelles évolutions.
Scénario 3 : le statu quo (moderniser en figeant les applications)
Les solutions d’émulation permettent d’étendre rapidement l’accès aux transactions mainframe. D’autres solutions, dites de « webisation », permettent également d’améliorer l’ergonomie des interfaces par une conversion des protocoles entre les applications mainframe et le Web. Cette approche présente également l’avantage de minimiser les risques projets et d’agir rapidement.
Cependant, ces solutions, notamment l’émulation, se contentent de figer les applications hébergées sur le mainframe et ne permettent pas de leur ajouter de la valeur. Limiter les échanges à des services Web entrants va en effet à contre-courant des nouveaux usages, qui imposent d’être agile, ouvert et communicant. Par ailleurs, le développement de la mobilité et du cloud a pour conséquence d’augmenter le nombre d’utilisateurs des applications mainframe, suscitant, dans le même temps, des exigences de performance face auxquelles les solutions d’émulation classiques s’avèrent souvent insuffisantes.
Ces choix permettent d’améliorer rapidement l’accès ou l’ergonomie des applications, mais ils ferment la porte aux évolutions ultérieures et ne permettent pas d’exploiter les nouvelles possibilités du mainframe.
Scénario 4 : l’ouverture (faire dialoguer le mainframe)
Ouvrir le mainframe grâce à des services Web entrants et sortants permet de capitaliser sur un existant généralement robuste et éprouvé, en le mettant à la portée aussi bien des utilisateurs que des développeurs. Les nouvelles générations de développeurs, familiers des technologies du Web, peuvent utiliser ces dernières pour étendre les possibilités des applications sans avoir besoin de compétences mainframe, limitant par là-même le risque lié à la disponibilité des compétences.
De leur côté, les utilisateurs bénéficient de nouveaux services, d’interfaces plus modernes et d’un accès facilité aux applications avec lesquelles ils ont l’habitude de travailler. Les performances de celles-ci se trouvent améliorées, avec des coûts de projets contrôlés et des délais maîtrisés.
En passant d’une modernisation figée à ce type de solution, c’est-à-dire à la mise en place d’un véritable dialogue entre le Web et le mainframe, permettant ainsi d’intégrer ce dernier aux environnements distribués, les entreprises peuvent espérer plusieurs niveaux de bénéfices, que ce soit pour les utilisateurs métier ou pour la DSI.
Les trois principaux bénéfices pour les métiers
~ Une valorisation du patrimoine applicatif existant
Pour les métiers, le premier bénéfice d’une approche de modernisation est la valorisation du patrimoine applicatif existant. L’entreprise peut ainsi conserver ses applications stratégiques sur une plateforme fiable et sécurisée, préserver leurs performances tout en améliorant leur ergonomie et en les adaptant aux nouveaux usages.
Les investissements historiquement réalisés pour les environnements mainframe sont le plus souvent largement amortis et ont démontré leur adaptation aux usages métiers. D’ailleurs, les entreprises continuent à investir : selon l’étude IDC, 30 % des budgets informatiques externes des entreprises françaises sont dédiés aux mainframe.
Cette valorisation présente plusieurs avantages : une minimisation des risques de migration technologique majeure et de ceux liés à la gestion de projet, la réduction du « Time-to-market », surtout pour les applications stratégiques, ainsi qu’une optimisation des coûts et de la performance opérationnelle.
~ Une amélioration de l’accessibilité
Grâce à l’usage de technologies Web à la fois standards et ouvertes, les entreprises ont l’opportunité, non seulement de moderniser leurs applications, mais aussi d’en étendre et d’en faciliter l’accès, sans pour autant les modifier en profondeur. Tous les terminaux équipés d’un navigateur peuvent, dès lors, consulter les applications mainframe, en local, à distance, voire sous forme d’un service cloud. La modification de l’habillage des pages ne nécessite pas de compétences spécifiques mêlant Web et mainframe, dans la mesure où seul le code HTML est concerné.
Les utilisateurs nomades accèdent à celles-ci depuis leurs smartphones, tablettes ou ordinateurs portables, et la prise en compte des technologies RWD (Responsive Web Design) permet à l’interface de s’ajuster automatiquement aux différentes tailles d’écran. Ces accessibilité et simplicité des interfaces sont de plus en plus demandées par les utilisateurs, inspirés par leurs expériences clients en matière de e-commerce ou leurs usages d’applications dans le cloud. La politique de type BYOD (Bring your own device) renforce ces exigences, même pour les utilisateurs qui ne sont pas nomades.
~ La possibilité de déployer de nouveaux services
Le troisième niveau de bénéfices, non des moindres en terme de valeur, réside dans la possibilité de développer de nouveaux services et d’étendre les fonctionnalités des applications mainframe, notamment grâce aux appels sortants. De nombreuses entreprises possèdent, par exemple, des applications mainframe qui gèrent des comptes client. Pour celles-ci, il peut être intéressant d’échanger avec les outils CRM, le plus souvent des progiciels ou des applications SaaS, afin de mettre à jour et de partager leurs données.
Un autre cas fréquent est la mise à disposition d’applications et de services autrefois réservés à un usage interne aux clients et partenaires, à travers des portails et applications mobiles. Il peut s’agir, par exemple, d’applications de prise de commande, de suivi de dossiers, de consultation de comptes ou de stocks, de mise à jour de données par l’utilisateur ou le client, de traçabilité, de services d’alertes…
Les trois principaux bénéfices pour la DSI
~ Une mise en œuvre simplifiée, permettant un faible TCO
Pour la DSI, le premier bénéfice obtenu par la modernisation d’un environnement mainframe est un gain de temps, dès la mise en œuvre. Celui-ci peut même être considérable par rapport à d’autres types de projets. Nul besoin de réécriture, de longs développements, ni de phases de paramétrage avant de pouvoir démarrer.
Concernant le déploiement de ce type de solutions de modernisation, une fois installée sur le mainframe il n’y a rien à déployer sur les postes de travail, ce qui est un gain de temps considérable et qui réduit d’autant les coûts de mise en œuvre. De la même façon, ces solutions ne sont pas impactées par les mises à jour des systèmes d’exploitation et des navigateurs, ce qui évite d’avoir à les tester et à les homologuer à chaque évolution du poste de travail. Tous ces éléments de simplification contribuent à réduire le coût total de possession (TCO) de l’ensemble de la chaîne applicative, à la fois côté mainframe et côté client.
~ Une gestion centralisée et sécurisée
En évitant toute installation en dehors du mainframe, que ce soit sur les postes clients ou sur des serveurs intermédiaires, cela allège nettement la charge liée à la mise en œuvre, mais aussi de l’exploitation et de la maintenance, dont on sait que le poids dans les budgets informatiques est relativement élevé, souvent supérieur à 25 %. Cette centralisation sur le mainframe permet également de bénéficier de l’environnement sécurisé du site central et évite l’éparpillement des données sur des serveurs déportés ou des postes clients.
Du fait de la stabilité des plateformes mainframe et de leur maturité, les équipes de la DSI, ou des partenaires hébergeurs, peuvent ainsi se concentrer sur des tâches à plus haute valeur ajoutée pour leurs clients. Cette même simplification contribue également à réduire le coût total de possession (TCO) de l’ensemble de la chaîne applicative, à la fois côté mainframe et côté client.
~ Une réutilisation des composants applicatifs
Pour favoriser l’évolutivité, il faut permettre la réutilisation des composants applicatifs et leur intégration dans de nouveaux services. Une architecture ouverte et simple facilite cette réutilisation. Si elle repose sur des formats et des protocoles universels, une telle approche aide également à réduire la complexité du système d’information et à homogénéiser flux et processus, deux facteurs favorisant l’agilité. Enfin, le respect des principes de l’urbanisation évite toute adhérence entre les différentes couches techniques.