Migrer votre application ou service web .NET vers Azure App Service

App service est un service de plateforme de calcul entièrement géré qui est optimisé pour héberger des sites Web évolutifs et des applications Web. Cet article fournit des informations sur la façon de lever-déplacer une application existante vers Azure App Service, les modifications à prendre en compte et des ressources supplémentaires pour migrer vers le Cloud. La plupart des sites web ASP.NET (WebForms, MVC) et des services (API Web, WCF) peuvent passer directement à Azure App Service, sans aucune modification. Certains peuvent nécessiter des modifications mineures tandis que d’autres peuvent nécessiter une refactorisation.

Vous êtes prêt à commencer ? Publiez une application ASP.NET + SQL sur Azure App Service.

Considérations

Ressources locales (y compris SQL Server)

Vérifiez l’accès aux ressources locales, car elles peuvent nécessiter une migration ou des modifications. Les options suivantes permettent de limiter l’accès aux ressources locales :

  • Créez un VPN connectant App Service aux ressources locales à l’aide des Réseaux virtuels Azure.
  • Exposez les services locaux au cloud de manière sécurisée sans modification du pare-feu à l’aide de Azure Relay.
  • Migrez des dépendances comme une base de données SQL vers Azure.
  • Utilisez des offres de plateforme en tant que service dans le Cloud pour réduire les dépendances. Par exemple, plutôt que de vous connecter à un serveur de messagerie sur site, envisagez d’utiliser SendGrid.

Liaisons de port

Azure App Service prend en charge le port 80 pour le trafic HTTP et le port 443 pour le trafic HTTPS.

Les liaisons suivantes sont prises en charge pour WCF :

Liaison Notes
BasicHttp
WSHttp
WSDualHttpBinding La prise en charge de Websocket doit être activée. La prise en charge de Websocket doit être activée.
NetHttpBinding La prise en charge de Websocket doit être activée pour les contrats duplex. La prise en charge de Websocket doit être activée pour les contrats duplex.
NetHttpsBinding La prise en charge de Websocket doit être activée pour les contrats duplex. La prise en charge de Websocket doit être activée pour les contrats duplex.
BasicHttpContextBinding
WebHttpBinding
WSHttpContextBinding

Authentification

Azure App Service prend en charge l’authentification anonyme par défaut et l’authentification par formulaire lorsque cela est nécessaire. L’authentification Windows peut être utilisée uniquement en cas d’intégration à Azure Active Directory et ADFS. Découvrez comment intégrer vos répertoires locaux à Azure Active Directory.

Assemblys dans le GAC (Global Assembly Cache)

Ceci n’est pas pris en charge. Envisagez de copier les assemblys requis dans le dossier \Bin de l’application. Les fichiers . msi personnalisés installés sur le serveur (par exemple, les générateurs de PDF) ne peuvent pas être utilisés.

Paramètres IIS

Tout ce qui est habituellement configuré via applicationHost.config dans votre application peut maintenant être configuré via le portail Azure. Cela s’applique au nombre de bits AppPool, à l’activation/désactivation de WebSockets, à la version de pipeline gérée, à la version .NET Framework (2.0/4.0), etc. Pour modifier vos paramètres d’application, accédez au portail Azure, ouvrez le panneau de votre application web, puis sélectionnez l’onglet Paramètres de l’application.

Mode de compatibilité IIS5

Le mode de compatibilité IIS5 n’est pas pris en charge. Dans Azure App Service, chaque application Web et toutes les applications qu’elle contient s’exécutent dans le même processus de travail avec un ensemble spécifique de pools d’applications.

Conformité de schéma IIS7+

Certains éléments et attributs ne sont pas définis dans le schéma IIS Azure App Service. Si vous rencontrez des problèmes, envisagez d’utiliser des transformations XDT.

Pool d’applications unique par site

Dans Azure App Service, chaque application Web et toutes les applications qu’elle contient s’exécutent dans le même pool d’applications. Envisagez d’établir un pool d’applications unique avec des paramètres communs ou de créer une application Web distincte pour chaque application.

Composants COM et COM+

Azure App Service n’autorise pas l’inscription de composants COM sur la plateforme. Si votre application utilise des composants COM, ceux-ci doivent être réécrits en code managé et déployés avec le site ou l’application.

Répertoires physiques

Azure App Service n’autorise pas l’accès au lecteur physique. Vous devrez peut-être utiliser Azure Files pour accéder aux fichiers via SMB. Le Stockage Blob Azure peut stocker des fichiers pour l’accès via HTTPS.

Filtres ISAPI

Azure App Service peut prendre en charge l’utilisation de filtres ISAPI, toutefois, la DLL ISAPI doit être déployée avec votre site et inscrite via le fichier web.config.

Liaisons HTTPS et SSL

Les liaisons HTTPs ne sont pas migrées, ni les certificats SSL associés à vos sites Web. Les certificats SSL peuvent être téléchargés manuellement après que la migration du site soit terminée.

SharePoint et FrontPage

Les extensions de serveur SharePoint et FrontPage (FPSE) ne sont pas prises en charge.

Taille du site web

Les sites gratuits ont une limite de taille de 1 Go de contenu. Si la taille de votre site est supérieure à 1 Go, vous devez mettre à niveau vers une référence SKU payante. Consultez app service tarification.

Taille de la base de données

Pour les bases de données SQL Server, consultez la tarification SQL Database actuelle.

Intégration d’Azure Active Directory (AAD)

AAD ne fonctionne pas avec les applications gratuites. Pour utiliser l’authentification AAD, vous devez mettre à niveau la référence SKU de l’application. Consultez app service tarification.

Surveillance et diagnostics

Il est peu probable que vos solutions locales actuelles d’analyse et de diagnostics fonctionnent dans le cloud. Toutefois, Azure fournit des outils pour la journalisation, l’analyse et les diagnostics afin que vous puissiez identifier et résoudre les problèmes liés aux applications web. Vous pouvez facilement activer les diagnostics pour votre application web dans sa configuration, et afficher les journaux d’activité enregistrés dans Azure Application Insights. En savoir plus sur l’activation de la journalisation des diagnostics pour les applications web.

Chaînes de connexion et paramètres d’application

Envisagez d’utiliser Azure KeyVault, un service qui stocke en toute sécurité les informations sensibles utilisées dans votre application. Vous pouvez également stocker ces données sous forme de paramètre App Service.

DNS

Vous devrez peut-être mettre à jour les configurations DNS selon les besoins de votre application. Ces paramètres DNS peuvent être configurés dans les paramètres de domaine personnalisés d’App Service.

Azure App Service avec des conteneurs Windows

Si votre application ne peut pas être migrée directement vers App Service, envisagez d’utiliser App Service à l’aide de conteneurs Windows, ce qui permet l’utilisation du GAC, des composants COM, MSI, l’accès complet à .NET FX API, DirectX et bien plus encore.

Voir aussi