IBM et Microsoft amènent .NET au pouvoir, après tout

9 novembre 2022

Alex Woodie

Bien qu’il ait initialement nié l’existence d’un projet visant à amener le runtime Microsoft .NET sur Power, IBM a officiellement annoncé cette semaine que la version 7 de .NET fonctionnera sur Red Hat Enterprise Linux sur Power. La technologie devient disponible immédiatement, même le pilote de base de données sur la connexion. Les applications NET dans Db2 pour moi prendront plus de temps.

Au fil des ans, plusieurs tentatives ont été faites pour déraciner le runtime .NET de ses racines Windows et le replanter sur la plate-forme Power, y compris certaines ciblant le système d’exploitation IBM i. En 2011, un grand pas a été franchi avec le projet Mono, qui est une implémentation open source du .NET Framework de Microsoft ciblant diverses versions de Linux, MacOS, BSD et même des consoles de jeux.

En 2018, le développeur IBM i Calvin Buckley a terminé les travaux pour faire fonctionner le middleware Mono sur AIX, ce qui a permis à Mono de fonctionner sur IBM i via le runtime PASE AIX. Les efforts de Buckley, ainsi que l’aide des codeurs Microsoft .NET, ont contribué à réaliser le rêve de longue date d’avoir un environnement d’exécution .NET sur IBM i, a déclaré Jesse Gorzinski, architecte commercial senior d’IBM pour l’open source chez IBM i.

Cependant, cette implémentation .NET n’a jamais gagné du terrain dans la communauté IBM i, a déclaré Gorzinski.

“Nous n’avons jamais vraiment été adoptés par le marché pour un certain nombre de raisons”, a déclaré Gorzinski. Jungle informatique. « Je ne suis pas encore convaincu qu’il existe un marché important pour exécuter .NET sur IBM i. Mais je suis toujours prêt à étudier à nouveau.

L’une des principales raisons du manque d’adoption par le marché du port Mono sur l’IBM i – que Gorzinski qualifiait de “natif” même s’il fonctionnait sur PASE – était qu’il manquait tellement de pièces dans la pile .NET basée sur Mono à le temps.

“Il n’y a pas assez d’écosystème qui a été porté pour le rendre viable”, a déclaré Gorzinski. “Les applications obtiennent juste beaucoup de dépendances qui ne fonctionneront pas.”

Le manque de compatibilité technique étendue avec les langages et les temps d’exécution complexes, ainsi que le manque d’enthousiasme pour .NET dans la communauté IBM i, ont contribué à rendre le travail de Buckley inutile.

IBM s’attend à ce que l’intégration de .NET Core à RHEL sur Power apporte de nouvelles charges de travail à Power. (Image reproduite avec l’aimable autorisation d’IBM)

“Les personnes qui faisaient alors beaucoup de développement .NET n’étaient pas particulièrement ravies de pouvoir l’exécuter sur IBM i”, se souvient Gorzinski. « Imaginez que vous écriviez .NET sur votre PC Windows depuis 20 ans, et que quelqu’un arrive et vous dise : ‘Hé, vous pouvez maintenant l’exécuter sur un serveur que vous gérez depuis longtemps.’ Il n’y a pas beaucoup de motivation pour que les gens les déplacent, je ne pense pas.”

Cependant, IBM, Microsoft et les communautés open source s’y tiennent. Avec la sortie de .NET 6 il y a un an, un port de .NET fonctionnant sous Linux est devenu disponible sur le mainframe IBM System Z. Ce travail sur l’ordinateur central a incité un projet similaire à exécuter .NET sur Power, ce qui Jungle informatique rapporté en mars, grâce à un conseil de Torbjörn Appehl, un sous-traitant IBM basé en Suède et actif dans la communauté IBM i. Les dirigeants d’IBM ont versé de l’eau froide sur l’histoire et ont déclaré qu’il n’y avait pas un tel projet, mais il s’avère que c’était vrai depuis le début. (Une petite erreur que nous avons commise était que .NET ne s’exécute pas nécessairement dans un conteneur sur RHEL, ce que nous avons signalé pour la première fois. Jungle informatique Désolé pour l’erreur.)

Gorzinski et d’autres sont tous sur le nouveau port de .NET 7 sur RHEL Power pour une grande raison : le nouveau projet s’appuie sur le travail initial effectué par Mono et ajoute la prise en charge d’une plus grande partie de l’écosystème .NET, ce qui devrait permettre aux utilisateurs et projets pour mieux réussir.

Par exemple, en plus de la machine virtuelle et du JIT .NET Core Runtime basés sur Mono, la nouvelle distribution .NET 7 pour RHEL on Power inclut des bibliothèques de classes de base, ASP.NET Core, ainsi que la prise en charge des compilateurs C#, F# et VisualBasic. dans le kit de développement logiciel (SDK), qui comprend également des outils tels que msbuild et nuget. Pour plus de détails, consultez cet article de blog de Janani Janakiraman, architecte logiciel IBM et maître inventeur du laboratoire d’Austin, au Texas.

Permettre à une plus grande partie de l’écosystème .NET ouvert de s’exécuter sur Power est formidable pour le projet et les organisations qui souhaitent que .NET ait un avenir prospère avec Power, a déclaré Gorzinski.

“Lorsque vous regardez des projets open source et quels projets open source réussissent, je dis toujours le terme” écosystème “”, a-t-il déclaré. “Comme nous parlons des langages qui ont réussi sur IBM i, comme Node.JS, JavaScript et Python, ils n’ont pas réussi tant que l’écosystème n’était pas suffisamment fonctionnel pour réussir.”

Les clients utiliseront le nouveau runtime .NET 7 de différentes manières (il n’y a pas beaucoup de travail à faire sur les langages eux-mêmes, a déclaré Gorzinski). Certains utiliseront cette possibilité d’utiliser des tactiques de consolidation de serveur pour réduire les coûts de support. Ce spectre a été soulevé par les dirigeants de Microsoft dans un article de blog sur la version .NET 7 d’aujourd’hui.

“Grâce à la possibilité de s’exécuter désormais en mode natif sur Power, plus de 25 000 clients IBM Power peuvent intégrer des applications .NET existantes sur Windows x86 pour qu’elles s’exécutent sur la même plate-forme Power que leurs applications IBM i et AIX et leur base de données métier”, déclare Jon Douglas, Jeremy, employés de Microsoft. Likness, et Angelos Petropoulos ont écrit.

Les clients exécutant des charges de travail .NET sur X86 devront faire le calcul pour voir s’il est logique de les combiner avec Power, mais le nouveau développement .NET sur Power sera une option attrayante pour les développeurs existants ayant des compétences .NET, a déclaré Gorzinski.

“Ma supposition personnelle [is] Je m’attends à ce que nous assistions à davantage de développements sur ces systèmes Linux dans des langages basés sur .NET sur Power et peut-être sur X86 », a déclaré Gorzinski, citant l’étude IBM i Marketplace 2022 de HelpSystems (qui vient de changer de nom en Fortra ; voir une autre histoire dans cette édition de Les quatre routes), qui indique que 55 % des magasins IBM i ont Linux, dont 30 % à 35 % sous X86 et environ 20 % sous Power

Bien qu’il ne s’agisse pas d’un port natif, l’obtention d’applications .NET sur la plate-forme Power est une bonne première étape pour rapprocher les applications .NET des données IBM i. Gorzinski a cité des études montrant des taux élevés d’adoption de Windows dans les magasins IBM i et la popularité des pilotes de base de données qui connectent les applications .NET exécutées sous Windows à la base de données Db2 for i .

IBM continue de travailler sur l’amélioration du pilote ODBC qui permettra aux applications .NET s’exécutant sur RHEL on Power d’accéder directement à la base de données Db2 for i. Aucun mot pour le moment sur le délai de livraison de ce chauffeur, mais Gorzinski a assuré Jungle informatique que le travail se poursuivra et portera bientôt ses fruits.

« Je ne peux pas dire. . . entièrement certifié le nouveau runtime .NET 7 sur RHEL qui se connecte à Db2 for i, même si tous les éléments sont déjà là », a-t-il déclaré. « Nous avons une bonne part de développeurs .NET qui écrivent des applications IBM i, comme vous le savez probablement , et nous avons donc fait des choses pour améliorer la convivialité du pilote ODBC, les rendre plus faciles à installer, même dans les images de conteneur , et des choses comme ça. .”

IBM a également ajouté la prise en charge du chiffrement TLS au pilote ODBC, ce qui contribuera à garantir la sécurité des applications .NET accédant à la base de données Db2 for i. IBM effectue ce travail en réponse à la demande des clients.

“Une partie de la raison pour laquelle tout cela se produit est de permettre à des écosystèmes comme .NET qui veulent communiquer avec un système IBM i à partir de technologies adjacentes, que ce soit Linux on Power ou autre chose”, a déclaré Gorzinski. .

Red Hat fournit le packaging et la prise en charge de .NET 7 sur Power, selon Janakiraman. “Les packages RPM entièrement pris en charge et les images de conteneurs créés à partir de ces sources pour ppc64le sont fournis par Red Hat”, a-t-il écrit.

Plus de détails sur .NET for Power, y compris des instructions sur la façon de le télécharger et de l’installer, peuvent être trouvés ici.

HISTOIRES CONNEXES

Pas de plans pour amener .NET au pouvoir, déclare IBM

Le projet vise à porter le .NET Framework sur Power

Mono Port sur IBM i Maintenant disponible

La prise en charge native de .NET est-elle importante pour System i ?

Leave a Reply

Your email address will not be published. Required fields are marked *