Choisir l’option d’hébergement Azure appropriéeChoose the right Azure hosting option

Ce document évoque les aspects à prendre en compte et compare les différents choix qui s’offrent à vous lorsque vous migrez vos applications .NET Framework existantes sur site vers Azure.This document provides multiple considerations and comparisons between the multiple choices you have in Azure when migrating your existing .NET Framework applications from on-premises to Azure.

Les zones fondamentales à prendre en considération lors de la migration d’applications .NET existantes vers Azure sont les suivantes :The fundamental areas to consider when migrating existing .NET applications to Azure are:

  1. Choix de calculCompute choices
  2. Choix de la base de donnéesDatabase choices
  3. Considérations relatives au réseau et à la sécuritéNetworking and security considerations
  4. Considérations relatives à l’authentification et à l’autorisationAuthentication and authorization considerations

Choix de calculCompute choices

Lorsque vous migrez des applications .NET Framework existantes vers Azure, plusieurs choix s’offrent à vous.When migrating existing .NET Framework applications to Azure you have multiple choices. Toutefois, étant donné que .NET Framework dépend de Windows, les choix suivants sont limités aux services de calcul basés sur Windows.However, since .NET Framework depends on Windows, the following choices are limited to Windows-based compute services.

Le tableau suivant comporte plusieurs comparaisons et recommandations qui vont vous aider à choisir le chemin de migration de calcul adapté à votre application .NET. existante.The following table shows several comparisons and recommendations to help you choose the right compute migration path for your existing .NET application.

Machines virtuelles AzureAzure VMs Azure App ServiceAzure App Service Conteneurs WindowsWindows Containers
Quand utiliserWhen to use
  • L’application dépend fortement des installations .msi en local et sur le serveur.Application has strong dependencies on the server and local .msi installations.
  • Vous recherchez le chemin de migration d’application le plus simple qui soitYou want the easiest application migration path
L’application ne dispose d’aucune dépendance sur le serveur. Il s’agit simplement d’une application web ASP.NET propre (MVC, Web Forms) ou d’une application multiniveau (API web, WCf) accédant à un serveur de base de données.App has no dependencies on the server, it is just a clean ASP.NET web app (MVC, WebForm) or N-Tier app (Web API, WCf) accessing a database server.
  • L’application possède des dépendances sur le serveur d’origine, mais ces dernières peuvent être incluses dans l’image Windows Docker.Application has dependencies on the original server but those dependencies can be included in the Docker Windows image.
  • Vous souhaiter moderniser l’application pour la rendre compatible avec Cloud DevOpsWant to modernize the app so it is Cloud DevOps-Ready
AvantagesPros & benefits
  • Le chemin de migration le plus simpleEasiest migration path
  • Un environnement familier.Familiar environment. L’environnement de déploiement est une machine virtuelle très similaire à celle se trouvant sur les serveurs locaux.Deployment environment is a VM so very similar to on-premises servers.
La maintenance PaaS continue est la façon la plus simple de gérer et de mettre à l’échelle des applications dans Azure.Ongoing PaaS maintenance, simplest way to manage and scale apps in Azure.
  • Une application évolutive, compatible avec Cloud DevOps dotée de dépendances incluses dans les conteneurs de l’application.Prepared for the future, Cloud DevOps-Ready with dependencies included in the app’s containers.
  • Il n’est quasiment pas nécessaire de refactoriser le code .NET /C#.Almost no need to re-factor .NET /C# code.
InconvénientsCons Il s’agit d’une IaaS.It is IaaS. La maintenance est coûteuse.Maintenance is costly. Vous devez gérer l’infrastructure des machines virtuelles pour la mise en réseau, l’équilibrage de la charge, l’augmentation de la taille des instances, la gestion IIS, etc.You have to manage VMs infrastructure about networking, load-balancer, scale-out, IIS management, etc.
  • Toutes les applications ne sont pas prises en charge.Not all apps are supported
  • Certaines applications peuvent nécessiter une refactorisation et même une légère restructuration pour une prise en charge d’Azure App Service.Some apps might need to be refactored and even slightly re-architected, so they support Azure App Service.
  • Courbe d’apprentissage des compétences de DockerDocker’s skills learning curve
  • Modification de certains paramètres de configuration d’application et de codeSome code and app configuration settings changes
Configuration requiseRequirements Machine virtuelle Windows Server avec la même configuration que l’application pour un environnement localWindows Server VM with the same requirements than the app for on-premises Les conditions requises pour Azure App Service sont définies au niveau de l’analyse de compatibilité pour Azure App Service.Azure App Service requirements specified at the Compatibility analysis for Azure App Service.
MigrationHow to migrate Voir Migrate to Azure Virtual Machines (Migrer vers des machines virtuelles Azure)See Migrate to Azure Virtual Machines Voir Migrate Azure App Service (Migrer Azure App Service)See Migrate Azure App Service Suivez les considérations, les scénarios et les procédures pas à pas évoqués dans le livre électronique sur la modernisation des applications .NET existantes avec des conteneurs Azure et WindowsFollow considerations, scenarios and walkthroughs explained in the Modernizing existing .NET apps with Azure and Windows Containers eBook

Le diagramme suivant montre un arbre de décision lié à une planification de migration vers Azure pour vos applications .NET Framework existantes. Sachant que l’option A est la première option à essayer si elle est viable et l’option B le chemin d’accès plus facile à suivre.The following flowchart diagram shows a decision tree when planning a migration to Azure for your existing .NET Framework applications, being option A the first option to try and perform if it is viable, but option B the easiest path to perform.

Diagramme montrant l’arbre de décision d’hébergement

Choix de la base de donnéesDatabase choices

Lorsque vous migrez des bases de données relationnelles vers Azure, plusieurs choix s’offrent à vous.When migrating relational databases to Azure you have multiple choices. Consultez Migrer votre base de données SQL Server vers Azure SQL Database pour vous aider à choisir le chemin de migration de base de données adapté pour votre application .NET existante.See Migrate your SQL Server database to Azure to help you choose the right database migration path for your existing .NET application.

Considérations relatives au réseau et à la sécuritéNetworking and security considerations

Lors du déploiement d’applications dans un cloud public comme Microsoft Azure, vous souhaiterez peut-être isoler et sécuriser certains réseaux en créant des DMZ de réseau, comme un DMZ entre Azure et l’environnement local ou un DMZ entre Azure et Internet.When deploying applications to a public cloud like Microsoft Azure, you might want to isolate and secure certain networks by creating network DMZs, such as a DMZ between Azure and on-premises or a DMZ between Azure and the Internet. Les DMZ peuvent être implémentés avec un réseau virtuel Azure.DMZs can be implemented with Azure Virtual Network. Grâce aux réseaux virtuels Azure vous pouvez :Azure Virtual networks enable you to:

  • Créer une infrastructure hybride que vous contrôlezBuild a hybrid infrastructure that you control
  • Utiliser vos propres adresses IP et serveurs DNSBring your own IP addresses and DNS servers
  • Sécuriser vos connexions avec un VPN IPsec ou ExpressRouteSecure your connections with an IPsec VPN or ExpressRoute
  • Profiter d’un contrôle granulaire du trafic entre les sous-réseauxGet granular control over traffic between subnets
  • Créer des topologies réseau sophistiquées avec les appliances virtuellesCreate sophisticated network topologies using virtual appliances
  • Bénéficier d’un environnement isolé et hautement sécurisé pour vos applicationsGet an isolated and highly-secure environment for your applications

Pour commencer à créer votre propre réseau virtuel, consultez la documentation relative au réseau virtuel Azure.To get started building your own virtual network, see the Azure Virtual Network documentation.

Considérations relatives à l’authentification et à l’autorisation lors de migration vers AzureAuthentication and authorization considerations when migrating to Azure

La sécurité est la priorité de toute organisation migrant vers le cloud.A top concern of any organization moving to the cloud is security. La plupart des entreprises ont beaucoup investi en termes de temps, d’argent et d’ingénierie dans la conception et le développement d’un modèle de sécurité et il est important qu’elles soient en mesure de tirer parti des investissements existants, tels que des magasins d’identités et des solutions à authentification unique.Most companies have invested a substantial amount of time, money, and engineering into designing and developing a security model, and it’s important that they’re able to leverage existing investments such as identity stores and single sign-on solutions.

Nombreuses sont les applications B2E .NET d’entreprise existantes s’exécutant sur site à utiliser Active Directory pour l’authentification et la gestion des identités.Many existing enterprise B2E .NET applications running on-premises use Active Directory for authentication and identity management. Azure AD Connect permet d’intégrer vos répertoires locaux à Azure Active Directory.Azure AD Connect enables you to integrate your on-premises directories with Azure Active Directory. Pour commencer, consultez Intégrer vos répertoires locaux à Azure Active Directory.To get started, see Integrate your on-premises directories with Azure Active Directory.

Consultez Identity requirements for your hybrid identity solution (Exigences relatives à l’identité pour votre solution d’identité hybride) pour améliorer la planification relative à Azure Active Directory.See Identity requirements for your hybrid identity solution for further planning related to Azure Active Directory.

Les autres choix de protocole d’authentification sont OAuth et OpenID, qui sont courants dans les applications destinées aux consommateurs.Other authentication protocol choices are OAuth and OpenID, which are common in consumer-facing applications. Lorsque vous utilisez des bases de données d’identité autonomes, par exemple une base de données ASP.NET Identity SQL encapsulée par IdentityServer4 utilisant OAuth, aucune connectivité aux bases de données ou répertoires locaux n’est généralement requise.When using autonomous identity databases, such as an ASP.NET Identity SQL database wrapped by IdentityServer4 using OAuth, no connectivity to on-premises databases or directories is usually required.

Étapes suivantesNext steps