Examen des Assistants Migration
L’analyse d’une considération relative à la migration implique un passage en revue de toutes les options disponibles. Dans une unité précédente, nous avons mentionné des services d’hébergement comme IaaS et PaaS. La migration IaaS peut offrir une option lift-and-shift : vous créez une machine virtuelle, la configurez avec les mêmes logiciels et paramètres que votre environnement local, puis l’hébergez sur Azure. Dans le modèle IaaS, votre organisation doit quand même gérer, corriger, mettre à jour et sécuriser les logiciels sur la machine virtuelle.
Si vous souhaitez migrer une application ASP.NET, envisagez d’utiliser l’option PaaS pour tirer le meilleur parti de l’automatisation et de la scalabilité sur Azure. Pour la solution PaaS avec les applications ASP.NET, la question porte sur le recours à Azure App Service.
Qu’est-ce qu’Azure App Service ?
Azure App Service est un service basé sur HTTP sur Azure qui permet d’héberger des applications web et des API REST. Il offre différents avantages :
La mise à l’échelle automatique de votre application pour répondre à la demande, en fonction des paramètres que vous spécifiez, puis réduire automatiquement l’échelle lorsque la demande diminue.
la haute disponibilité qui permet de veiller à ce que votre application reste disponible en cas de défaillance ou de temps d’arrêt du serveur ou du centre de données, grâce aux zones, aux régions et aux groupes à haute disponibilité exploités par Azure ;
la prise en charge sur les plateformes Windows et Linux ;
l’intégration avec les modèles de déploiement automatisés à l’aide d’Azure DevOps ou des référentiels GitHub.
Hébergement des applications ASP.NET avec Azure App Service
Vous pouvez utiliser Azure App Service pour héberger votre application ASP.NET dans un plan App Service. Ce plan App Service définit un ensemble de ressources de calcul pour votre application ASP.NET. Les ressources de calcul sont similaires à une batterie de serveurs locale. Elles se composent de machines virtuelles qui contiennent les logiciels nécessaires pour héberger l’application. Il peut s’agir d’une machine virtuelle qui exécute un produit Windows Server, l’application étant hébergée par IIS.
L’application utilise également d’autres ressources :
- des ressources réseau pour fournir l’accès à l’application web via le port standard 80 ou HTTPS 443, ainsi que des options pour les configurations de service DNS et d’adresses IP publiques ;
- des options de surveillance et de journalisation du service ;
- Contrôle d'accès par Microsoft Entra ID et contrôle d’accès en fonction du rôle (RBAC).
- d’autres options disponibles en fonction de la configuration requise pour l’application en particulier, notamment l’accès à la base de données et les options de mise à l’échelle et de disponibilité ;
- une option de stockage des différents fichiers nécessaires à l’hébergement de l’application.
Qu’est-ce qu’Azure SQL Database ?
Azure SQL Database est un service de base de données relationnelle intelligent, scalable et conçu pour le cloud. Il s’agit d’un service de base de données SQL complètement managé qui gère les mises à jour correctives, les mises à niveau et les sauvegardes sans intervention de l’utilisateur. Vous avez le choix entre deux modèles de déploiement pour votre base de données Azure SQL Database : une base de données unique ou un pool élastique.
Modèle de base de données unique
Un modèle de déploiement de type base de données unique est similaire à une base de données unique et autonome dans un moteur de base de données SQL Server local. Dans le modèle de déploiement Azure SQL Database unique, vous bénéficiez de l’option complètement managée mentionnée précédemment dans cette unité. Il s’agit d’une base de données isolée pour les besoins en données de vos applications.
Modèle de pool élastique
Le pool élastique est une collection de bases de données uniques qui partagent un ensemble de ressources, par exemple la mémoire et le processeur. Si nécessaire, vous pouvez déplacer des bases de données uniques hors du pool élastique, et en ajouter d’autres dans le pool.
Il existe divers niveaux de service et différentes tailles de calcul qui permettent de personnaliser le déploiement d’Azure SQL Database en fonction des exigences spécifiques de vos applications. Par exemple, vous pouvez commencer avec une petite base de données pour répondre à vos besoins actuels et réduire les coûts. Lorsque les exigences de votre application évoluent, vous avez la possibilité de passer au niveau de service supérieur pour obtenir des options de scalabilité dynamique et ainsi répondre à la demande d’accès à l’application et aux données. La mise à l’échelle dynamique vous permet d’ajouter des ressources en cas de besoin, puis de les réduire lorsque la demande diminue, ce qui contribue à réduire les coûts.
Comparaison entre Azure SQL Database et SQL Server
La comparaison entre un moteur de base de données SQL Server local et Azure SQL Database peut aider à mettre en évidence les avantages associés à l’utilisation d’Azure.
Avec un moteur de base de données SQL Server local :
Vous demandez à votre service informatique d’acquérir le matériel serveur.
Installer le système d’exploitation
Vous installez le moteur de base de données.
Vous gérez les correctifs.
Vous configurez la sécurité du pare-feu.
Vous gérez l’accès à la base de données.
Vous gérez la sauvegarde de la base de données.
Vous gérez la récupération d’urgence.
Vous effectuez à nouveau toutes les tâches précédentes pour le matériel ajouté lorsque les ressources de calcul ne sont pas suffisantes pour répondre à la demande.
Avec Azure SQL Database :
Vous créez une instance de base de données sur Azure selon le modèle de déploiement de votre choix.
Vous migrez vos données vers la nouvelle instance.
Vous configurez l’accès à l’application.
Vous configurez les options de scalabilité si nécessaire.
Vous profitez des avantages d’un environnement géré.
Scénarios de données hybrides
Azure Hybrid Benefit est un modèle qui permet de réduire les coûts de licences associés à l’exécution de charges de travail SQL dans le cloud. Vous pouvez bénéficier de cet avantage en utilisant vos actuelles licences locales compatibles avec la Software Assurance pour Windows Server et SQL Server sur la plateforme Azure.
Ce graphe illustre un exemple d’économies SQL Server Entreprise.
Présentation des outils d’assistance à la migration
Microsoft fournit un ensemble d’outils d’assistance à la migration qui vous aident à évaluer votre environnement existant, à mettre en évidence les problèmes que vous risquez de rencontrer pendant la migration et à intégrer concrètement votre application et vos données dans le cloud.
Qu’est-ce qu’Azure Migrate ?
Azure Migrate est un service gratuit fourni par Microsoft qui permet de découvrir des systèmes locaux, de les évaluer et de les migrer vers Azure. Il facilite les calculs de dimensionnement en fonction du niveau de performance (taille des machines virtuelles et calcul/stockage) des machines à migrer. Il estime également le coût récurrent associé à leur exécution sur Azure. Il peut évaluer des machines virtuelles Hyper-V et VMware, ainsi que des serveurs physiques. Azure Migrate prend également en charge la visualisation des dépendances pour ces machines. Il vous aide à créer des groupes de machines qui peuvent être évalués ensemble, puis migrés vers Azure en même temps. Le fait de comprendre les dépendances vous donne l’assurance que rien ne sera oublié.
Présentation de l’Assistant Migration Azure
L’Assistant Migration Azure est un outil que vous pouvez utiliser pour effectuer la migration de votre application ASP.NET vers le cloud. Il fonctionne parallèlement à l’Assistant Migration App Service, solution gratuite, simple et rapide conçue pour simplifier la migration des applications ASP.NET de l’environnement local dans le cloud. Grâce à ces outils, vous pouvez :
évaluer si votre application constitue une bonne candidate à la migration en exécutant une analyse de son URL publique ;
télécharger l’Assistant Migration pour commencer la migration ;
Utilisez l’outil pour exécuter des vérifications de préparation et une évaluation générale des paramètres de configuration de votre application, puis migrer votre application ou votre site vers Azure App Service.
Présentation de l’Assistant Migration de données
L’Assistant Migration de données permet d’effectuer une mise à niveau vers une plateforme de données moderne en détectant les problèmes de compatibilité susceptibles de nuire au fonctionnement de la base de données dans la nouvelle version de SQL Server ou d’Azure SQL Database. Il recommande des améliorations du niveau de performance et de la fiabilité de l’environnement cible. Par ailleurs, il vous permet de déplacer votre schéma, vos données et vos objets non autonomes de votre serveur source vers votre serveur cible.
Voici ses fonctionnalités clés :
Évaluation des instances SQL Server locales pour détecter les problèmes de migration liés à la compatibilité ou à la prise en charge des fonctionnalités
Découverte de nouvelles fonctionnalités Azure SQL Database dont vous pouvez bénéficier
Migration des instances SQL Server locales dans le cloud
Évaluation de la migration des packages SQL Server Integration Services locaux vers Azure SQL Database
Évaluation de l’environnement existant
L’évaluation de votre environnement existant constitue une étape critique du processus de migration. Cela permet de garantir une transition en douceur pour votre scénario de migration, et peut également faciliter l’identification des problèmes potentiels avant, pendant et après la migration.
Inventaire de l’environnement existant
L’inventaire de l’environnement existant permet d’identifier les serveurs, les applications et les services concernés par la migration. Faites appel aux équipes informatique et métier qui utilisent ces services pour obtenir des conseils d’aide, des commentaires et une prise en charge de la migration.
Vous pouvez également produire un inventaire complet ainsi qu’une carte des dépendances des serveurs et des services qui entrent dans le cadre de la migration. L’inventaire et la carte déterminent la façon dont ces services communiquent entre eux. Ils peuvent aider à définir l’environnement en ligne nécessaire à la réussite de la migration.
Identification des modifications nécessaires de l’application
Votre application aura probablement besoin de modifications pour fonctionner correctement après la migration. Par exemple, votre application ASP.NET accède à une base de données. Une modification de la chaîne de connexion à la base de données sera probablement nécessaire. L’avantage d’utiliser Azure est notamment la possibilité de stocker cette chaîne sous forme de secret dans Azure Key Vault. Les paramètres d’authentification sont ainsi protégés, car la chaîne est « masquée » derrière un secret dans le coffre de clés. Vous pouvez configurer ensuite votre application pour qu’elle utilise ce secret plutôt que la chaîne de connexion directement.
Estimer les coûts
L’une des préoccupations essentielles pour un scénario de migration est le coût que l’organisation doit assumer pour héberger l’application sur Azure. Vous allez passer à un modèle de coût différent de celui d’un environnement local classique. Dans l’environnement Azure, vous êtes facturé mensuellement pour divers coûts de consommation liés aux frais de calcul, de stockage et d’accès.
L’unité précédente traitait de la Calculatrice de prix Azure, que vous pouvez utiliser pour estimer vos dépenses.
Évaluation des considérations relatives à la sécurité
La sécurité est, et doit être, une priorité dans tout scénario de migration. L’hébergement des données en ligne vous inquiète peut-être ou vous vous demandez si vos employés pourront toujours utiliser leurs informations d’identification actuelles pour accéder aux applications. Vous vous souciez également de la sécurité des données du point de vue de la conformité aux standards du secteur d’activité. Il est utile de connaître les options disponibles dans Azure pour résoudre ces problèmes.
Évaluation des exigences de sécurité de l’application
Dans un scénario d’application ASP.NET où l’application doit accéder à un magasin de données, vous devez réfléchir à la façon de sécuriser la base de données tout en autorisant l’accès au front-end web. Azure fournit pour cela des réseaux virtuels qui offrent plusieurs avantages :
Vous créez une infrastructure hybride que vous contrôlez.
Vous apportez vos propres adresses IP et serveurs DNS.
Sécurisez vos connexions avec un réseau privé virtuel (VPN) IPsec ou Azure ExpressRoute.
Vous bénéficiez d’un contrôle granulaire du trafic entre les sous-réseaux.
Vous créez des topologies de réseau sophistiquées à l’aide d’appliances virtuelles.
Vous bénéficiez d’un environnement isolé et très sécurisé pour vos applications.
Vous pouvez également accéder aux applications qui s’exécutent localement en utilisant Active Directory pour l’authentification et la gestion des identités. Microsoft Entra Connect vous permet d’intégrer vos annuaires locaux à Microsoft Entra ID. Ainsi, vos employés n’auront plus besoin de disposer de plusieurs jeux d’informations d’identification pour l’authentification.
Comme pour l’inventaire des applications et du matériel de votre environnement local, vous devez recenser vos exigences et votre implémentation de sécurité actuelles. L’objectif est d’effectuer une bonne évaluation de la sécurité pour le scénario de migration. Vous devez vérifier qu’un environnement hébergé dans le cloud répondra toujours aux besoins de votre organisation en matière de sécurité.
Exploration d’Azure Pipelines pour un scénario de migration
De nombreuses entreprises adoptent des pratiques DevOps pour un développement plus agile et des déploiements plus rapides. L’un des points clés qui rendent cela possible dans un environnement cloud est l’intégration native entre les outils utilisés par les développeurs. L’intégration entre Microsoft Visual Studio, GitHub et App Service leur permet de créer et de livrer les modifications plus rapidement. Dans le cas des applications ASP.NET, le débogage à distance et le débogage de site actif se révèlent plus avantageux pour diagnostiquer les problèmes survenus dans l’environnement de production.