Démarrage rapide : Créer et déployer des applications sur Azure Spring Apps à l’aide du plan Entreprise
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.
Le plan de consommation standard et dédiée sera déconseillé à compter du 30 septembre 2024, avec un arrêt complet après six mois. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer le plan de consommation standard et dédiée Azure Spring Apps vers Azure Container Apps.
Cet article s’applique à : ❎ Essentiel/Standard ✅ Entreprise
Ce quickstart vous montre comment créer et déployer des applications sur Azure Spring Apps en utilisant le plan Enterprise.
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Comprendre la section Exigences du plan niveau Enterprise dans la place de marché Azure et y répondre.
- Azure CLI version 2.45.0 ou ultérieure.
- Git.
- L’extension de plan Enterprise d’Azure Spring Apps. Utilisez la commande suivante pour supprimer les versions précédentes et installer l’extension de plan Enterprise la plus récente. Si vous avez déjà installé l’extension
spring-cloud
, désinstallez-la pour éviter les incompatibilités de configuration et de version.az extension add --upgrade --name spring az extension remove --name spring-cloud
Télécharger l’exemple d’application
Utilisez les commandes suivantes pour télécharger l’exemple :
git clone https://github.com/Azure-Samples/acme-fitness-store
cd acme-fitness-store
Provisionner une instance de service
Pour provisionner une instance de service Azure Spring Apps, procédez comme suit.
Utilisez la commande suivante pour vous connecter à l’interface Azure CLI et choisir votre abonnement actif :
az login az account list --output table az account set --subscription <subscription-ID>
Utilisez la commande suivante pour accepter les conditions d’utilisation et la déclaration de confidentialité du niveau Enterprise. 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 provider register --namespace Microsoft.SaaS az term accept \ --publisher vmware-inc \ --product azure-spring-cloud-vmware-tanzu-2 \ --plan asa-ent-hr-mtr
Sélectionnez un emplacement. Cet emplacement doit être un emplacement prenant en charge le plan Azure Spring Apps Enterprise. Pour plus d’informations, consultez Questions fréquentes (FAQ) sur Azure Spring Apps.
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. Le nom de votre instance de service Azure Spring Apps doit comporter entre 4 et 32 caractères et ne contenir que des lettres, 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.
export LOCATION="<location>" export RESOURCE_GROUP="<resource-group-name>" export SERVICE_NAME="<Azure-Spring-Apps-service-instance-name>" export WORKSPACE_NAME="<workspace-name>"
Utilisez la commande suivante pour créer un groupe de ressources :
az group create \ --name ${RESOURCE_GROUP} \ --location ${LOCATION}
Pour plus d’informations sur les groupes de ressources, consultez Qu’est-ce qu’Azure Resource Manager ?.
Utilisez la commande suivante pour créer une instance de service Azure Spring Apps :
az spring create \ --resource-group ${RESOURCE_GROUP} \ --name ${SERVICE_NAME} \ --sku enterprise \ --enable-application-configuration-service \ --enable-service-registry \ --enable-gateway \ --enable-api-portal
Utilisez la commande suivante pour créer un espace de travail Log Analytics à utiliser pour votre service Azure Spring Apps :
az monitor log-analytics workspace create \ --resource-group ${RESOURCE_GROUP} \ --workspace-name ${WORKSPACE_NAME} \ --location ${LOCATION}
Utilisez les commandes suivantes pour récupérer l’ID de ressource de votre espace de travail Log Analytics et votre instance de service Azure Spring Apps :
export LOG_ANALYTICS_RESOURCE_ID=$(az monitor log-analytics workspace show \ --resource-group ${RESOURCE_GROUP} \ --workspace-name ${WORKSPACE_NAME} \ --query id \ --output tsv) export AZURE_SPRING_APPS_RESOURCE_ID=$(az spring show \ --resource-group ${RESOURCE_GROUP} \ --name ${SERVICE_NAME} \ --query id \ --output tsv)
Utilisez la commande suivante pour configurer les paramètres de diagnostic pour le service Azure Spring Apps :
az monitor diagnostic-settings create \ --name "send-logs-and-metrics-to-log-analytics" \ --resource ${AZURE_SPRING_APPS_RESOURCE_ID} \ --workspace ${LOG_ANALYTICS_RESOURCE_ID} \ --logs '[ { "category": "ApplicationConsole", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } }, { "category": "SystemLogs", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } }, { "category": "IngressLogs", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } } ]' \ --metrics '[ { "category": "AllMetrics", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } } ]'
Utilisez les commandes suivantes pour créer des applications pour
cart-service
,order-service
,payment-service
,catalog-service
etfrontend
:az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name cart-service \ --service ${SERVICE_NAME} az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name order-service \ --service ${SERVICE_NAME} az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name payment-service \ --service ${SERVICE_NAME} az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name catalog-service \ --service ${SERVICE_NAME} az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name frontend \ --service ${SERVICE_NAME}
Externaliser la configuration avec le service de configuration des applications
Pour configurer le service de configuration des applications, procédez comme suit.
Utilisez la commande suivante pour créer un référentiel de configuration pour le service de configuration des applications :
az spring application-configuration-service git repo add \ --resource-group ${RESOURCE_GROUP} \ --name acme-fitness-store-config \ --service ${SERVICE_NAME} \ --label main \ --patterns "catalog/default,catalog/key-vault,identity/default,identity/key-vault,payment/default" \ --uri "https://github.com/Azure-Samples/acme-fitness-store-config"
Utilisez les commandes suivantes pour lier des applications au service de configuration des applications :
az spring application-configuration-service bind \ --resource-group ${RESOURCE_GROUP} \ --app payment-service \ --service ${SERVICE_NAME} az spring application-configuration-service bind \ --resource-group ${RESOURCE_GROUP} \ --app catalog-service \ --service ${SERVICE_NAME}
Activer l’inscription et la découverte des services
Pour activer l’inscription et la découverte des services, utilisez les commandes suivantes pour lier des applications au registre de services :
az spring service-registry bind \
--resource-group ${RESOURCE_GROUP} \
--app payment-service \
--service ${SERVICE_NAME}
az spring service-registry bind \
--resource-group ${RESOURCE_GROUP} \
--app catalog-service \
--service ${SERVICE_NAME}
Déployer des applications polyglottes avec Tanzu Build Service
Pour déployer et générer des applications, procédez comme suit. Pour ces étapes, assurez-vous que le terminal se trouve dans le dossier du projet avant d’exécuter des commandes.
Utilisez la commande suivante pour créer un générateur personnalisé dans Tanzu Build Service :
az spring build-service builder create \ --resource-group ${RESOURCE_GROUP} \ --name quickstart-builder \ --service ${SERVICE_NAME} \ --builder-file azure-spring-apps-enterprise/resources/json/tbs/builder.json
Utilisez la commande suivante pour générer et déployer le service de paiement :
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name payment-service \ --service ${SERVICE_NAME} \ --config-file-pattern payment/default \ --source-path apps/acme-payment \ --build-env BP_JVM_VERSION=17
Utilisez la commande suivante pour générer et déployer le service de catalogue :
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name catalog-service \ --service ${SERVICE_NAME} \ --config-file-pattern catalog/default \ --source-path apps/acme-catalog \ --build-env BP_JVM_VERSION=17
Utilisez la commande suivante pour générer et déployer le service de commande :
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name order-service \ --service ${SERVICE_NAME} \ --builder quickstart-builder \ --source-path apps/acme-order
Utilisez la commande suivante pour générer et déployer le service de panier :
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name cart-service \ --service ${SERVICE_NAME} \ --builder quickstart-builder \ --env "CART_PORT=8080" \ --source-path apps/acme-cart
Utilisez la commande suivante pour générer et déployer l’application frontale :
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name frontend \ --service ${SERVICE_NAME} \ --source-path apps/acme-shopping
Conseil
Pour résoudre les problèmes liés aux déploiements, vous pouvez utiliser la commande suivante afin d’obtenir un streaming des journaux en temps réel chaque fois que l’application est en cours d’exécution : az spring app logs --name <app name> --follow
.
Acheminer des demandes vers des applications avec Spring Cloud Gateway
Pour configurer Spring Cloud Gateway et configurer des itinéraires vers des applications, procédez comme suit.
Utilisez la commande suivante pour attribuer un point de terminaison à Spring Cloud Gateway :
az spring gateway update \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --assign-endpoint true
Utilisez les commandes suivantes pour configurer les informations d’API Spring Cloud Gateway :
export GATEWAY_URL=$(az spring gateway show \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --query properties.url \ --output tsv) az spring gateway update \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --api-description "Fitness Store API" \ --api-title "Fitness Store" \ --api-version "v1.0" \ --server-url "https://${GATEWAY_URL}" \ --allowed-origins "*"
Utilisez la commande suivante pour créer des itinéraires pour le service de panier :
az spring gateway route-config create \ --resource-group ${RESOURCE_GROUP} \ --name cart-routes \ --service ${SERVICE_NAME} \ --app-name cart-service \ --routes-file azure-spring-apps-enterprise/resources/json/routes/cart-service.json
Utilisez la commande suivante pour créer des itinéraires pour le service de commande :
az spring gateway route-config create \ --resource-group ${RESOURCE_GROUP} \ --name order-routes \ --service ${SERVICE_NAME} \ --app-name order-service \ --routes-file azure-spring-apps-enterprise/resources/json/routes/order-service.json
Utilisez la commande suivante pour créer des itinéraires pour le service de catalogue :
az spring gateway route-config create \ --resource-group ${RESOURCE_GROUP} \ --name catalog-routes \ --service ${SERVICE_NAME} \ --app-name catalog-service \ --routes-file azure-spring-apps-enterprise/resources/json/routes/catalog-service.json
Utilisez la commande suivante pour créer des itinéraires pour l’application frontale :
az spring gateway route-config create \ --resource-group ${RESOURCE_GROUP} \ --name frontend-routes \ --service ${SERVICE_NAME} \ --app-name frontend \ --routes-file azure-spring-apps-enterprise/resources/json/routes/frontend.json
Utilisez les commandes suivantes pour récupérer l’URL de Spring Cloud Gateway :
export GATEWAY_URL=$(az spring gateway show \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --query properties.url \ --output tsv) echo "https://${GATEWAY_URL}"
Vous pouvez ouvrir l’URL de sortie dans un navigateur pour explorer l’application déployée.
Parcourir et tester des API avec le portail des API
Pour configurer le portail des API, procédez comme suit.
Utilisez la commande suivante pour attribuer un point de terminaison au portail des API :
az spring api-portal update \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --assign-endpoint true
Utilisez les commandes suivantes pour récupérer l’URL du portail d’API :
export PORTAL_URL=$(az spring api-portal show \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --query properties.url \ --output tsv) echo "https://${PORTAL_URL}"
Vous pouvez ouvrir l’URL de sortie dans un navigateur pour explorer les API d’application.
Nettoyer les ressources
Si vous prévoyez d’utiliser d’autres guides de démarrage rapide et tutoriels, vous pouvez conserver ces ressources. Quand vous n’en avez plus besoin, supprimez le groupe de ressources, ce qui supprime également les ressources qu’il contient. Pour supprimer le groupe de ressources à l’aide d’Azure CLI, utilisez les commandes suivantes :
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Étapes suivantes
Maintenant que vous avez créé et déployé votre application avec succès, passez à l’un des guides de démarrage rapide facultatifs suivants :