Aujourd’hui, nous allons déployer notre Web API ASP .Net Core dans Azure. A la fin de ce tutoriel, vous aurez publié votre API dans une Web App Azure et configurer le monitoring avec Application Insights.
Je vais utiliser comme base le projet créé dans le dernier article, que vous pouvez récupérer ici : GitHub.
Dans un premier temps, nous devons paramétrer Application Insights dans notre solution :
Je précise que mon compte Azure est déjà créé et renseigné dans Visual Studio. Pour créer un tenant Azure : https://azure.microsoft.com.
A noter que si vous possédez un compte MSDN vous disposez gratuitement de crédit Azure renouvelé chaque mois.
Pour activer ce crédit : https://my.visualstudio.com
On renseigne le nom du groupe et de la ressource Insights à créer :
Un écran récapitulatif nous présente les ressources crées automatiquement dans Azure :
Ce paramétrage réalisé automatiquement consiste à ajouter à notre solution un fichier de configuration et à créer dans Azure une ressource Insights, chargée de logger et surveiller notre application.
Maintenant que notre application est paramétrée nous allons la déployer dans le Cloud et la rendre accessible de tous !
Sur notre projet, clic droit puis “Publier” :
On déploie dans une App Service, hébergée sur Windows ou Linux, à votre convenance !
La aussi, on renseigne le nom de notre application et le groupe de ressource auquel elle appartiendra. Un groupe de ressource est en quelque sorte un dossier virtuel qui contiendra nos éléments Azure. Un groupe de ressource est affecté à une localité d’hébergement.
On doit également choisir un plan d’hébergement. Celui-ci dépend des ressources matérielles que l’on veux avoir à notre disposition. Ce plan d’hébergement se traduira par une facturation différente suivant la puissance CPU / RAM choisie.
Il n’y a plus qu’à cliquer sur Créer :
Une fois le déploiement terminé, une page web s’ouvre sur l’URL de notre application. Ajoutez “/swagger/” à la fin de cette URL pour retrouver une interface familière.
Une fois que votre Web API est déployé, Application Insights vous offre la possibilité de surveiller votre programme.
Depuis le portail Azure sélectionnez votre ressource Insights pour un accès à un ensemble de fonctionnalités :
-
- Suivi d’indicateurs : latence, volumétrie des données, trafic réseaux, nombre d’erreurs …
-
- Métriques en temps réel
-
- Appels effectués sur votre API
-
- Outils de création de graphe personnalisé
- Langage de requête (LinQ) pour extraire les données qui vous semblent intéressante.
Énormément de possibilités pour un outils extrêmement puissant !
Pour en profiter pleinement, une mise à jour du package NuGet d’Insights s’impose !
Après avoir redéployé notre application :
Vous pourrez accéder à l’écran Flux de métriques en temps réel sur le portail Azure.
Pour découvrir l’étendue des possibilités de ce formidable outils : https://docs.microsoft.com/fr-fr/azure/application-insights/app-insights-visual-studio
En apparté, voici un petit outils pour tester vos API : Postman
Il vous permettra très facilement de tester vos API, et de pouvoir enreigstrer vos tests dans une collection pour pouvoir les reutiliser facilement !
Dans le prochain tuto, nous utiliserons Azure DevOps entre Visual Studio 2017 et notre WebApp Azure pour automatiser les builds et les déploiements !