Enquêter sur les assistants de migration
L’analyse d’une considération de migration implique une révision de toutes les différentes options disponibles. Dans une unité précédente, nous avons mentionné l’hébergement de services tels que IaaS et PaaS. La migration IaaS peut fournir une option lift-and-shift où vous créez une machine virtuelle, la configurer avec les mêmes logiciels et paramètres que votre environnement local, puis l’héberger dans Azure. IaaS nécessite toujours que votre organisation gère, corrige, met à jour et sécurise le logiciel sur la machine virtuelle.
Lorsque vous disposez d’une application ASP.NET que vous souhaitez migrer, envisagez d’utiliser l’option PaaS pour tirer le meilleur parti de l’automatisation et de l’évolutivité sur Azure. Pour la solution PaaS avec ASP.NET applications, la discussion se tourne vers l’utilisation d’Azure App Service.
Qu’est-ce qu’Azure App Service ?
Azure App Service est un service HTTP sur Azure que vous pouvez utiliser pour héberger des applications web et des API REST. Ce service offre des avantages tels que :
Mise à l’échelle automatique pour aider votre application à répondre à la demande, en fonction des paramètres que vous spécifiez, puis en réduisant automatiquement l’échelle lorsque la demande diminue.
Haute disponibilité pour vous assurer que votre application reste disponible en cas de défaillance ou de temps d’arrêt du serveur ou du centre de données. Azure utilise des zones, des régions et des groupes à haute disponibilité pour y parvenir.
Prise en charge sur les plateformes Windows et Linux.
Intégration à des modèles de déploiement automatisés à l’aide de dépôts Azure DevOps ou GitHub.
Comment Azure App Service héberge-t-il des applications ASP.NET ?
Vous pouvez utiliser Azure App Service pour héberger votre application ASP.NET dans un plan App Service. Un plan qui définit un ensemble de ressources de calcul pour une application ASP.NET. Considérez les ressources de calcul comme similaires à une batterie de serveurs locale. Les ressources de calcul se composent de machines virtuelles qui contiennent le logiciel nécessaire pour héberger votre application. Il peut s’agir d’une machine virtuelle exécutant un produit Windows Server avec IIS hébergeant l’application.
L’application utilisera également d’autres ressources, telles que :
- Ressources réseau permettant d’accéder à l’application web via le port standard 80 ou le port HTTPS 443. La mise en réseau fournit également des options pour les configurations d’adressage IP public et DNS.
- Options de supervision et de journalisation pour le service.
- Contrôle d’accès via l’ID Microsoft Entra et le contrôle d’accès en fonction du rôle (RBAC).
- D’autres options disponibles, en fonction de votre configuration requise pour l’application spécifique, telles que l’accès à la base de données et les options de mise à l’échelle et de disponibilité.
- Option de stockage pour différents fichiers nécessaires pour héberger l’application.
Qu’est-ce qu’Azure SQL Database ?
Azure SQL Database est un service de base de données relationnelle intelligent et évolutif conçu pour le cloud. Il s’agit d’un service de base de données SQL entièrement managé qui gère les mises à jour correctives, la mise à niveau et les sauvegardes sans intervention de l’utilisateur. Vous pouvez sélectionner parmi deux modèles de déploiement pour votre base de données Azure SQL : 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 base de données unique est similaire à une base de données autonome unique dans un moteur de base de données SQL Server local. Dans le modèle de déploiement unique Azure SQL Database, vous obtenez l’option managée complète mentionnée précédemment dans cette unité. Il s’agit d’une base de données isolée pour les besoins des 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, telles que la mémoire et le processeur. Si nécessaire, vous pouvez déplacer des bases de données uniques hors du pool élastique et déplacer d’autres bases de données uniques dans le pool.
Il existe différents niveaux de service et tailles de calcul qui permettent de personnaliser le déploiement d’Azure SQL Database en fonction des besoins spécifiques de votre application. Par exemple, vous pouvez commencer par une seule petite base de données pour répondre à vos besoins existants et vous aider à réduire les coûts. À mesure que votre application a besoin de croître, vous pouvez mettre à niveau le niveau de service pour fournir des options de scalabilité dynamique pour répondre à la demande sur l’application et l’accès aux données. La mise à l’échelle dynamique vous permet d’apporter des ressources pour gérer l’échelle si nécessaire, puis de réduire la mise à l’échelle lorsque les demandes sont arrêtées, ce qui permet de réduire les coûts.
Comparaison entre Azure SQL Database et SQL Server
La comparaison d’un moteur de base de données SQL Server local avec Azure SQL Database peut vous aider à mettre en évidence les avantages de l’utilisation d’Azure.
Avec un moteur de base de données SQL Server local, vous devez :
Demandez à votre service informatique d’acquérir le matériel serveur.
Installer le système d’exploitation
Installez le moteur de base de données.
Gérer les correctifs.
Configurez la sécurité du pare-feu.
Gérer l’accès à la base de données.
Gérer la sauvegarde de base de données.
Gérer la récupération d’urgence.
Effectuez à nouveau toutes les tâches précédentes pour le nouveau matériel lorsque les ressources de calcul ne sont pas suffisantes pour répondre à la demande.
Lorsque vous utilisez Azure SQL Database, vous :
Créez une instance de base de données sur Azure à l’aide de votre modèle de déploiement choisi.
Migrez vos données vers la nouvelle instance.
Configurez l’accès à l’application.
Configurez les options d’extensibilité si nécessaire.
Profitez des avantages d’un environnement managé.
Scénarios de données hybrides
Azure Hybrid Benefit est un modèle qui permet de réduire vos coûts de licence pour l’exécution de vos charges de travail SQL dans le cloud. Vous pouvez tirer parti de cet avantage en utilisant vos licences software Assurance locales existantes pour Windows Server et SQL Server sur la plateforme Azure.
Ce graphique illustre un exemple d’économies SQL Server Enterprise.
Qu’est-ce que les outils d’assistance de 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 pouvez rencontrer pendant la migration et à faciliter le processus réel d’apport de votre application et de 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. Le service vous aide à effectuer des calculs de dimensionnement basés sur les performances (dimensionnement et calcul/stockage de machines virtuelles) pour les machines que vous allez migrer et estimer le coût continu d’exécution de ces machines dans Azure. Azure Migrate peut évaluer les machines virtuelles Hyper-V et VMware, ainsi que les 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. Comprendre les dépendances vous donne confiance que rien ne sera laissé derrière.
Qu’est-ce que 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 avec l’Assistant de Migration App Service, conçu pour simplifier votre migration vers le cloud à l’aide d’une solution gratuite, simple et rapide pour migrer les applications ASP.NET locales vers le cloud. Grâce à ces outils, vous pouvez :
Déterminez si votre application est un bon candidat à la migration en exécutant une analyse de son URL publique.
Téléchargez l’Assistant Migration pour commencer votre 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 migrez votre application ou votre site vers Azure App Service.
Présentation de l’Assistant Migration de données
L’Assistant Migration de données vous aide à effectuer une mise à niveau vers une plateforme de données moderne en détectant les problèmes de compatibilité qui peuvent avoir un impact sur les fonctionnalités de base de données dans votre nouvelle version de SQL Server ou d’Azure SQL Database. L’Assistant recommande des améliorations de performances et de fiabilité pour votre environnement cible et vous permet de déplacer votre schéma, vos données et vos objets non détenus de votre serveur source vers votre serveur cible.
Les principales fonctionnalités sont les suivantes :
Évaluation des instances SQL Server locales pour détecter les problèmes liés à une migration résultant de problèmes de compatibilité ou d’un manque de prise en charge des fonctionnalités
Découverte de nouvelles fonctionnalités dans Azure SQL Database dont vous pouvez tirer parti
Migration d’instances SQL Server locales vers le cloud
Évaluation des packages SQL Server Integration Services locaux qui migrent vers Azure SQL Database
Évaluer votre environnement existant
Une étape critique du processus de migration consiste à évaluer votre environnement existant. Cela permet de garantir une transition fluide pour votre scénario de migration et peut également aider à identifier les problèmes potentiels avant, pendant et après la migration.
Inventaire de l’environnement existant
La prise d’un inventaire de votre environnement existant permet d’identifier les serveurs, applications et services qui sont dans l’étendue de la migration. Utilisez vos équipes informatiques et professionnelles qui travaillent avec ces services pour vous aider à fournir des conseils, des commentaires et un support pour la migration.
Vous souhaiterez également produire un inventaire complet et une carte des dépendances des serveurs et services qui entrent dans le périmètre de la migration. L’inventaire et la carte déterminent la façon dont ces services communiquent entre eux. Ils peuvent vous aider à définir les besoins de l’environnement en ligne pour garantir une migration réussie.
Identifier les modifications requises de l’application
Votre application nécessite probablement des modifications pour qu’elle fonctionne correctement après la migration. Par exemple, votre application ASP.NET accède à une base de données. La chaîne de connexion de base de données aura probablement besoin d’une modification. L’utilisation d’Azure offre la possibilité de stocker votre chaîne de connexion de base de données en tant que 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 ensuite configurer votre application pour utiliser ce secret plutôt que la chaîne de connexion directement.
Estimer les coûts
Une considération clé pour tout scénario de migration est le coût que votre organisation entraîne pour héberger l’application sur Azure. Vous allez passer d’un modèle de coût différent d’un environnement local classique. Dans l’environnement Azure, vous serez facturé tous les mois pour différents coûts de consommation liés au calcul, au stockage et aux coûts d’accès.
L’unité précédente a abordé la calculatrice de prix Azure, que vous pouvez utiliser pour évaluer vos dépenses estimées.
Évaluer les considérations relatives à la sécurité
La sécurité est et doit être une priorité absolue dans n’importe quel scénario de migration. Vous pouvez vous soucier de l’hébergement de données dans un monde en ligne, ou vous demander si vos employés seront toujours en mesure d’utiliser leurs informations d’identification actuelles pour accéder aux applications. Vous êtes également préoccupé par la sécurité des données du point de vue de la conformité aux normes du secteur. Comprendre les options disponibles dans Azure peut vous aider à résoudre ces problèmes.
Évaluer les exigences de sécurité pour votre application
Dans un scénario d’application ASP.NET où l’application doit accéder à un magasin de données, vous devez envisager comment sécuriser la base de données tout en autorisant l’accès au serveur frontal web. Azure fournit des réseaux virtuels pour vous aider à cet égard. Les réseaux virtuels Azure peuvent vous aider à :
Créez une infrastructure hybride que vous contrôlez.
Apportez vos propres adresses IP et serveurs DNS.
Sécurisez vos connexions avec un réseau privé virtuel IPsec (VPN) ou Azure ExpressRoute.
Obtenez un contrôle granulaire du trafic entre les sous-réseaux.
Créez des topologies réseau sophistiquées à l’aide d’appliances virtuelles.
Obtenez un environnement isolé et hautement sécurisé pour vos applications.
Vous pouvez également accéder aux applications s’exécutant localement à l’aide d’Active Directory pour l’authentification et la gestion des identités. Microsoft Entra Connect vous permet d’intégrer vos répertoires locaux à l’ID Microsoft Entra. Cela signifie que les employés ne doivent pas avoir plusieurs ensembles d’informations d’identification pour l’authentification.
Comme pour effectuer un inventaire de votre environnement local pour les applications et le matériel, vous devez également mapper vos exigences de sécurité et implémentation existantes afin de pouvoir effectuer une évaluation de sécurité appropriée pour le scénario de migration. Vous souhaitez vous assurer qu’un environnement hébergé dans le cloud répond toujours aux besoins de sécurité de votre organisation.
Explorer Azure Pipelines pour un scénario de migration
De nombreuses organisations adoptent des pratiques DevOps pour un développement plus agile et des déploiements plus rapides. L’un des domaines clés qui rend cela possible dans un environnement cloud est l’intégration native entre les outils utilisés par les développeurs. L’intégration de Microsoft Visual Studio, GitHub et App Service permet à vos développeurs de générer et d’expédier des modifications plus rapidement. Pour ASP.NET applications, le débogage à distance et en direct offre aux développeurs un meilleur avantage pour diagnostiquer les problèmes dans votre environnement de production.