Démarrage rapide : déployer des applications de microservices sur Azure Spring Apps
Article
Remarque
Les plans Essentiel, Standard et Entreprise seront déconseillés à compter de la mi-mars 2025, avec une période de mise hors service de 3 ans. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.
Cet article vous explique comment déployer des applications de microservices sur Azure Spring Apps en utilisant l’exemple d’application bien connu PetClinic.
L’exemple Pet Clinic illustre le modèle d’architecture de microservice. Le diagramme suivant illustre l’architecture de l’application PetClinic sur le plan Entreprise Azure Spring Apps.
Le diagramme montre les flux architecturaux et les relations suivants de l’exemple Pet Clinic :
Il utilise Azure Spring Apps pour gérer les applications front-end et back-end. Les applications back-ends sont créées avec Spring Boot et chaque application utilise HSQLDB comme magasin persistant. L’application front-end reformée s’appuie sur l’application de passerelle API Pet Clinic avec Node.js qui sert d’application web front-end autonome.
Elle utilise les composants managés sur Azure Spring Apps, notamment Service Registry, le service de configuration des applications, la passerelle Spring Cloud et Application Live View. Le service de configuration des applications lit la configuration du référentiel Git.
Il expose l’URL de la passerelle Spring Cloud pour acheminer la demande vers les applications de service back-end et il expose l’URL d’Application Live View pour surveiller les applications principales.
Permet d’analyser des journaux en utilisant l’espace de travail Log Analytics.
Permet de surveiller le niveau de performance avec Application Insights.
Remarque
Cet article utilise une version simplifiée de PetClinic, à l’aide d’une base de données en mémoire qui n’est pas prête pour la production et pour un déploiement rapide sur Azure Spring Apps.
L’exemple Pet Clinic illustre le modèle d’architecture de microservice. Le diagramme suivant illustre l’architecture de l’application PetClinic sur le plan Standard Azure Spring Apps.
Le diagramme montre les flux architecturaux et les relations suivants de l’exemple Pet Clinic :
Permet d’utiliser Azure Spring Apps pour gérer les applications Spring Boot. Chaque application utilise HSQLDB comme magasin persistant.
Permet d’utiliser les composants managés Spring Cloud Config Server et Eureka Service Registry sur Azure Spring Apps. Le serveur Config Server lit la configuration du référentiel Git.
Permet d’exposer l’URL de la passerelle API pour équilibrer la charge des requêtes adressées aux applications de service et expose l’URL du serveur d’administration pour gérer les applications.
Permet d’analyser des journaux en utilisant l’espace de travail Log Analytics.
Permet de surveiller le niveau de performance avec Application Insights.
Remarque
Cet article utilise une version simplifiée de PetClinic, à l’aide d’une base de données en mémoire qui n’est pas prête pour la production et pour un déploiement rapide sur Azure Spring Apps.
L’application déployée admin-server expose l’accès public, qui est un point de risque. L’environnement de production doit sécuriser l’application Spring Boot Administrateur.
Cet article fournit les options suivantes pour le déploiement sur Azure Spring Apps :
L’option Portail Azure est la méthode la plus simple et la plus rapide pour créer des ressources et déployer des applications en un seul clic. Cette option convient aux développeurs Spring qui souhaitent déployer rapidement des applications sur des services cloud Azure.
L'option Portail Azure + Plugin Maven est un moyen plus conventionnel de créer des ressources et de déployer des applications étape par étape. Cette option convient aux développeurs Spring qui utilisent les services cloud Azure pour la première fois.
L'option Azure CLI utilise un puissant outil de ligne de commande pour gérer les ressources Azure. Cette option convient aux développeurs Spring qui sont familiarisés avec les services cloud Azure.
L'option Portail Azure + Plugin Maven est un moyen plus conventionnel de créer des ressources et de déployer des applications étape par étape. Cette option convient aux développeurs Spring qui utilisent les services cloud Azure pour la première fois.
L’option Azure Developer CLI est un moyen plus efficace de créer automatiquement des ressources et de déployer des applications par le biais de commandes simples. Azure Developer CLI utilise un modèle pour provisionner les ressources Azure nécessaires et déployer le code de l’application. Cette option convient aux développeurs Spring qui sont familiarisés avec les services cloud Azure.
La liste suivante décrit l’interaction de commande :
Entrez un nouveau nom d’environnement : fournissez un nom d’environnement, qui est utilisé comme suffixe pour le groupe de ressources créé pour contenir toutes les ressources Azure. Ce nom doit être unique dans votre abonnement Azure.
La console génère des messages similaires à l’exemple suivant :
Initializing a new project (azd init)
Downloading template code to: <your-local-path>
(✓) Done: Initialized git repository
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Préparer l’environnement cloud
Cette section décrit comment créer une instance de service Azure Spring Apps et préparer l’environnement cloud Azure.
Accédez auportail Azure, entrez vos informations d’identification et connectez-vous au portail. Il s’ouvre par défaut sur le tableau de bord des services.
3.2. Créer une instance Azure Spring Apps
Utilisez la procédure suivante pour créer une instance de service :
Sélectionnez Créer une ressource dans le coin du portail Azure.
Sous l’onglet Services Azure, sélectionnez Calculer>Azure Spring Apps.
Dans la page Créer Azure Spring Apps, remplissez le formulaire sous l’onglet Informations de base.
Utilisez le tableau suivant comme guide afin de remplir le formulaire. Le plan recommandé est Standard.
Paramètre
Valeur suggérée
Description
Abonnement
Nom de votre abonnement.
Abonnement Azure que vous souhaitez utiliser pour votre serveur. Si vous disposez de plusieurs abonnements, choisissez celui pour lequel vous souhaitez que la ressource soit facturée.
Groupe de ressources
myresourcegroup
Un nouveau nom de groupe de ressources ou un nom de groupe existant dans votre abonnement.
Nom
myasa
Nom unique qui identifie votre instance Azure Spring Apps. Le nom doit comporter entre 4 et 32 caractères, et contenir uniquement des lettres minuscules, des chiffres et des traits d’union. Le premier caractère du nom du service doit être une lettre, et le dernier doit être une lettre ou un chiffre.
Planification
Standard
Le plan tarifaire détermine les ressources et le coût associés à votre instance.
Région
La région la plus proche de vos utilisateurs.
L’emplacement géographique le plus proche de vos utilisateurs.
Redondant interzone
Non sélectionné
Permet de créer votre service Azure Spring Apps dans une zone de disponibilité Azure. Non pris en charge actuellement dans toutes les régions.
Accédez à l’onglet Paramètres de diagnostic dans la page Créer Azure Spring Apps, puis sélectionnez Créer pour créer une instance d’espace de travail Log Analytics. Dans la page Créer un espace de travail Log Analytics, mettez à jour le nom de l’espace de travail Log Analytics en fonction des besoins, puis sélectionnez OK pour confirmer la création.
Accédez à l’onglet Application Insights dans la page Créer Azure Spring Apps, puis sélectionnez Créer pour créer une instance Application Insights. Dans la page Créer une ressource Application Insights, mettez à jour le nom Application Insights en fonction des besoins, sélectionnez Basé sur l’espace de travail pour le Mode de ressources, puis sélectionnez OK pour confirmer la création.
Sélectionnez Vérifier et créer pour passer en revue vos sélections. Ensuite, sélectionnez Créer pour provisionner l’instance d’application Azure Spring.
Sélectionnez l’icône Notifications (en forme de cloche) pour surveiller le processus de déploiement. Une fois le déploiement terminé, vous pouvez sélectionner Épingler au tableau de bord pour créer un raccourci sur le tableau de bord de votre Portail Microsoft Azure vers la page Présentation du service.
Sélectionnez Accéder à la ressource pour accéder à la page Vue d’ensemble d’Azure Spring Apps.
Sélectionnez Config Server dans le volet de navigation.
Après la validation, sélectionnez Appliquer pour terminer la configuration du Config Server.
Pour créer les ressources requises, procédez comme suit :
Utilisez la commande suivante pour vous connecter à Azure avec OAuth2. Ignorez cette étape si vous vous êtes déjà connecté.
azd auth login
La console génère des messages similaires à l’exemple suivant :
Logged in to Azure.
Utilisez la commande suivante pour empaqueter une copie déployable de votre application, provisionner l’infrastructure du modèle sur Azure, puis déployer le code de l’application sur les nouvelles ressources provisionnées :
azd provision
La liste suivante décrit les interactions de commande :
Sélectionnez un abonnement Azure à utiliser : utilisez les flèches pour vous déplacer, tapez du texte pour filtrer, puis appuyez sur Entrée.
Sélectionnez un emplacement Azure à utiliser : utilisez les flèches pour vous déplacer, tapez du texte pour filtrer, puis appuyez sur Entrée.
La console génère des messages similaires à l’exemple suivant :
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Remarque
Cette commande peut prendre un certain temps. Un indicateur de progression s’affiche au fur et à mesure de l’approvisionnement des ressources Azure.
4. Déployer les applications sur Azure Spring Apps
Vous pouvez maintenant déployer l’application sur Azure Spring Apps.
La liste suivante décrit les interactions de commande :
Sélectionnez des modules enfants à configurer (nombres d’entrée séparés par des virgules, par exemple : [1-2,4,6], ENTRÉE pour sélectionner TOUT) : appuyez sur Entrée pour tout sélectionner.
Connexion OAuth2 : autorisez la connexion à Azure basée sur le protocole OAuth2.
Sélectionnez un abonnement : sélectionnez le numéro de liste d’abonnements de l’instance Azure Spring Apps créée, qui correspond par défaut au premier abonnement de la liste. Si vous utilisez le nombre par défaut, appuyez directement sur Entrée.
Sélectionnez Azure Spring Apps pour le déploiement : sélectionnez le numéro de liste de l’instance Azure Spring Apps que vous avez créée. Si vous utilisez le nombre par défaut, appuyez directement sur Entrée.
Sélectionnez des applications pour exposer l’accès public : (nombres d’entrée séparés par des virgules, par exemple : [1-2,4,6], ENTRÉE pour sélectionner AUCUN) : entrez 1,5 pour admin-server et api-gateway.
Confirmez pour enregistrer toutes les configurations ci-dessus (O/N) : entrez O. Si vous entrez N, la configuration n’est pas enregistrée dans les fichiers POM.
Utilisez la commande suivante pour générer et déployer chaque application :
./mvnw azure-spring-apps:deploy
Pour l’invitation Connexion OAuth2, autorisez la connexion à Azure en fonction du protocole OAuth2.
Notes
Le déploiement sur Azure Spring Apps peut prendre jusqu’à 25 minutes.
Une fois la commande exécutée, un journal affiche une sortie similaire à l’exemple suivant, ce qui indique que tous les déploiements réussissent :
[INFO] Deployment(default) is successfully updated.
[INFO] Deployment Status: Running
[INFO] InstanceName:admin-server-default-xx-xx-xxx Status:Running Reason:null DiscoverStatus:UP
[INFO] Getting public url of app(admin-server)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io
...
[INFO] Getting public url of app(api-gateway)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io
Utilisez la procédure ci-dessous pour empaqueter l’application, approvisionner les ressources Azure requises par l’application web, puis déployer sur Azure Spring Apps :
Utilisez la commande suivante pour empaqueter une copie déployable de votre application :
azd package
La console génère des messages similaires à l’exemple suivant :
SUCCESS: Your application was packaged for Azure in xx minutes xx seconds.
Utilisez la commande suivante pour déployer le code d’application sur les nouvelles ressources approvisionnées :
azd deploy
La console génère des messages similaires à l’exemple suivant :
Deploying services (azd deploy)
(✓) Done: Deploying service admin-server
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io
(✓) Done: Deploying service api-gateway
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io
(✓) Done: Deploying service customers-service
- No endpoints were found
(✓) Done: Deploying service vets-service
- No endpoints were found
(✓) Done: Deploying service visits-service
- No endpoints were found
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Notes
Vous pouvez également utiliser azd up pour combiner les trois commandes précédentes : azd package (empaquette une copie déployable de votre application), azd provision (provisionne les ressources Azure) et azd deploy (déploie le code de l’application). Pour plus d’informations, consultez Azure-Samples/spring-petclinic-microservices.
Le bouton Déployer vers Azure de la section suivante lance une expérience de portail Azure qui déploie le code source à partir du référentiel Spring PetClinic. Aucune étape de préparation locale n’est nécessaire.
Effectuez ces étapes sur votre ordinateur local lorsque vous souhaitez vérifier l’application avant de la déployer dans le cloud :
Pour les clients, les vétérinaires, les visites et les services Spring Cloud Gateway, ouvrez une nouvelle fenêtre Bash et utilisez les commandes suivantes pour démarrer les services :
Ouvrez une nouvelle fenêtre Bash et accédez au répertoire spring-petclinic-frontend du projet. Utilisez les commandes suivantes pour installer les dépendances et exécuter l’application front-end :
npm install
npm run start
Une fois le script terminé, accédez à http://localhost:8080 dans votre navigateur pour accéder à l’application PetClinic.
Effectuez ces étapes sur votre ordinateur local lorsque vous souhaitez vérifier l’application avant de la déployer dans le cloud :
Pour les clients, les vétérinaires, les visites et les services Spring Cloud Gateway, ouvrez une nouvelle fenêtre Bash et utilisez les commandes suivantes pour démarrer les services :
Ouvrez une nouvelle fenêtre Bash et accédez au répertoire spring-petclinic-frontend du projet. Utilisez les commandes suivantes pour installer les dépendances et exécuter l’application front-end :
npm install
npm run start
Une fois le script terminé, accédez à http://localhost:8080 dans votre navigateur pour accéder à l’application PetClinic.
3. Préparer l’environnement cloud
Une instance Azure Spring Apps est la principale ressource dont vous avez besoin pour exécuter cet exemple. Cette section décrit comment créer cette ressource.
Cette section utilise un bouton Déployer sur Azure pour lancer une expérience de déploiement dans le portail Azure. Cette expérience utilise un modèle ARM pour créer des ressources Azure.
3.1. Connectez-vous au portail Azure.
Accédez auportail Azure, entrez vos informations d’identification et connectez-vous au portail. Il s’ouvre par défaut sur le tableau de bord des services.
3.2. Créer des ressources Azure
Pour créer toutes les ressources Azure dont dépend l’application, procédez comme suit :
Sélectionnez le bouton Déployer sur Azure suivant pour lancer l’expérience de déploiement dans le Portail Microsoft Azure :
Renseignez le formulaire dans l’onglet Informations de base. Utilisez le tableau suivant comme guide afin de remplir le formulaire :
Paramètre
Valeur suggérée
Description
Abonnement
Nom de votre abonnement.
Abonnement Azure que vous souhaitez utiliser pour votre serveur. Si vous disposez de plusieurs abonnements, choisissez celui dans lequel vous souhaitez que la ressource soit facturée.
Groupe de ressources
myresourcegroup
Un nouveau nom de groupe de ressources ou un nom de groupe existant dans votre abonnement.
Région
La région la plus proche de vos utilisateurs.
La région est utilisée pour créer le groupe de ressources.
Sélectionnez Vérifier et créer pour passer en revue vos sélections. Ensuite, sélectionnez Créer pour déployer l’application sur Azure Spring Apps.
Dans la barre d’outils, sélectionnez l’icône Notifications (en forme de cloche) pour surveiller le processus de déploiement. Une fois le déploiement terminé, vous pouvez sélectionner Épingler au tableau de bord, ce qui crée une vignette pour ce service dans votre tableau de bord du Portail Microsoft Azure, en tant que raccourci vers la page Vue d’ensemble du service. Sélectionnez Accéder à la ressource pour ouvrir la page Vue d’ensemble du service.
3.1. Connectez-vous au portail Azure.
Accédez au Portail Microsoft Azure et entrez vos informations d’identification pour vous connecter au portail. Il s’ouvre par défaut sur le tableau de bord des services.
3.2. Créer une instance Azure Spring Apps
Utilisez la procédure suivante pour créer une instance de service :
Sélectionnez Créer une ressource dans le coin du portail Azure.
Sélectionnez Calcul>Azure Spring Apps.
Remplissez le formulaire dans l’onglet Informations de base. Utilisez le tableau suivant comme guide afin de remplir le formulaire :
Paramètre
Valeur suggérée
Description
Abonnement
Nom de votre abonnement.
Abonnement Azure que vous souhaitez utiliser pour votre serveur. Si vous disposez de plusieurs abonnements, choisissez celui dans lequel vous souhaitez que la ressource soit facturée.
Groupe de ressources
myresourcegroup
Un nouveau nom de groupe de ressources ou un nom de groupe existant dans votre abonnement.
Nom
myasa
Nom unique qui identifie votre instance Azure Spring Apps. Le nom doit comporter entre 4 et 32 caractères, et contenir uniquement des lettres minuscules, des chiffres et des traits d’union. Le premier caractère du nom du service doit être une lettre, et le dernier doit être une lettre ou un chiffre.
Région
La région la plus proche de vos utilisateurs.
L’emplacement géographique le plus proche de vos utilisateurs.
Options et plans d’hébergement
Entreprise
Plan tarifaire qui détermine la ressource et le coût associés à votre instance.
Redondant interzone
Non sélectionné
Option permettant de créer votre service Azure Spring Apps dans une zone de disponibilité Azure. Cette fonctionnalité n’est actuellement pas prise en charge dans toutes les régions.
Forfait IP logiciel
Paiement à l’utilisation
Plan tarifaire qui vous permet de payer au fur et à mesure à l’aide d’Azure Spring Apps.
Accédez à l’onglet Paramètres de diagnostic dans la page Créer Azure Spring Apps, puis sélectionnez Créer pour créer une instance d’espace de travail Log Analytics. Dans la page Créer un espace de travail Log Analytics, mettez à jour le nom de l’espace de travail Log Analytics en fonction des besoins, puis sélectionnez OK pour confirmer la création.
Accédez à l’onglet Application Insights dans la page Créer Azure Spring Apps, puis sélectionnez Créer pour créer une instance Application Insights. Dans la page Créer une ressource Application Insights, mettez à jour le nom Application Insights en fonction des besoins, sélectionnez Basé sur l’espace de travail pour le Mode de ressources, puis sélectionnez OK pour confirmer la création.
Sélectionnez Vérifier et créer pour passer en revue vos sélections. Ensuite, sélectionnez Créer pour provisionner l’instance d’application Azure Spring.
Sélectionnez l’icône Notifications (en forme de cloche) pour surveiller le processus de déploiement. Une fois le déploiement terminé, vous pouvez sélectionner Épingler au tableau de bord pour créer un raccourci sur le tableau de bord de votre Portail Microsoft Azure vers la page Présentation du service.
Sélectionnez Accéder à la ressource pour accéder à la page Vue d’ensemble d’Azure Spring Apps.
3.3. Configurer l’instance Azure Spring Apps
Les sections suivantes vous montrent comment configurer l’instance de service.
Créer les applications
Pour créer les applications, procédez comme suit :
Dans le volet de navigation, sélectionnez Applications, puis sélectionnez Créer une application.
Dans la page Créer une application, pour le Nom de l’application, utilisez front-end et laissez tous les autres champs avec leurs valeurs par défaut.
Répétez l’étape précédente à l’aide de chacun des noms d’application suivants :
customers-service
vets-service
visits-service
Sélectionnez Créer pour terminer la création de l’application.
Configurer Service Registry
Pour configurer Service Registry, procédez comme suit :
Dans le volet de navigation, sélectionnez Service Registry.
Sélectionnez Liaison d’application, sélectionnez Lier l’application, sélectionnez customers-service dans la liste, puis sélectionnez Appliquer.
Répétez l’étape précédente pour lier les applications suivantes :
vets-service
visits-service
Configurer le service de configuration des applications
Pour configurer le service de configuration des applications, procédez comme suit :
Dans le volet de navigation, sélectionnez Service de configuration des applications, puis Paramètres.
Renseignez le référentiel avec les informations suivantes, puis sélectionnez Valider :
Après validation, sélectionnez Appliquer pour terminer la configuration du service de configuration des applications.
Sélectionnez Liaison d’application, sélectionnez Lier l’application, sélectionnez customers-service dans la liste, puis sélectionnez Appliquer.
Répétez l’étape précédente pour lier les applications suivantes :
vets-service
visits-service
Définir les modèles de fichier de configuration pour les applications
Pour définir les modèles de fichier de configuration, procédez comme suit :
Dans le volet de navigation, sélectionnez Applications, puis sélectionnez l’application customers-service.
Dans la page Vue d’ensemble de l’application, sélectionnez Configuration, sélectionnezModèles de fichier de configuration sous l’onglet Paramètres généraux, puis sélectionnez Application et customers-service. Sélectionnez Enregistrer pour définir les modèles de fichier de configuration.
Répétez l’étape précédente pour enregistrer les modèles de fichier de configuration pour les applications suivantes :
vets-service : sélectionnez Application et vets-service.
visits-service : sélectionnez Application et visits-service.
Configurer Spring Cloud Gateway
Cette section vous montre comment configurer Spring Cloud Gateway.
Tout d’abord, procédez comme suit pour affecter un point de terminaison pour l’accès à la passerelle :
Dans le volet de navigation, sélectionnez Spring Cloud Gateway.
Sous l’onglet Vue d’ensemble, sélectionnez Oui pour affecter un point de terminaison. Enregistrez l’URL du point de terminaison à utiliser ultérieurement.
Ensuite, configurez le routage pour Spring Cloud Gateway. Étant donné que le portail Microsoft Azure ne prend actuellement pas en charge la configuration de la route pour Spring Cloud Gateway, ouvrez une fenêtre Bash et utilisez les étapes Azure CLI suivantes pour configurer le routage :
Utilisez la commande suivante pour vous connecter à Azure CLI :
az login
Utilisez les commandes suivantes pour installer l’extension Azure Spring Apps pour Azure CLI et inscrire l’espace de noms Microsoft.SaaS :
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
Utilisez la commande suivante pour accepter les conditions d’utilisation et la déclaration de confidentialité :
Remarque
Cette étape est nécessaire uniquement si votre abonnement n’a jamais été utilisé pour créer une instance de niveau Entreprise d’Azure Spring Apps.
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
Créez des variables destinées à contenir les noms de ressources à l’aide des commandes suivantes. Veillez à remplacer les espaces réservés par vos valeurs.
Procédez comme suit pour configurer les outils de développement.
Dans le volet de navigation, sélectionnez Outils de développement.
Sélectionnez Affecter un point de terminaison pour affecter un point de terminaison pour les Outils de développement.
Enregistrez le point de terminaison d’App Live View pour l’utiliser ultérieurement.
3.1. Donner des noms à chaque ressource
Créez des variables destinées à contenir les noms de ressources à l’aide des commandes suivantes. Veillez à remplacer les espaces réservés par vos valeurs.
Utilisez les commandes suivantes pour créer des applications pour l’instance Azure Spring Apps :
az spring app create --service ${SPRING_APPS} --name ${APP_FRONTEND}
az spring app create --service ${SPRING_APPS} --name ${APP_CUSTOMERS_SERVICE}
az spring app create --service ${SPRING_APPS} --name ${APP_VETS_SERVICE}
az spring app create --service ${SPRING_APPS} --name ${APP_VISITS_SERVICE}
Utilisez les commandes suivantes pour lier des applications pour le Registre de services :
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_CUSTOMERS_SERVICE}
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_VETS_SERVICE}
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_VISITS_SERVICE}
Utilisez la commande suivante pour créer un référentiel de configuration pour le service de configuration d’application :
Utilisez les commandes suivantes pour lier des applications au service de configuration d’application :
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_CUSTOMERS_SERVICE}
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_VETS_SERVICE}
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_VISITS_SERVICE}
Utilisez la commande suivante pour attribuer un point de terminaison à Spring Cloud Gateway :
az spring gateway update --service ${SPRING_APPS} --assign-endpoint
Utilisez la commande suivante pour définir le routage de l’application customers-service :
Le bouton Déployer sur Azure dans la section précédente lance une expérience du portail Azure qui inclut le déploiement d’applications. Vous n’avez donc rien d’autre à faire.
La liste suivante décrit les interactions de commande :
Sélectionnez les modules enfants à configurer : appuyez sur Entrée pour tout sélectionner.
Sélectionnez un abonnement : sélectionnez le numéro de liste d’abonnements de l’instance Azure Spring Apps créée, qui correspond par défaut au premier abonnement de la liste. Si vous utilisez le nombre par défaut, appuyez directement sur Entrée.
Utiliser Azure Spring Apps dans Azure : appuyez sur y (oui) pour utiliser l’instance Azure Spring Apps existante.
Sélectionnez des applications pour exposer l’accès public : appuyez sur Entrée pour sélectionner aucun.
Confirmez pour enregistrer toutes les configurations ci-dessus : appuyez sur y (oui). Si vous entrez N, la configuration n’est pas enregistrée dans les fichiers POM.
Utilisez la commande suivante pour déployer les applications back-end :
./mvnw azure-spring-apps:deploy
Une fois la commande exécutée, les messages de journal suivants indiquent que le déploiement a réussi :
[INFO] Start deploying artifact(customers-service-3.0.1.jar) to deployment(default) of app(customers-service)...
[INFO] Artifact(customers-service-3.0.1.jar) is successfully deployed to deployment(default) of app(customers-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
...
[INFO] Start deploying artifact(vets-service-3.0.1.jar) to deployment(default) of app(vets-service)...
[INFO] Artifact(vets-service-3.0.1.jar) is successfully deployed to deployment(default) of app(vets-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
...
[INFO] Start deploying artifact(visits-service-3.0.1.jar) to deployment(default) of app(visits-service)...
[INFO] Artifact(visits-service-3.0.1.jar) is successfully deployed to deployment(default) of app(visits-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
Le portail Microsoft Azure ne prend pas en charge le déploiement des applications front-end. Utilisez donc la commande Azure CLI suivante pour déployer l’application front-end :
az spring app deploy \
--resource-group ${RESOURCE_GROUP} \
--service ${SPRING_APPS_NAME} \
--name ${APP_FRONTEND} \
--source-path spring-petclinic-frontend \
--build-env BP_WEB_SERVER=nginx
Une fois la commande exécutée, les messages de journal suivants indiquent que le déploiement a réussi :
[5/5] Updating deployment in app "frontend" (this operation can take a while to complete)
Azure Spring Apps will use rolling upgrade to update your deployment, you have 1 instance, Azure Spring Apps will update the deployment in 1 round.
The deployment is in round 1, 1 old instance is deleted/deleting and 1 new instance is started/starting
Your application is successfully deployed.
Pour déployer les applications, effectuez les étapes suivantes :
Entrez le répertoire racine du projet et utilisez la commande suivante pour générer et déployer l’application front-end :
az spring app deploy \
--service ${SPRING_APPS} \
--name ${APP_FRONTEND} \
--build-env BP_WEB_SERVER=nginx \
--source-path ./spring-petclinic-frontend
Utilisez la commande suivante pour générer et déployer l’application customers-service :
Une fois le déploiement terminé, vous trouverez l’URL de Spring Cloud Gateway à partir des sorties de déploiement, comme illustré dans la capture d’écran suivante :
Ouvrez l’URL de la passerelle. L’application doit ressembler à la capture d’écran suivante :
5.2. Interroger les journaux d’application
Après avoir parcouru chaque fonction de PetClinic, l’espace de travail Log Analytics collecte les journaux de chaque application. Vous pouvez vérifier les journaux à l’aide de requêtes personnalisées, comme illustré dans la capture d’écran suivante :
5.3. Surveiller les applications
Application Insights surveille les dépendances de l’application, comme le montre la carte de suivi d’application suivante :
Vous pouvez trouver l’URL d’Application Live View à partir des sorties de déploiement. Ouvrez l’URL d’Application Live View pour monitorer les runtimes d’application, comme illustré dans la capture d’écran suivante :
5.1. Accéder aux applications
Utilisez le point de terminaison affecté à partir de Spring Cloud Gateway, par exemple https://<your-Azure-Spring-Apps-instance-name>-gateway-xxxxx.svc.azuremicroservices.io. L’application doit ressembler à la capture d’écran suivante :
5.2. Interroger les journaux d’application
Après avoir parcouru chaque fonction de PetClinic, l’espace de travail Log Analytics collecte les journaux de chaque application. Vous pouvez vérifier les journaux à l’aide de requêtes personnalisées, comme illustré dans la capture d’écran suivante :
5.3. Surveiller les applications
Application Insights surveille les dépendances de l’application, comme le montre la carte de suivi d’application suivante :
Ouvrez l’URL Application Live View exposée par les outils de développement pour surveiller les runtimes d’application, comme illustré dans la capture d’écran suivante :
5.1. Accéder aux applications
Utilisez les commandes suivantes pour récupérer l’URL de Spring Cloud Gateway :
export GATEWAY_URL=$(az spring gateway show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${GATEWAY_URL}"
L’application doit ressembler à la capture d’écran suivante :
5.2. Interroger les journaux d’application
Après avoir parcouru chaque fonction de PetClinic, l’espace de travail Log Analytics collecte les journaux de chaque application. Vous pouvez vérifier les journaux à l’aide de requêtes personnalisées, comme illustré dans la capture d’écran suivante :
5.3. Surveiller les applications
Application Insights surveille les dépendances de l’application, comme le montre la carte de suivi d’application suivante :
Utilisez les commandes suivantes pour récupérer l’URL d’Application Live View :
export DEV_TOOL_URL=$(az spring dev-tool show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${DEV_TOOL_URL}/app-live-view"
Ouvrez l’URL d’Application Live View pour monitorer les runtimes d’application, comme illustré dans la capture d’écran suivante :
5.1. Accéder aux applications
En tirant parti des informations d’URL dans la sortie du journal de déploiement, ouvrez l’URL exposée par l’application nommée api-gateway, par exemple, https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io. L’application doit ressembler à la capture d’écran suivante :
5.2. Interroger les journaux d’application
Après avoir parcouru chaque fonction de PetClinic, l’espace de travail Log Analytics collecte les journaux de chaque application. Vous pouvez vérifier les journaux à l’aide de requêtes personnalisées, comme illustré dans la capture d’écran suivante :
5.3. Surveiller les applications
Application Insights surveille les dépendances de l’application, comme le montre la carte de suivi d’application suivante :
Ouvrez l’URL exposée par l’application admin-server pour gérer les applications via Spring Boot Administration Server, comme illustré dans la capture d’écran suivante :
6. Nettoyer les ressources
Si vous prévoyez d’utiliser d’autres guides de démarrage rapide et tutoriels, vous pouvez conserver ces ressources. Lorsque vous n’avez plus besoin des ressources, vous pouvez supprimer les ressources inutiles pour éviter des frais Azure.
Procédez comme suit pour supprimer l’ensemble du groupe de ressources, y compris l’instance de service nouvellement créée :
Localisez votre groupe de ressources dans le portail Azure. Dans le menu de navigation, sélectionnez Groupes de ressources, puis sélectionnez le nom de votre groupe de ressources.
Dans la page Groupe de ressources, sélectionnez Supprimer. Entrez le nom de votre groupe de ressources dans la zone de texte pour confirmer la suppression, puis sélectionnez Supprimer.
Utilisez la commande suivante pour supprimer toutes les ressources Azure utilisées dans cet exemple d’application :
azd down
La liste suivante décrit l’interaction de commande :
Total des ressources à supprimer : <resources-total>, êtes-vous sûr de vouloir continuer ? : appuyez sur O.
La console génère des messages similaires à l’exemple suivant :
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
Assurez-vous de supprimer les ressources que vous avez créées dans cet article lorsque vous n’en aurez plus besoin. Vous pouvez supprimer le groupe de ressources Azure qui inclut toutes les ressources du groupe de ressources.
Effectuez les étapes suivantes pour supprimer l’intégralité du groupe de ressources :
Localisez votre groupe de ressources dans le portail Azure. Dans le menu de navigation, sélectionnez Groupes de ressources, puis sélectionnez le nom de votre groupe de ressources.
Dans la page Groupe de ressources, sélectionnez Supprimer. Entrez le nom de votre groupe de ressources dans la zone de texte pour confirmer la suppression, puis sélectionnez Supprimer.
Effectuez les étapes suivantes pour supprimer l’intégralité du groupe de ressources :
Localisez votre groupe de ressources dans le portail Azure. Dans le menu de navigation, sélectionnez Groupes de ressources, puis sélectionnez le nom de votre groupe de ressources.
Dans la page Groupe de ressources, sélectionnez Supprimer. Entrez le nom de votre groupe de ressources dans la zone de texte pour confirmer la suppression, puis sélectionnez Supprimer.
Utilisez la commande suivante pour supprimer le groupe de ressources :