Conteneurisation d’applications ASP.NET et leur migration vers Azure Kubernetes Service

Cet article explique comment conteneuriser des applications ASP.NET et les migrer vers Azure Kubernetes Service (AKS) à l’aide de l’outil Conteneurisation d’applications d’Azure Migrate. Le processus de conteneurisation ne requiert pas d’accès à votre codebase et constitue un moyen simple de conteneuriser des applications existantes. L’outil fonctionne en utilisant l’état en cours d’exécution des applications sur un serveur pour déterminer les composants d’application, et vous aide à les empaqueter dans une image conteneur. Vous pouvez ensuite déployer l’application conteneurisée sur Azure Kubernetes service (AKS).

L’outil Azure Migrate : Conteneurisation d’applications prend actuellement en charge les opérations suivantes :

  • Conteneurisation d’applications ASP.NET et déploiement de celles-ci vers des conteneurs Windows sur Azure Kubernetes Service.
  • Conteneurisation d’applications ASP.NET et déploiement de celles-ci sur des conteneurs Windows sur Azure App Service. Plus d’informations
  • Conteneuriser des applications web Java sur Apache Tomcat (sur serveurs Linux) et les déployer sur des conteneurs Linux sur AKS Plus d’informations
  • Conteneuriser des applications web Java sur Apache Tomcat (sur serveurs Linux) et les déployer sur des conteneurs Linux sur App Service Plus d’informations

L’outil Azure Migrate : Conteneurisation d’applications vous aide à effectuer les opérations suivantes :

  • Découvrir votre application : l’outil se connecte à distance aux serveurs d’applications exécutant votre application ASP.Net et découvre les composants d’application. L’outil crée un fichier Dockerfile utilisable pour créer une image conteneur pour l’application.
  • Créer l’image conteneur : vous pouvez inspecter et personnaliser le fichier Dockerfile en fonction des besoins de votre application, et l’utiliser pour créer votre image conteneur d’application. L’image conteneur d’application est envoyée (push) à un Azure Container Registry que vous spécifiez.
  • Déployer sur Azure Kubernetes Service : l’outil génère alors les fichiers YAML de définition de ressource Kubernetes nécessaires pour déployer l’application conteneurisée sur votre cluster Azure Kubernetes Service. Vous pouvez personnaliser les fichiers YAML et les utiliser pour déployer l’application sur AKS.

Notes

L’outil Conteneurisation d’applications d’Azure Migrate vous aide à découvrir des types d’applications spécifiques (ASP.NET et applications web Java sur Apache Tomcat) et leurs composants sur un serveur d’applications. Pour découvrir les serveurs et l’inventaire des applications, rôles et fonctionnalités s’exécutant sur des machines locaux, utilisez la fonctionnalité Découverte et évaluation d’Azure Migrate. En savoir plus

Si toutes les applications ne tirent pas bénéfice d’un déplacement direct vers des conteneurs sans une réarchitecture conséquente, le déplacement d’applications existantes vers des conteneurs sans réécriture présente les avantages suivants :

  • Amélioration de l’utilisation de l’infrastructure : avec des conteneurs, plusieurs applications peuvent partager des ressources et être hébergées sur la même infrastructure. Cela peut vous aider à consolider l’infrastructure et à améliorer l’utilisation.
  • Gestion simplifiée : en hébergeant vos applications sur une plateforme managée moderne comme AKS ou App Service, vous pouvez simplifier vos pratiques de gestion. Pour ce faire, vous pouvez supprimer ou réduire les processus de maintenance et de gestion de l’infrastructure que vous suivriez traditionnellement avec l’infrastructure dont vous disposez.
  • Portabilité des applications : avec une adoption et une normalisation accrues des formats de spécification de conteneur et des plateformes, la portabilité des applications n’est plus une préoccupation.
  • Adoption d’une gestion moderne avec le DevOps : vous aide à adopter et à normaliser des pratiques modernes pour la gestion et la sécurité ainsi que la transition vers le DevOps.

Ce didacticiel vous montre comment effectuer les opérations suivantes :

  • Configurer un compte Azure
  • Installer l’outil Conteneurisation d’applications d’Azure Migrate.
  • Découvrir votre application ASP .NET.
  • Générez l’image de conteneur.
  • Déployer l’application conteneurisée sur AKS.

Notes

Les tutoriels vous montrent le chemin de déploiement le plus simple pour un scénario donné afin que vous puissiez configurer rapidement une preuve de concept. Ils utilisent des options par défaut, le cas échéant, et ne montrent pas tous les paramètres et chemins possibles.

Prérequis

Avant de commencer ce didacticiel, vous devez :

Prérequis Détails
Identifier une machine pour installer l’outil Il s’agit de trouver une machine Windows pour installer et exécuter l’outil Conteneurisation d’applications d’Azure Migrate. La machine Windows peut être un serveur (Windows Server 2016 ou version ultérieure) ou un système d’exploitation client (Windows 10), ce qui signifie que l’outil peut également s’exécuter sur votre ordinateur de bureau.

La machine Windows exécutant l’outil doit disposer d’une connectivité réseau aux serveurs/machines virtuelles hébergeant les applications ASP.NET à conteneuriser.

Assurez-vous qu’un espace de 6 Go est disponible sur la machine Windows exécutant l’outil Conteneurisation d’applications d’Azure Migrate pour le stockage des artefacts d’application.

La machine Windows doit avoir accès à Internet, directement ou via un proxy.

Installez l’outil Microsoft Web Deploy sur la machine exécutant l’outil d’assistance Conteneurisation d’applications et le serveur d’applications s’il n’est pas déjà installé. Vous pouvez télécharger l’outil ici.
Serveurs d’applications Activez la communication à distance PowerShell sur les serveurs d’applications : connectez-vous au serveur d’applications et suivez les instructions d’activation de la communication à distance PowerShell.

Vérifiez l’installation de PowerShell 5.1 sur le serveur d’applications. Suivez les instructions dans Installer et configurer WMF 5.1 pour télécharger et installer PowerShell 5.1 sur le serveur d'applications.

Installez l’outil Microsoft Web Deploy sur la machine exécutant l’outil d’assistance Conteneurisation d’applications et le serveur d’applications s’il n’est pas déjà installé. Vous pouvez télécharger l’outil ici.
Application ASP.NET Actuellement, l’outil prend en charge :
- applications ASP.NET utilisant Microsoft .NET Framework 3.5 ou version ultérieure ;
- Serveurs d’applications exécutant Windows Server 2012 R2 ou version ultérieure (les serveurs d’applications doivent exécuter PowerShell 5 1).
- applications s’exécutant sur Internet Information Services (IIS) 7.5 ou version ultérieure.

Actuellement, l’outil ne prend pas en charge :
- Applications nécessitant l’authentification Windows (l’outil de conteneurisation d’applications ne prend actuellement pas en charge gMSA).
- applications qui dépendent d’autres services Windows hébergés en dehors d’IIS.

Préparer un compte de stockage Azure

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Une fois votre abonnement configuré, vous avez besoin d’un compte d’utilisateur Azure disposant des autorisations suivantes :

  • Autorisations de type Propriétaire sur l’abonnement Azure
  • Autorisations d’inscription des applications Microsoft Entra.

Si vous venez de créer un compte Azure gratuit, vous êtes le propriétaire de votre abonnement. Si vous n’êtes pas le propriétaire de l’abonnement, demandez à celui-ci de vous attribuer les autorisations de la façon suivante :

  1. Dans le portail Azure, recherchez « abonnements », puis sous Services, sélectionnez Abonnements.

    Screenshot of search box to search for the Azure subscription.

  2. Dans la page Abonnements, sélectionnez l’abonnement dans lequel vous souhaitez créer un projet Azure Migrate.

  3. Sélectionnez Contrôle d’accès (IAM) .

  4. Sélectionnez Ajouter>Ajouter une attribution de rôle pour ouvrir la page Ajouter une attribution de rôle.

  5. Attribuez le rôle suivant. Pour connaître la procédure détaillée, consultez Attribution de rôles Azure à l’aide du Portail Azure.

    Paramètre Valeur
    Role Propriétaire
    Attribuer l’accès à Utilisateur
    Membres azmigrateuser (dans cet exemple)

    Screenshot of add role assignment page in Azure portal.

  6. Votre compte Azure a également besoin d’autorisations pour inscrire des applications Microsoft Entra.

  7. Dans le portail Azure, accédez à Microsoft Entra ID>Utilisateurs>Paramètres utilisateur.

  8. Dans Paramètres utilisateur, vérifiez que les utilisateurs Microsoft Entra peuvent inscrire des applications (défini sur Oui par défaut).

    Screenshot of verification in User Settings if users can register Active Directory apps.

  9. Si les paramètres « Inscriptions d’applications » ont la valeur « Non », demandez au locataire ou à l’administrateur général d’affecter l’autorisation nécessaire. L’administrateur général/le locataire peuvent également attribuer le rôle Développeur d’applications à un compte pour permettre l’inscription d’une application Microsoft Entra. Plus d’informations

Télécharger et installer l’outil Conteneurisation d’applications d’Azure Migrate

  1. Téléchargez le programme d’installation de l’outil Conteneurisation d’applications d’Azure Migrate sur une machine Windows.

  2. Lancez PowerShell en mode administrateur et remplacez le répertoire PowerShell par le dossier contenant le programme d’installation.

  3. Exécutez le script d’installation à l’aide de la commande ci-dessous :

    .\AppContainerizationInstaller.ps1
    

Remarque

Pour Windows Server 2022, modifiez la ligne 135 et supprimez PowerShell-ISE de la liste des fonctionnalités, car il n’est plus prise en charge.

Lancer l’outil Conteneurisation d’applications

  1. Ouvrez un navigateur sur une machine capable de se connecter à la machine Windows exécutant l’outil Conteneurisation d’applications, puis ouvrez l’URL de l’outil : https://nom de machine ou adresse IP: 44369.

    Vous pouvez aussi ouvrir l’application à partir de l’ordinateur de bureau en sélectionnant le raccourci de l’application.

  2. Si vous voyez un avertissement indiquant que votre connexion n'est pas privée, sélectionnez Avancé et choisissez d'accéder au site Web. Cet avertissement s’affiche lorsque l’interface web utilise un certificat TLS/SSL auto-signé.

  3. Dans l’écran Connexion, utilisez le compte d’administrateur local sur la machine pour vous connecter.

  4. Sélectionnez Applications web ASP.NET comme type d’application à conteneuriser.

  5. Pour spécifier le service Azure cible, sélectionnez Conteneurs sur Azure Kubernetes Service.

    Screenshot of default load-up for App Containerization tool.

Répondre aux prérequis de l’outil

  1. Acceptez les termes du contrat de licence et lisez les informations relatives aux tiers.
  2. Dans l’application web de l’outil >Configurer les prérequis, effectuez les étapes suivantes :
    • Connectivité : l’outil vérifie que la machine Windows a accès à Internet. Si la machine utilise un proxy :
      • Sélectionnez Configurer le proxy pour spécifier l’adresse du proxy (sous la forme Adresse IP ou FQDN) et le port d’écoute.
      • Spécifiez les informations d’identification si le proxy nécessite une authentification.
      • Seuls les proxys HTTP sont pris en charge.
      • Si vous avez ajouté les détails du proxy ou désactivé le proxy et/ou l’authentification, sélectionnez Enregistrer pour relancer la vérification de la connectivité.
    • Installer les mises à jour : l’outil recherche automatiquement les dernières mises à jour et les installe. Vous pouvez également installer manuellement la dernière version de l’outil à partir d’ici.
    • Installer l’outil Microsoft Web Deploy: l’outil vérifie que l’outil Microsoft Web Deploy est installé sur la machine Windows exécutant l’outil Conteneurisation d’applications d’Azure Migrate.
    • Activer la communication à distance PowerShell : l’outil vous invite à vous assurer que la communication à distance PowerShell est activée sur les serveurs d’applications exécutant les applications ASP.NET à conteneuriser.

Connexion à Azure

  1. Sélectionnez Se connecter pour vous connecter à votre compte Azure.

  2. Vous aurez besoin d’un code d’appareil pour vous authentifier auprès d’Azure. Sélectionner Se connecter a pour effet d’ouvrir une boîte de dialogue modale affichant le code de l’appareil.

  3. Sélectionnez Copier le code et connectez-vous pour copier le code de l’appareil et ouvrir une invite de connexion Azure dans un nouvel onglet du navigateur. Si la fenêtre ne s’affiche pas, vérifiez que vous avez désactivé le bloqueur de fenêtres publicitaires dans le navigateur.

    Screenshot of modal showing device code.

  4. Sous le nouvel onglet, collez le code de l’appareil, puis connectez-vous en utilisant vos informations d’identification Azure. Une fois connecté, vous pouvez fermer l’onglet du navigateur et revenir à l’écran de l’outil Conteneurisation d’applications.

  5. Sélectionnez le locataire Azure que vous souhaitez utiliser.

  6. Spécifiez l’Abonnement Azure que vous souhaitez utiliser.

Découvrir les applications ASP.NET

L’outil d’assistance Conteneurisation d’applications se connecte à distance aux serveurs d’applications à l’aide des informations d’identification fournies, et tente de découvrir les applications ASP.NET hébergées sur les serveurs d’applications.

  1. Spécifiez l’adresse IP ou le FQDN et les informations d’identification du serveur exécutant l’application ASP.NET à utiliser pour se connecter à distance au serveur pour la découverte d’applications.

    • Les informations d’identification fournies doivent celles d’un administrateur local (Windows) sur le serveur d’applications.
    • Pour les comptes de domaine (l’utilisateur doit être un administrateur sur le serveur d’applications), préfixez le nom d’utilisateur avec le nom de domaine au format <domaine\nom_utilisateur>.
    • Vous pouvez exécuter une découverte d’applications pour cinq serveurs à la fois.
  2. Sélectionnez Valider pour vérifier que le serveur d’applications est accessible à partir de la machine exécutant l’outil et que les informations d’identification sont valides. Une fois la validation réussie, la colonne d’état indique l’état Mappé.

    Screenshot for server IP and credentials.

  3. Sélectionnez Continuer pour démarrer la découverte d’applications sur les serveurs d’applications sélectionnés.

  4. Une fois la découverte d’applications terminée, vous pouvez sélectionner la liste d’applications à conteneuriser.

    Screenshot for discovered ASP.NET application.

  5. Utilisez la case à cocher pour sélectionner les applications à conteneuriser.

  6. Spécifier le nom du conteneur : spécifiez un nom pour le conteneur cible pour chaque application sélectionnée. Vous devez spécifier le nom du conteneur sous la forme <name:tag> où l’étiquette est utilisée pour l’image conteneur. Par exemple, vous pouvez spécifier le nom du conteneur cible comme nom_app:v1.

Paramétrer les configurations de l’application

Paramétrer la configuration a pour effet de rendre celle-ci disponible en tant que paramètre d’heure de déploiement. Vous pouvez ainsi configurer ce paramètre lors du déploiement de l’application, par opposition au codage en dur d’une valeur spécifique dans l’image conteneur. Par exemple, cette option est utile pour des paramètres tels que des chaînes de connexion de base de données.

  1. Sélectionnez Configurations de l’application pour passer en revue les configurations détectées.

  2. Activez la case à cocher pour paramétrer les configurations de l’application détectées.

  3. Sélectionnez Appliquer après avoir sélectionné les configurations à paramétrer.

    Screenshot for app configuration parameterization ASP.NET application.

Externaliser les dépendances du système de fichiers

Vous pouvez ajouter d’autres dossiers que votre application utilise. Spécifiez s’ils doivent faire partie de l’image conteneur ou s’ils doivent être externalisés via des volumes persistants sur un partage de fichiers Azure. L’utilisation de volumes persistants fonctionne parfaitement pour des applications avec état qui stockent l’état en dehors du conteneur ou ont un autre contenu statique stocké sur le système de fichiers. Plus d’informations

  1. Sélectionnez Modifier sous Dossiers d’application pour passer en revue les dossiers d’application détectés. Les dossiers d’application détectés ont été identifiés comme des artefacts obligatoires requis par l’application, et seront copiés dans l’image conteneur.

  2. Sélectionnez Ajouter des dossiers et spécifiez les chemins d’accès des dossiers à ajouter.

  3. Pour ajouter plusieurs dossiers au même volume, fournissez des valeurs séparées par des virgules (,).

  4. Sélectionnez Volume persistant comme option de stockage si vous souhaitez que les dossiers soient stockés en dehors du conteneur sur un volume persistant.

  5. Sélectionnez Enregistrer après avoir révisé les dossiers d’applications. Screenshot for app volumes storage selection.

  6. Sélectionnez Continuer pour passer à la phase de génération de l’image conteneur.

Générer l’image conteneur

Important

Si vous utilisez AKS 1.23+, modifiez les scripts comme indiqué ci-dessous avant de créer l’image Docker, pour garantir une migration fluide.

Modifiez le script ci-dessous

# Run entrypoint script.
COPY ./Entryscript.ps1 c:/Entryscript.ps1
ENTRYPOINT powershell c:/Entryscript.ps1

to

# Run entrypoint script.
COPY ["./Entryscript.ps1", "c:/Entryscript.ps1"]
ENTRYPOINT ["powershell", "c:/Entryscript.ps1"]

Pour générer une image conteneur, procédez comme suit :

  1. Sélectionner Azure Container Registry : utilisez la liste déroulante pour sélectionner un Azure Container Registry qui sera utilisé pour générer et stocker les images conteneurs pour les applications. Vous pouvez utiliser un Azure Container Registry existant ou en créer un à l’aide de l’option Créer un registre.

    Screenshot for app ACR selection.

  2. Réviser le fichier Dockerfile : le fichier Dockerfile nécessaire pour générer l’image conteneur pour chaque application sélectionnée est généré au début de l’étape de génération. Sélectionnez Réviser pour examiner le fichier Dockerfile. Vous pouvez également ajouter les personnalisations nécessaires au fichier Dockerfile à l’étape de révision, et enregistrer les modifications avant de démarrer le processus de génération.

  3. Déclencher le processus de génération : sélectionnez les applications pour lesquelles générer des images, puis sélectionnez Générer. La sélection de Générer a pour effet de démarrer la génération de l’image conteneur pour chaque application. L’outil continue de surveiller l’état de la build et vous permet de passer à l’étape suivante une fois la build terminée.

  4. Suivre l’état de la build : vous pouvez également surveiller la progression de l’étape de génération de la build en sélectionnant le lien Build en cours de génération sous la colonne d’état. Une fois que vous avez déclenché le processus de génération, l’activation du lien prend quelques minutes.

  5. Une fois la génération terminée, sélectionnez Continuer pour spécifier les paramètres de déploiement.

    Screenshot for app container image build completion.

Déployer l’application conteneurisée sur AKS

Une fois l’image conteneur générée, l’étape suivante consiste à déployer l’application en tant que conteneur sur Azure Kubernetes service (AKS).

  1. Sélectionner le cluster Azure Kubernetes Service : spécifiez le cluster AKS sur lequel l’application doit être déployée.

    • Le cluster AKS sélectionné doit avoir un pool de nœuds Windows.
    • Le cluster doit être configuré de façon à autoriser l’extraction d’images à partir de l’Azure Container Registry sélectionné pour stocker les images.
      • Exécutez la commande suivante dans Azure CLI pour attacher le cluster AKS à l’Azure Container Service.
        az aks update -n <cluster-name> -g <cluster-resource-group> --attach-acr <acr-name>
        
    • Si vous n'avez pas de cluster AKS ou si vous souhaitez créer un nouveau cluster AKS sur lequel déployer l'application, vous pouvez choisir de créer à partir de l'outil en sélectionnant Créer un nouveau cluster AKS.
      • Le cluster AKS créé à l’aide de l’outil sera créé avec un pool de nœuds Windows. Le cluster sera configuré de manière à ce qu’il puisse extraire des images de l’Azure Container Registry créé précédemment (si l’option Créer un registre a été choisie).
    • Sélectionnez Continuer après avoir sélectionné le cluster AKS.
  2. Spécifier le magasin des secrets : si vous aviez choisi de paramétrer des configurations d’application, spécifiez le magasin de secrets à utiliser pour l’application. Vous pouvez choisir les paramètres d’application Azure Key Vault ou App Service pour gérer vos secrets d’application. En savoir plus

    • Si vous avez sélectionné App Service paramètres d’application pour la gestion des secrets, sélectionnez Continuer.
    • Si vous souhaitez utiliser Azure Key Vault pour gérer les secrets de votre application, spécifiez l’instance Azure Key Vault que vous souhaitez utiliser.
      • Si vous ne disposez pas d'Azure Key Vault ou si vous souhaitez créer un nouveau Key Vault, vous pouvez choisir de créer à partir de l'outil en sélectionnant Créer un nouveau Azure Key Vault.
      • L’outil attribue automatiquement les autorisations nécessaires pour la gestion des secrets via Key Vault.
  3. Spécifier un partage de fichiers Azure : si vous avez ajouté des dossiers et sélectionné l’option Volume persistant, spécifiez le partage de fichiers Azure que l’outil Conteneurisation d’applications d’Azure Migrate doit utiliser pendant le processus de déploiement. L’outil crée des répertoires dans ce partage de fichiers Azure pour copier les dossiers d’application configurés pour le stockage du Volume persistant. Une fois le déploiement de l’application terminé, l’outil nettoie le partage de fichiers Azure en supprimant les répertoires qu’il a créés.

    • Si vous n’avez pas de partage de fichiers Azure ou si vous souhaitez créer un partage de fichiers Azure, vous pouvez choisir de continuer à le créer à partir de l’outil en sélectionnant Créer un compte de stockage et un partage de fichiers.
  4. Configurer le déploiement de l’application : une fois les étapes ci-dessus accomplies, vous devez spécifier la configuration du déploiement pour l’application. Sélectionnez Configurer pour personnaliser le déploiement de l’application. Dans l’étape de configuration, vous pouvez fournir les personnalisations suivantes :

    • Chaîne de préfixe : spécifiez une chaîne de préfixe à utiliser dans le nom de toutes les ressources créées pour l’application conteneurisée dans le cluster AKS.
    • Certificat SSL : si votre application requiert une liaison de site https, spécifiez le fichier PFX contenant le certificat à utiliser pour la liaison. Le fichier PFX ne doit pas être protégé par un mot de passe et le site d’origine ne doit pas avoir plusieurs liaisons.
    • Jeux de réplicas : spécifiez le nombre d’instances d’application (pods) qui doivent s’exécuter dans les conteneurs.
    • Type d’équilibreur de charge : sélectionnez Externe si l’application conteneurisée doit être accessible à partir de réseaux publics.
    • Configuration de l’application : pour toutes les configurations d’application paramétrées, fournissez les valeurs à utiliser pour le déploiement en cours.
    • Stockage : pour tous les dossiers d’application configurés pour le stockage du Volume persistant, spécifiez si le volume doit être partagé entre les instances d’application ou s’il doit être initialisé individuellement avec chaque instance dans le conteneur. Par défaut, tous les dossiers d’application sur des volumes persistants sont configurés comme partagés.
    • Sélectionnez Appliquer pour enregistrer la configuration de déploiement.
    • Sélectionnez Continuer pour déployer l’application.

    Screenshot for deployment app configuration.

  5. Déployer l’application : une fois la configuration de déploiement de l’application enregistrée, l’outil génère le YAML de déploiement Kubernetes pour l’application.

    • Sélectionnez Vérifier pour réviser et personnaliser le YAML de déploiement Kubernetes pour les applications.

    • Sélectionnez l’application à déployer.

    • Sélectionnez Déployer pour démarrer les déploiements des applications sélectionnées

      Screenshot for app deployment configuration.

    • Une fois l’application déployée, vous pouvez sélectionner la colonne État du déploiement pour suivre les ressources déployées pour l’application.

Télécharger les artefacts générés

Tous les artefacts utilisés pour générer et déployer l’application dans AKS, y compris les fichiers de spécification YAML Dockerfile et Kubernetes, sont stockés sur la machine exécutant l’outil. Les artefacts se trouvent dans C:\ProgramData\Microsoft Azure Migrate App Containerization.

Un dossier unique est créé pour chaque serveur d’applications. Vous pouvez afficher et télécharger tous les artefacts intermédiaires utilisés dans le processus de conteneurisation en accédant à ce dossier. Le dossier, qui correspond au serveur d’applications, sera nettoyé au début de chaque exécution de l’outil pour un serveur particulier.

Problèmes de dépannage

Pour résoudre tout problème lié à l’outil, vous pouvez consulter les fichiers journaux sur la machine Windows exécutant l’outil Conteneurisation d’applications. Les fichiers journaux des outils se trouvent dans le dossier C:\ProgramData\Microsoft Azure Migrate App Containerization\Logs.

Étapes suivantes

  • Conteneurisation d’applications ASP.NET et déploiement de celles-ci sur des conteneurs Windows sur App Service. Plus d’informations
  • Conteneurisation d’applications web Java sur Apache Tomcat (sur serveurs Linux) et déploiement de celles-ci vers des conteneurs Linux sur AKS. Plus d’informations
  • conteneurisation d’applications web Java sur Apache Tomcat (sur serveurs Linux) et déploiement de celles-ci vers des conteneurs Linux sur App Service. Plus d’informations