Guida introduttiva: Distribuire applicazioni di microservizi in App Azure Spring
Articolo
Nota
I piani Basic, Standard ed Enterprise saranno deprecati a partire dalla metà di marzo 2025, con un periodo di ritiro di 3 anni. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.
Questo articolo illustra come distribuire applicazioni di microservizi in Azure Spring Apps usando l'app di esempio nota PetClinic.
L'esempio Pet Clinic illustra il modello di architettura del microservizio. Il diagramma seguente illustra l'architettura dell'applicazione PetClinic nel piano Azure Spring Apps Enterprise.
Il diagramma mostra i flussi architetturali e le relazioni seguenti dell'esempio pet clinic:
Usa Azure Spring Apps per gestire le app front-end e back-end. Le app back-end vengono compilate con Spring Boot e ogni app usa HSQLDB come archivio permanente. L'app front-end rifornita si basa sull'app Gateway api Pet Clinic con Node.js che funge da applicazione Web front-end autonoma.
Usa i componenti gestiti in Azure Spring Apps, tra cui Registro dei servizi, Servizio di configurazione delle applicazioni, Spring Cloud Gateway e Application Live View. Il servizio di configurazione dell'applicazione legge la configurazione del repository Git.
Espone l'URL di Spring Cloud Gateway per instradare la richiesta alle app del servizio back-end ed espone l'URL di Application Live View per monitorare le app back-end.
Analizza i log usando l'area di lavoro Log Analytics.
Monitora le prestazioni con Application Insights.
Nota
Questo articolo usa una versione semplificata di PetClinic, usando un database in memoria che non è pronto per la distribuzione rapida in Azure Spring Apps.
Tanzu Developer Tools espone l'accesso pubblico per Application Live View, che rappresenta un punto di rischio. L'ambiente di produzione deve proteggere l'accesso. Per altre informazioni, vedere la sezione Configurare il portale di Dev Tools di Tanzu nel piano Azure Spring Apps Enterprise.
L'esempio Pet Clinic illustra il modello di architettura del microservizio. Il diagramma seguente illustra l'architettura dell'applicazione PetClinic nel piano Standard di Azure Spring Apps.
Il diagramma mostra i flussi architetturali e le relazioni seguenti dell'esempio pet clinic:
Usa Azure Spring Apps per gestire le app Spring Boot. Ogni app usa HSQLDB come archivio permanente.
Usa i componenti gestiti Spring Cloud Config Server ed Eureka Service Registry in Azure Spring Apps. Il server di configurazione legge la configurazione del repository Git.
Espone l'URL del gateway API per bilanciare il carico delle richieste alle app del servizio ed espone l'URL del server di amministrazione per gestire le applicazioni.
Analizza i log usando l'area di lavoro Log Analytics.
Monitora le prestazioni con Application Insights.
Nota
Questo articolo usa una versione semplificata di PetClinic, usando un database in memoria che non è pronto per la distribuzione rapida in Azure Spring Apps.
L'app distribuita espone l'accesso admin-server pubblico, ovvero un punto di rischio. L'ambiente di produzione deve proteggere l'applicazione Spring Boot Admin.
Questo articolo offre le opzioni seguenti per la distribuzione in Azure Spring Apps:
L'opzione portale di Azure è il modo più semplice e rapido per creare risorse e distribuire applicazioni con un solo clic. Questa opzione è adatta agli sviluppatori Spring che vogliono distribuire rapidamente le applicazioni nei servizi cloud di Azure.
L'opzione plug-in portale di Azure + Maven è un modo più convenzionale per creare risorse e distribuire le applicazioni in modo dettagliato. Questa opzione è adatta agli sviluppatori Spring che usano i servizi cloud di Azure per la prima volta.
L'opzione dell'interfaccia della riga di comando di Azure usa un potente strumento da riga di comando per gestire le risorse di Azure. Questa opzione è adatta agli sviluppatori Spring che hanno familiarità con i servizi cloud di Azure.
L'opzione plug-in portale di Azure + Maven è un modo più convenzionale per creare risorse e distribuire le applicazioni in modo dettagliato. Questa opzione è adatta agli sviluppatori Spring che usano i servizi cloud di Azure per la prima volta.
L'opzione dell'interfaccia della riga di comando per sviluppatori di Azure è un modo più efficiente per creare automaticamente le risorse e distribuire le applicazioni tramite semplici comandi. L'interfaccia della riga di comando per sviluppatori di Azure usa un modello per effettuare il provisioning delle risorse di Azure necessarie e per distribuire il codice dell'applicazione. Questa opzione è adatta agli sviluppatori Spring che hanno familiarità con i servizi cloud di Azure.
Una sottoscrizione di Azure. Se non si ha già una sottoscrizione, creare un account gratuito prima di iniziare.
Se viene distribuita un'istanza del piano Enterprise di Azure Spring Apps per la prima volta nella sottoscrizione di destinazione, vedere la sezione Requisiti del Piano Enterprise in Azure Marketplace.
Una sottoscrizione di Azure. Se non si ha già una sottoscrizione, creare un account gratuito prima di iniziare.
Se viene distribuita un'istanza del piano Enterprise di Azure Spring Apps per la prima volta nella sottoscrizione di destinazione, vedere la sezione Requisiti del Piano Enterprise in Azure Marketplace.
Una sottoscrizione di Azure. Se non si ha già una sottoscrizione, creare un account gratuito prima di iniziare.
Se viene distribuita un'istanza del piano Enterprise di Azure Spring Apps per la prima volta nella sottoscrizione di destinazione, vedere la sezione Requisiti del Piano Enterprise in Azure Marketplace.
Passare alla directory radice del progetto e quindi usare il comando seguente per eseguire il progetto di esempio in locale:
bash ./scripts/run_all_without_infra.sh
Al termine dello script, passare a http://localhost:8080 nel browser per accedere all'applicazione PetClinic.
Usare la procedura seguente per inizializzare l'applicazione Pet Clinic usando i modelli dell'interfaccia della riga di comando per sviluppatori di Azure:
Nella finestra Bash creare una nuova cartella vuota e quindi passarvi.
Usare il comando seguente per inizializzare il progetto:
L'elenco seguente descrive l'interazione con il comando:
Immettere un nuovo nome di ambiente: specificare un nome di ambiente, che viene usato come suffisso per il gruppo di risorse creato per contenere tutte le risorse di Azure. Questo nome deve essere univoco all'interno della sottoscrizione di Azure.
La console restituisce messaggi simili all'esempio seguente:
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. Preparare l'ambiente cloud
Questa sezione descrive come creare un'istanza del servizio Azure Spring Apps e preparare l'ambiente cloud di Azure.
Passare al portale di Azure, immettere le credenziali e accedere al portale. La visualizzazione predefinita è il dashboard del servizio.
3.2. Creare un'istanza di Azure Spring Apps
Per creare l'istanza del servizio, seguire questa procedura:
Selezionare Crea una risorsa nell'angolo del portale di Azure.
Nella scheda Servizi di Azure selezionare Calcolo di>Azure Spring Apps.
Nella pagina Crea app Azure Spring compilare il modulo nella scheda Informazioni di base.
Usare la tabella seguente come guida per completare il modulo. Il piano consigliato è Standard.
Impostazione
Valore suggerito
Descrizione
Abbonamento
Nome della sottoscrizione.
Sottoscrizione di Azure da usare per il server. Se si hanno più sottoscrizioni, scegliere la sottoscrizione per cui si vuole fatturare la risorsa.
Gruppo di risorse
myresourcegroup
Nuovo nome di gruppo di risorse o uno esistente nella sottoscrizione.
Nome
myasa
Nome univoco che identifica l'istanza di Azure Spring Apps. Il nome deve essere composto da 4-32 caratteri e può contenere solo lettere in minuscolo, numeri e trattini. Il primo carattere del nome del servizio deve essere una lettera e l'ultimo deve essere una lettera o un numero.
Piano
Standard
Il piano tariffario determina le risorse e i costi associati all'istanza.
Area
Area più vicina agli utenti.
Località più vicina agli utenti.
Ridondanza della zona
opzione non selezionata
Crea il servizio Azure Spring Apps in una zona di disponibilità di Azure. Attualmente non supportato in tutte le aree.
Passare alla scheda Impostazioni di diagnostica nella pagina Crea app Azure Spring e quindi selezionare Crea nuovo per creare una nuova istanza di aree di lavoro Log Analytics. Nella pagina Crea nuova area di lavoro Log Analytics aggiornare il nome dell'area di lavoro Log Analytics in base alle esigenze e quindi selezionare OK per confermare la creazione.
Passare alla scheda Application Insights nella pagina Crea app Azure Spring e quindi selezionare Crea nuovo per creare una nuova istanza di Application Insights. Nella pagina Crea nuova risorsa di Application Insights aggiornare il nome di Application Insights in base alle esigenze, selezionare Basato sull'area di lavoro per Modalità risorsa e quindi selezionare OK per confermare la creazione.
Selezionare Rivedi e crea per rivedere le selezioni. Selezionare quindi Crea per effettuare il provisioning dell'istanza di Azure Spring Apps.
Selezionare l'icona Notifiche (a campana) per monitorare il processo di distribuzione. Al termine della distribuzione, è possibile selezionare Aggiungi al dashboard per creare un collegamento nel dashboard portale di Azure alla pagina Panoramica del servizio.
Selezionare Vai alla risorsa per passare alla pagina Panoramica di Azure Spring Apps.
Selezionare Config Server (Server di configurazione) nel riquadro di spostamento.
Dopo la convalida, selezionare Applica per completare la configurazione del server di configurazione.
Usare la procedura seguente per creare le risorse necessarie:
Usare il comando seguente per accedere ad Azure con OAuth2. Ignorare questo passaggio se è già stato eseguito l'accesso.
azd auth login
La console restituisce messaggi simili all'esempio seguente:
Logged in to Azure.
Usare il comando seguente per creare un pacchetto di una copia distribuibile dell'applicazione, effettuare il provisioning dell'infrastruttura del modello in Azure e quindi distribuire il codice dell'applicazione in tali risorse di cui è stato appena effettuato il provisioning:
azd provision
L'elenco seguente descrive le interazioni con i comandi:
Selezionare una sottoscrizione di Azure da usare: usare le frecce per spostare, digitare per filtrare e quindi premere INVIO.
Selezionare un percorso di Azure da usare: usare le frecce per spostare, digitare per filtrare e quindi premere INVIO.
La console restituisce messaggi simili all'esempio seguente:
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
Nota
Il completamento di questo comando può richiedere alcuni minuti. Viene visualizzato un indicatore di stato durante il provisioning delle risorse di Azure.
4. Distribuire le app in Azure Spring Apps
È ora possibile distribuire l'app in App Spring di Azure.
L'elenco seguente descrive le interazioni con i comandi:
Selezionare i moduli figlio da configurare(numeri di input separati da virgola, ad esempio[1-2,4,6], INVIO per selezionare TUTTO): premere INVIO per selezionare tutto.
Accesso OAuth2: autorizzare l'accesso ad Azure in base al protocollo OAuth2.
Selezionare la sottoscrizione: selezionare il numero di elenco di sottoscrizioni dell'istanza di Azure Spring Apps creata, che per impostazione predefinita corrisponde alla prima sottoscrizione nell'elenco. Se si usa il numero predefinito, premere INVIO direttamente.
Selezionare App Azure Spring per la distribuzione: selezionare il numero di elenco dell'istanza di Azure Spring Apps creata. Se si usa il numero predefinito, premere INVIO direttamente.
Selezionare le app per esporre l'accesso pubblico:(numeri di input separati da virgola, ad esempio: [1-2,4,6], INVIO per selezionare NONE): immettere 1,5 per admin-server e api-gateway.
Confermare di salvare tutte le configurazioni precedenti (Y/n): premere y. Se si preme n, la configurazione non viene salvata nei file POM.
Usare il comando seguente per compilare e distribuire ogni applicazione:
./mvnw azure-spring-apps:deploy
Per la richiesta di accesso OAuth2, autorizzare l'accesso ad Azure in base al protocollo OAuth2.
Nota
La distribuzione in Azure Spring Apps può richiedere fino a 25 minuti.
Dopo l'esecuzione del comando, un log visualizza un output simile all'esempio seguente, che indica che tutte le distribuzioni hanno esito positivo:
[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
Usare la procedura seguente per creare un pacchetto dell'app, effettuare il provisioning delle risorse di Azure richieste dall'applicazione Web e quindi eseguire la distribuzione in Azure Spring Apps:
Usare il comando seguente per creare un pacchetto di una copia distribuibile dell'applicazione:
azd package
La console restituisce messaggi simili all'esempio seguente:
SUCCESS: Your application was packaged for Azure in xx minutes xx seconds.
Usare il comando seguente per distribuire il codice dell'applicazione in tali risorse di cui è stato appena effettuato il provisioning:
azd deploy
La console restituisce messaggi simili all'esempio seguente:
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
Nota
È anche possibile usare azd up per combinare i tre comandi precedenti: azd package (pacchetti una copia distribuibile dell'applicazione), (effettua il provisioning delle risorse di Azure) azd provision e azd deploy (distribuisce il codice dell'applicazione). Per altre informazioni, vedere Azure-Samples/spring-petclinic-microservices.
Il pulsante Distribuisci in Azure nella sezione successiva avvia un'esperienza di portale di Azure che distribuisce il codice sorgente dal repository Spring PetClinic. Non sono necessari passaggi di preparazione locali.
Usare la procedura seguente nel computer locale quando si vuole verificare l'applicazione prima di distribuirla nel cloud:
Usare il comando seguente per clonare l'applicazione Pet Clinic da GitHub:
Aprire una nuova finestra Bash e passare alla directory del progetto spring-petclinic-frontend . Usare i comandi seguenti per installare le dipendenze ed eseguire l'applicazione front-end:
npm install
npm run start
Al termine dello script, passare a http://localhost:8080 nel browser per accedere all'applicazione PetClinic.
Usare la procedura seguente nel computer locale quando si vuole verificare l'applicazione prima di distribuirla nel cloud:
Usare il comando seguente per clonare l'applicazione Pet Clinic da GitHub:
Aprire una nuova finestra Bash e passare alla directory del progetto spring-petclinic-frontend . Usare i comandi seguenti per installare le dipendenze ed eseguire l'applicazione front-end:
npm install
npm run start
Al termine dello script, passare a http://localhost:8080 nel browser per accedere all'applicazione PetClinic.
3. Preparare l'ambiente cloud
La risorsa principale da eseguire questo esempio è un'istanza di Azure Spring Apps. Questa sezione descrive come creare questa risorsa.
Questa sezione usa un pulsante Distribuisci in Azure per avviare un'esperienza di distribuzione nella portale di Azure. Questa esperienza usa un modello di Resource Manager per creare risorse di Azure.
3.1. Accedere al portale di Azure
Passare al portale di Azure, immettere le credenziali e accedere al portale. La visualizzazione predefinita è il dashboard del servizio.
3.2. Creazione di risorse Azure
Usare la procedura seguente per creare tutte le risorse di Azure da cui dipende l'app:
Selezionare il pulsante Distribuisci in Azure seguente per avviare l'esperienza di distribuzione nel portale di Azure:
Compilare il modulo nella scheda Informazioni di base . Utilizzare la tabella seguente come guida per completare il modulo:
Impostazione
Valore suggerito
Descrizione
Abbonamento
Nome della sottoscrizione.
Sottoscrizione di Azure da usare per il server. Se si hanno più sottoscrizioni, scegliere quella in cui si desidera che venga fatturata la risorsa.
Gruppo di risorse
myresourcegroup
Nuovo nome di gruppo di risorse o uno esistente nella sottoscrizione.
Area
Area più vicina agli utenti.
L'area viene usata per creare il gruppo di risorse.
Selezionare Rivedi e crea per rivedere le selezioni. Selezionare quindi Crea per distribuire l'app in Azure Spring Apps.
Sulla barra degli strumenti selezionare l'icona Notifiche a forma di campana per monitorare il processo di distribuzione. Al termine della distribuzione, è possibile selezionare Aggiungi al dashboard, che crea un riquadro per questo servizio nel dashboard portale di Azure come collegamento alla pagina Panoramica del servizio. Selezionare Vai alla risorsa per aprire la pagina Panoramica del servizio.
3.1. Accedere al portale di Azure
Passare al portale di Azure e immettere le credenziali per accedere al portale. La visualizzazione predefinita è il dashboard del servizio.
3.2. Creare un'istanza di Azure Spring Apps
Per creare l'istanza del servizio, seguire questa procedura:
Selezionare Crea una risorsa nell'angolo del portale di Azure.
Selezionare Calcolo di>Azure Spring Apps.
Compilare il modulo nella scheda Informazioni di base . Utilizzare la tabella seguente come guida per completare il modulo:
Impostazione
Valore suggerito
Descrizione
Abbonamento
Nome della sottoscrizione.
Sottoscrizione di Azure da usare per il server. Se si hanno più sottoscrizioni, scegliere quella in cui si desidera che venga fatturata la risorsa.
Gruppo di risorse
myresourcegroup
Nuovo nome di gruppo di risorse o uno esistente nella sottoscrizione.
Nome
myasa
Nome univoco che identifica il servizio Azure Spring Apps. Il nome deve essere composto da 4-32 caratteri e può contenere solo lettere in minuscolo, numeri e trattini. Il primo carattere del nome del servizio deve essere una lettera e l'ultimo deve essere una lettera o un numero.
Area
Area più vicina agli utenti.
Località più vicina agli utenti.
Opzioni e piani di hosting
Funzionalità per le aziende
Piano tariffario che determina la risorsa e il costo associati all'istanza.
Ridondanza della zona
opzione non selezionata
Opzione per creare il servizio Azure Spring Apps in una zona di disponibilità di Azure. Questa funzionalità non è attualmente supportata in tutte le aree.
Piano IP software
Pagamento in base al consumo
Piano tariffario che consente di pagare man mano che si usa Azure Spring Apps.
Distribuire un progetto di esempio
opzione non selezionata
Opzione per usare l'applicazione di esempio predefinita.
Passare alla scheda Impostazioni di diagnostica nella pagina Crea app Azure Spring e quindi selezionare Crea nuovo per creare una nuova istanza di aree di lavoro Log Analytics. Nella pagina Crea nuova area di lavoro Log Analytics aggiornare il nome dell'area di lavoro Log Analytics in base alle esigenze e quindi selezionare OK per confermare la creazione.
Passare alla scheda Application Insights nella pagina Crea app Azure Spring e quindi selezionare Crea nuovo per creare una nuova istanza di Application Insights. Nella pagina Crea nuova risorsa di Application Insights aggiornare il nome di Application Insights in base alle esigenze, selezionare Basato sull'area di lavoro per Modalità risorsa e quindi selezionare OK per confermare la creazione.
Selezionare Rivedi e crea per rivedere le selezioni. Selezionare quindi Crea per effettuare il provisioning dell'istanza di Azure Spring Apps.
Selezionare l'icona Notifiche (a campana) per monitorare il processo di distribuzione. Al termine della distribuzione, è possibile selezionare Aggiungi al dashboard per creare un collegamento nel dashboard portale di Azure alla pagina Panoramica del servizio.
Selezionare Vai alla risorsa per passare alla pagina Panoramica di Azure Spring Apps.
3.3. Configurare l'istanza di Azure Spring Apps
Le sezioni seguenti illustrano come configurare l'istanza del servizio.
Creare le app
Usare la procedura seguente per creare le app:
Nel riquadro di spostamento selezionare App e quindi Crea app.
Nella pagina Crea app usare front-end per Nome app e lasciare tutti gli altri campi con i valori predefiniti.
Ripetere il passaggio precedente usando ognuno dei nomi di applicazione seguenti:
customers-service
vets-service
visits-service
Selezionare Crea per completare la creazione dell'app.
Configurare il Registro di sistema dei servizi
Per configurare il Registro di sistema dei servizi, seguire questa procedura:
Nel riquadro di spostamento selezionare Registro di sistema dei servizi.
Selezionare Associazione app, selezionare Associa app, selezionare customers-service nell'elenco e quindi selezionare Applica.
Ripetere il passaggio precedente per associare le applicazioni seguenti:
vets-service
visits-service
Configurare il servizio di configurazione dell'applicazione
Per configurare il servizio di configurazione dell'applicazione, seguire questa procedura:
Nel riquadro di spostamento selezionare Servizio di configurazione dell'applicazione e quindi selezionare Impostazioni.
Compilare il repository con le informazioni seguenti e quindi selezionare Convalida:
Dopo la convalida, selezionare Applica per completare la configurazione del servizio di configurazione dell'applicazione.
Selezionare Associazione app, selezionare Associa app, selezionare customers-service nell'elenco e quindi selezionare Applica.
Ripetere il passaggio precedente per associare le applicazioni seguenti:
vets-service
visits-service
Impostare i modelli di file di configurazione per le app
Per impostare i modelli di file di configurazione, seguire questa procedura:
Nel riquadro di spostamento selezionare App e quindi selezionare l'app customers-service .
Nella pagina Panoramica dell'app selezionare Configurazione, selezionare Modelli di file di configurazione nella scheda Impostazioni generali e quindi selezionare applicazione e customers-service. Selezionare Salva per impostare i modelli di file di configurazione.
Ripetere il passaggio precedente per salvare i modelli di file di configurazione per le applicazioni seguenti:
vets-service: selezionare l'applicazione e vets-service.
visits-service: selezionare l'applicazione e visits-service.
Configurare Spring Cloud Gateway
Questa sezione illustra come configurare Spring Cloud Gateway.
Prima di tutto, usare la procedura seguente per assegnare un endpoint per l'accesso al gateway:
Nel riquadro di spostamento selezionare Spring Cloud Gateway.
Nella scheda Panoramica selezionare Sì per assegnare un endpoint. Salvare l'URL dell'endpoint da usare in un secondo momento.
Configurare quindi il routing per Spring Cloud Gateway. Poiché il portale di Azure attualmente non supporta la configurazione della route per Spring Cloud Gateway, aprire una finestra Bash e usare la procedura seguente dell'interfaccia della riga di comando di Azure per configurare il routing:
Usare il comando seguente per accedere all'interfaccia della riga di comando di Azure:
az login
Usare i comandi seguenti per installare l'estensione Azure Spring Apps per l'interfaccia della riga di comando di Azure e registrare lo spazio dei nomi Microsoft.SaaS:
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
Usare il comando seguente per accettare le condizioni legali e le informative sulla privacy:
Nota
Questo passaggio è necessario solo se la sottoscrizione non è mai stata usata per creare un'istanza del piano Enterprise di Azure Spring Apps.
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
Creare variabili per contenere i nomi delle risorse usando i comandi seguenti. Assicurarsi di sostituire i segnaposto con i propri valori.
3.2. Accedere all'interfaccia della riga di comando di Azure
Per eseguire l'accesso, seguire questa procedura:
Usare il comando seguente per accedere all'interfaccia della riga di comando di Azure:
az login
Usare il comando seguente per elencare tutte le sottoscrizioni disponibili per determinare l'ID sottoscrizione da usare:
az account list --output table
Usare il comando seguente per impostare la sottoscrizione predefinita:
az account set --subscription <subscription-ID>
3.3. Creare un nuovo gruppo di risorse
Usare la procedura seguente per creare un nuovo gruppo di risorse:
Usare il comando seguente per impostare il percorso predefinito:
az configure --defaults location=${LOCATION}
Usare il comando seguente per creare un gruppo di risorse:
az group create --resource-group ${RESOURCE_GROUP}
Usare il comando seguente per impostare il gruppo di risorse appena creato come gruppo di risorse predefinito:
az configure --defaults group=${RESOURCE_GROUP}
3.4. Installare l'estensione e registrare lo spazio dei nomi
Usare i comandi seguenti per installare l'estensione Azure Spring Apps per l'interfaccia della riga di comando di Azure e registrare lo Microsoft.SaaS spazio dei nomi:
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
3.5. Creare un'istanza di Azure Spring Apps
Per creare l'istanza del servizio, seguire questa procedura:
Usare il comando seguente per accettare le condizioni legali e le informative sulla privacy per il piano Enterprise:
Nota
Questo passaggio è necessario solo se la sottoscrizione non è mai stata usata per creare un'istanza del piano Enterprise di Azure Spring Apps.
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
Usare il comando seguente per creare un'istanza del servizio Azure Spring Apps con i componenti Tanzu necessari:
az spring create \
--name ${SPRING_APPS} \
--sku Enterprise \
--enable-application-configuration-service \
--enable-service-registry \
--enable-gateway \
--enable-application-live-view
3.6. Configurare l'istanza di Azure Spring Apps
Per configurare l'istanza del servizio, seguire questa procedura:
Usare il comando seguente per configurare le impostazioni di diagnostica per l'istanza di Azure Spring Apps:
Usare i comandi seguenti per creare applicazioni per l'istanza di 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}
Usare i comandi seguenti per associare le applicazioni per il Registro di sistema del servizio:
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}
Usare il comando seguente per creare un repository di configurazione per il servizio di configurazione dell'applicazione:
Usare i comandi seguenti per associare le applicazioni al servizio di configurazione dell'applicazione:
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}
Usare il comando seguente per assegnare un endpoint a Spring Cloud Gateway:
az spring gateway update --service ${SPRING_APPS} --assign-endpoint
Usare il comando seguente per impostare il routing per l'applicazione customers-service :
Il pulsante Distribuisci in Azure nella sezione precedente avvia un'esperienza di portale di Azure che include la distribuzione dell'applicazione, quindi non è necessario altro.
L'elenco seguente descrive le interazioni con i comandi:
Selezionare i moduli figlio da configurare: premere INVIO per selezionare tutto.
Selezionare la sottoscrizione: selezionare il numero di elenco di sottoscrizioni dell'istanza di Azure Spring Apps creata, che per impostazione predefinita corrisponde alla prima sottoscrizione nell'elenco. Se si usa il numero predefinito, premere INVIO direttamente.
Usare le app Spring di Azure esistenti in Azure: premere y per usare l'istanza di Azure Spring Apps esistente.
Selezionare le app per esporre l'accesso pubblico: premere INVIO per selezionare nessuno.
Confermare di salvare tutte le configurazioni precedenti: premere y. Se si preme n, la configurazione non viene salvata nei file POM.
Usare il comando seguente per distribuire le applicazioni back-end:
./mvnw azure-spring-apps:deploy
Dopo l'esecuzione del comando, è possibile visualizzare i messaggi di log seguenti che la distribuzione ha avuto esito positivo:
[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
Il portale di Azure non supporta la distribuzione delle applicazioni front-end, quindi usare il comando dell'interfaccia della riga di comando di Azure seguente per distribuire l'applicazione 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
Dopo l'esecuzione del comando, è possibile visualizzare i messaggi di log seguenti che la distribuzione ha avuto esito positivo:
[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.
Usare la procedura seguente per distribuire le app:
Immettere la directory radice del progetto e usare il comando seguente per compilare e distribuire l'applicazione front-end:
az spring app deploy \
--service ${SPRING_APPS} \
--name ${APP_FRONTEND} \
--build-env BP_WEB_SERVER=nginx \
--source-path ./spring-petclinic-frontend
Usare il comando seguente per compilare e distribuire l'applicazione customers-service :
Al termine della distribuzione, è possibile trovare l'URL di Spring Cloud Gateway dagli output della distribuzione, come illustrato nello screenshot seguente:
Aprire l'URL del gateway. L'applicazione dovrebbe essere simile alla schermata seguente:
5.2. Eseguire query sui log dell'applicazione
Dopo aver esplorato ogni funzione di Pet Clinic, l'area di lavoro Log Analytics raccoglie i log di ogni applicazione. È possibile controllare i log usando query personalizzate, come illustrato nello screenshot seguente:
5.3. Monitorare le applicazioni
Application Insights monitora le dipendenze dell'applicazione, come illustrato nella mappa di traccia delle applicazioni seguente:
È possibile trovare l'URL della visualizzazione dinamica dell'applicazione dagli output della distribuzione. Aprire l'URL di Visualizzazione dinamica dell'applicazione per monitorare i runtime dell'applicazione, come illustrato nello screenshot seguente:
5.1. Accedere alle applicazioni
Usare l'endpoint assegnato da Spring Cloud Gateway, https://<your-Azure-Spring-Apps-instance-name>-gateway-xxxxx.svc.azuremicroservices.ioad esempio . L'applicazione dovrebbe essere simile alla schermata seguente:
5.2. Eseguire query sui log dell'applicazione
Dopo aver esplorato ogni funzione di Pet Clinic, l'area di lavoro Log Analytics raccoglie i log di ogni applicazione. È possibile controllare i log usando query personalizzate, come illustrato nello screenshot seguente:
5.3. Monitorare le applicazioni
Application Insights monitora le dipendenze dell'applicazione, come illustrato nella mappa di traccia delle applicazioni seguente:
Aprire l'URL di Application Live View esposto dagli strumenti di sviluppo per monitorare i runtime dell'applicazione, come illustrato nello screenshot seguente:
5.1. Accedere alle applicazioni
Usare i comandi seguenti per recuperare l'URL per Spring Cloud Gateway:
export GATEWAY_URL=$(az spring gateway show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${GATEWAY_URL}"
L'applicazione dovrebbe essere simile alla schermata seguente:
5.2. Eseguire query sui log dell'applicazione
Dopo aver esplorato ogni funzione di Pet Clinic, l'area di lavoro Log Analytics raccoglie i log di ogni applicazione. È possibile controllare i log usando query personalizzate, come illustrato nello screenshot seguente:
5.3. Monitorare le applicazioni
Application Insights monitora le dipendenze dell'applicazione, come illustrato nella mappa di traccia delle applicazioni seguente:
Usare i comandi seguenti per recuperare l'URL per 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"
Aprire l'URL di Visualizzazione dinamica dell'applicazione per monitorare i runtime dell'applicazione, come illustrato nello screenshot seguente:
5.1. Accedere alle applicazioni
Usando le informazioni sull'URL nell'output del log di distribuzione, aprire l'URL esposto dall'app denominata api-gateway , https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.ioad esempio . L'applicazione dovrebbe essere simile alla schermata seguente:
5.2. Eseguire query sui log dell'applicazione
Dopo aver esplorato ogni funzione di Pet Clinic, l'area di lavoro Log Analytics raccoglie i log di ogni applicazione. È possibile controllare i log usando query personalizzate, come illustrato nello screenshot seguente:
5.3. Monitorare le applicazioni
Application Insights monitora le dipendenze dell'applicazione, come illustrato nella mappa di traccia delle applicazioni seguente:
Aprire l'URL esposto dall'app admin-server per gestire le applicazioni tramite Spring Boot Admin Server, come illustrato nello screenshot seguente:
6. Pulire le risorse
Se si prevede di usare le guide di avvio rapido e le esercitazioni successive, è consigliabile non cancellare le risorse create. Quando le risorse non sono più necessarie, è possibile pulire le risorse non necessarie per evitare addebiti di Azure.
Usare la procedura seguente per eliminare l'intero gruppo di risorse, inclusa l'istanza del servizio appena creata:
Individuare il gruppo di risorse nel portale di Azure. Nel menu di spostamento selezionare Gruppi di risorse e quindi selezionare il nome del gruppo di risorse.
Nella pagina Gruppo di risorse selezionare Elimina. Immettere il nome del gruppo di risorse nella casella di testo per confermare l'eliminazione e quindi selezionare Elimina.
Usare il comando seguente per eliminare tutte le risorse di Azure usate in questa applicazione di esempio:
azd down
L'elenco seguente descrive l'interazione con il comando:
Totale risorse da eliminare: <totale> risorse, continuare?: premere y.
La console restituisce messaggi simili all'esempio seguente:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
Assicurarsi di eliminare le risorse create in questo articolo quando non sono più necessarie. È possibile eliminare il gruppo di risorse di Azure, che include tutte le risorse del gruppo.
Usare la procedura seguente per eliminare l'intero gruppo di risorse:
Individuare il gruppo di risorse nel portale di Azure. Nel menu di spostamento selezionare Gruppi di risorse e quindi selezionare il nome del gruppo di risorse.
Nella pagina Gruppo di risorse selezionare Elimina. Immettere il nome del gruppo di risorse nella casella di testo per confermare l'eliminazione e quindi selezionare Elimina.
Usare la procedura seguente per eliminare l'intero gruppo di risorse:
Individuare il gruppo di risorse nel portale di Azure. Nel menu di spostamento selezionare Gruppi di risorse e quindi selezionare il nome del gruppo di risorse.
Nella pagina Gruppo di risorse selezionare Elimina. Immettere il nome del gruppo di risorse nella casella di testo per confermare l'eliminazione e quindi selezionare Elimina.
Usare il comando seguente per eliminare il gruppo di risorse: