Raccourcis

La modernisation des applications .NET, qu'est-ce que c'est ?

Copier l'URL

.NET (anciennement .NET Core) est une plateforme Open Source pour le développement d'applications console et cloud multiplateformes qui s'exécutent sur Linux et Windows.

.NET se compose de trois plateformes, .NET Core, .NET Framework et Xamarin/Mono, qui permettent d'exécuter du code .NET sur divers systèmes d'exploitation. .NET Core, la version multiplateforme, fonctionne avec tout environnement Windows, Linux et macOS. .NET Framework est la version d'origine, qui prend en charge l'exécution des sites web, des applications de bureau, des services et autres applications sous Windows. Enfin, Xamarin/Mono, la version mobile de .NET, gère l'exécution des applications sur les principaux systèmes d'exploitation mobiles, notamment iOS et Android.

Avant que Microsoft n'adopte Linux comme plateforme principale, .NET était une plateforme propriétaire exclusivement destinée à Windows.

Les technologies de conteneurisation et Kubernetes se sont tellement développées qu'il est aujourd'hui possible de conteneuriser des applications .NET sur tout type de serveur. Les entreprises sont ainsi libres de choisir la stratégie de modernisation qui correspond à leurs besoins métier. Celle-ci varie en fonction du budget, du temps alloué et de la charge de travail concernée. Dans certaines situations, pour profiter pleinement des avantages de la modernisation, il est préférable de suivre une approche progressive afin de recueillir l'avis des utilisateurs et de justifier l'investissement.
Il existe trois stratégies de modernisation des applications .NET :

  1. Réhébergement (ou lift-and-shift) : cette stratégie consiste à déplacer une application sur site vers une infrastructure cloud, sans y apporter de modifications. Les applications sur site existantes sont migrées (ou réhébergées) vers une plateforme de type IaaS (Infrastructure-as-a-Service). Leurs composants ne changent quasiment pas, mais elles sont déployées sur des machines virtuelles dans le cloud. Les entreprises utilisent cette stratégie principalement pour migrer des applications volumineuses afin de répondre à un objectif métier spécifique, par exemple pour accélérer le lancement d'un produit ou abandonner un datacenter sur site.
  2. Changement de plateforme : il s'agit d'exécuter une application dans le cloud en utilisant des technologies modernes, telles que les conteneurs, et d'autres services gérés afin de l'optimiser pour le cloud, en ne modifiant que très légèrement le code. L'adoption de cette stratégie apporte des avantages supplémentaires. En effet, ce modèle de maturité permet de déployer des conteneurs sur une plateforme IaaS ou PaaS (Platform-as-a-Service) et d'utiliser également des services gérés dans le cloud pour les bases de données, la mise en cache, la surveillance et les pipelines d'intégration et de déploiement continus (CI/CD). En déplaçant une application .NET vers un conteneur Windows, vous pouvez profiter des technologies de conteneurisation sans toucher à l'architecture de base de l'application.
  3. Changement d'architecture : cette stratégie consiste à déplacer des applications vers des plateformes de type PaaS à l'aide de services PaaS. Grâce aux technologies de développement d'applications cloud-native et à l'architecture de microservices, il est possible de faire évoluer ces applications de manière agile en fonction de la demande. En général, cette approche de modernisation nécessite de réécrire le code, car l'architecture doit être pensée spécialement pour le cloud. Par contre, elle offre des avantages difficilement égalables dans un environnement d'applications sur site et monolithiques. Lorsqu'une application monolithique est décomposée en services plus petits, chaque service est déployé en tant que conteneur et remplit une fonction bien précise. Au final, cela permet de suivre une approche basée sur des microservices où tous les composants (.NET et Java) s'exécutent sur une plateforme compatible commune sur Red Hat Enterprise Linux et OpenShift Container Platform.

Si vos pratiques, outils et processus reposent actuellement sur la plateforme Windows Server, votre équipe devra sans doute aussi intégrer Linux, les conteneurs et Kubernetes. Il s'agit d'une perspective à la fois intéressante et effrayante, car elle implique des modifications qui affecteront probablement vos activités. 

Chez Red Hat, nous avons bien compris que le changement n'est pas toujours facile à gérer. Notre mission consiste à accompagner nos clients afin qu'ils puissent s'adapter à l'évolution des technologies, en adoptant des stratégies et des solutions qui répondent à leurs objectifs métier et en s'assurant que leurs équipes parviennent à gérer les nouveaux environnements, processus et technologies.

C'est pourquoi nous vous proposons les produits et les services dont vous avez besoin, notamment Microsoft Azure Red Hat OpenShift (ARO), pour mettre en œuvre la stratégie que vous aurez choisie en fonction des avantages dont vous souhaitez bénéficier et compte tenu des contraintes qui sont les vôtres.

Pour aller plus loin

Article

Tout savoir sur les opérateurs Red Hat OpenShift

Red Hat OpenShift Operators automate the creation, configuration, and management of instances of Kubernetes-native applications.

Article

Pourquoi choisir le service Red Hat OpenShift Serverless ?

Red Hat OpenShift Serverless étend les capacités de Kubernetes pour le déploiement et la gestion des charges de travail severless.

Article

Pourquoi choisir Red Hat OpenShift Service Mesh ?

Avec la solution Red Hat OpenShift Service Mesh, vous disposez d'un outil unique pour connecter, gérer et surveiller vos applications basées sur des microservices.

En savoir plus sur OpenShift

Produits

Une plateforme d'applications d'entreprise comprenant un ensemble unifié de services testés conçus pour distribuer des applications sur votre choix d'infrastructure.

Système de stockage logiciel qui héberge les données de façon permanente en parallèle de la mise en route et de l'arrêt des conteneurs et entre plusieurs environnements.

Solution de sécurisation des conteneurs native pour Kubernetes et adaptée aux entreprises, qui permet de créer, de déployer et d'exécuter des applications cloud-native de manière sécurisée.

Console unique pour le contrôle des clusters et applications Kubernetes, avec des politiques de sécurité intégrées.

Ressources

Formations

Cours gratuit

Présentation technique de l'exécution de conteneurs avec Red Hat

Cours gratuit

Développement d'applications cloud-native avec des architectures de microservices

Cours gratuit

Présentation technique du déploiement d'applications conteneurisées