Início Rápido: Como Implantar aplicativos de microsserviço nos Aplicativos Spring do Azure
Artigo
Observação
Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de desativação de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.
Este artigo explica como implantar aplicativos de microsserviço nos Aplicativos Spring do Azure por meio do aplicativo de exemplo bem conhecido PetClinic.
O exemplo Pet Clinic demonstra o padrão de arquitetura de microsserviço e realça o detalhamento dos serviços. O diagrama a seguir mostra a arquitetura do aplicativo PetClinic no plano Enterprise dos Aplicativos Spring do Azure.
O diagrama mostra os seguintes fluxos arquitetônicos e relações do exemplo Pet Clinic:
Usa os Aplicativos Spring do Azure Apps para gerenciar os aplicativos de front-end e de back-end. Os aplicativos de back-end são criados com o Spring Boot e cada aplicativo usa HSQLDB como o repositório persistente. O aplicativo front-end reformulado baseia-se no aplicativo Pet Clinic API Gateway com Node.js servindo como um aplicativo Web de front-end independente.
Usa os componentes gerenciados nos Aplicativos Spring do Azure, incluindo o Registro de Serviço, o Serviço de Configuração de Aplicativos, o Spring Cloud Gateway e o Application Live View. O Serviço de Configuração de Aplicativos lê a configuração do repositório Git.
Expõe o URL do Spring Cloud Gateway para rotear a solicitação para aplicativos de serviço de back-end e expõe o URL do Application Live View para monitorar os aplicativos de back-end.
Analisa logs usando o workspace do Log Analytics.
Monitoramento de Desempenho com o Application Insights.
Observação
Este artigo usa uma versão simplificada do PetClinic, usando um banco de dados em memória que não está pronto para produção para implantar rapidamente nos Aplicativos Spring do Azure.
O exemplo Pet Clinic demonstra o padrão de arquitetura de microsserviço e realça o detalhamento dos serviços. O diagrama a seguir mostra a arquitetura do aplicativo PetClinic no plano Standard dos Aplicativos Spring do Azure.
O diagrama mostra os seguintes fluxos arquitetônicos e relações do exemplo Pet Clinic:
Usa os Aplicativos Spring do Azure para gerenciar os aplicativos Spring Boot. Cada aplicativo usa HSQLDB como o armazenamento persistente.
Usa os componentes gerenciados do Spring Cloud Config Server e Eureka Service Registry nos Aplicativos Spring do Azure. O Config Server lê a configuração do repositório Git.
Expõe a URL do Gateway de API para balancear a carga de solicitações para aplicativos de serviço e expõe a URL do Servidor Administração para gerenciar os aplicativos.
Analisa logs usando o workspace do Log Analytics.
Monitoramento de Desempenho com o Application Insights.
Observação
Este artigo usa uma versão simplificada do PetClinic, usando um banco de dados em memória que não está pronto para produção para implantar rapidamente nos Aplicativos Spring do Azure.
O aplicativo admin-server implantado expõe o acesso público, que é um ponto de risco. O ambiente de produção precisa proteger o aplicativo Administrador do Spring Boot.
Este artigo fornece as seguintes opções para implantação em Aplicativos Spring do Azure:
A opção do portal do Azure é a maneira mais fácil e rápida de criar recursos e implantar aplicativos com um único clique. Essa opção é adequada para os desenvolvedores do Spring que desejam implantar rapidamente aplicativos nos serviços de nuvem do Azure.
A opção do portal do Microsoft Azure + plug-in do Maven fornece uma maneira mais convencional de criar recursos e implantar aplicativos passo a passo. Esta opção é adequada para os desenvolvedores do Spring que estão usando os serviços de nuvem do Azure pela primeira vez.
A opção CLI do Azure é uma ferramenta de linha de comando poderosa para gerenciar recursos do Azure. Essa opção é adequada para os desenvolvedores do Spring que estão familiarizados com os serviços de nuvem do Azure.
A opção do portal do Microsoft Azure + plug-in do Maven fornece uma maneira mais convencional de criar recursos e implantar aplicativos passo a passo. Esta opção é adequada para os desenvolvedores do Spring que estão usando os serviços de nuvem do Azure pela primeira vez.
A opção do Azure Developer CLI é a maneira mais eficiente de criar recursos e implantar aplicativos automaticamente por meio de comandos simples. O Azure Developer CLI usa um modelo para provisionar os recursos do Azure necessários e implantar o código do aplicativo. Essa opção é adequada para os desenvolvedores do Spring que estão familiarizados com os serviços de nuvem do Azure.
Uma assinatura do Azure. Caso não tenha uma assinatura, crie uma conta gratuita antes de começar.
Se você estiver implantando a instância do plano Enterprise do Aplicativos Spring do Azure pela primeira vez na assinatura de destino, confira a seção Requisitos do plano Enterprise no Azure Marketplace.
Uma assinatura do Azure. Caso não tenha uma assinatura, crie uma conta gratuita antes de começar.
Se você estiver implantando a instância do plano Enterprise do Aplicativos Spring do Azure pela primeira vez na assinatura de destino, confira a seção Requisitos do plano Enterprise no Azure Marketplace.
Uma assinatura do Azure. Caso não tenha uma assinatura, crie uma conta gratuita antes de começar.
Se você estiver implantando a instância do plano Enterprise do Aplicativos Spring do Azure pela primeira vez na assinatura de destino, confira a seção Requisitos do plano Enterprise no Azure Marketplace.
Insira um novo nome de ambiente: forneça um nome de ambiente, que é usado como um sufixo para o grupo de recursos criado para manter todos os recursos do Azure. Esse nome deve ser exclusivo em sua assinatura do Azure.
O console gera mensagens semelhantes ao exemplo a seguir:
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. Preparar o ambiente de nuvem
Esta seção descreve como criar uma instância de serviço dos Aplicativos Spring do Azure e preparar o ambiente de nuvem do Azure.
No portal do Azure, insira suas credenciais e entre no portal. A exibição padrão é o painel de serviço.
3.2. Criar uma instância do Azure Spring Apps
Use as etapas a seguir para criar a instância de serviço:
Selecione Criar um recurso no canto do portal do Azure.
Na guia Serviços do Azure, selecione Computação>Aplicativos Spring do Azure.
Na página Criar Aplicativos Spring do Azure , preencha o formulário na guia Noções Básicas .
Use a tabela a seguir como um guia para concluir o formulário. O Plano recomendado é o Standard.
Configuração
Valor sugerido
Descrição
Assinatura
O nome da sua assinatura.
A assinatura do Azure que você deseja usar para o servidor. Caso você tenha várias assinaturas, escolha a assinatura na qual você deseja receber a cobrança do recurso.
Grupo de recursos
myresourcegroup
Um novo nome do grupo de recursos ou um existente de sua assinatura.
Nome
myasa
Um nome exclusivo que identifica sua instância dos Aplicativos Spring do Azure. O nome deve ter entre 4 e 32 caracteres e pode conter apenas letras minúsculas, números e hifens. O primeiro caractere do nome do serviço deve ser uma letra e o último caractere deve ser uma letra ou um número.
Plano
Standard
O plano de preços determina os recursos e o custo associados à sua instância.
Região
A região mais próxima de seus usuários.
A localização mais próxima dos usuários.
Com Redundância de Zona
Não selecionado
Cria seu serviço dos Aplicativos Spring do Azure em uma zona de disponibilidade do Azure. Atualmente, não há suporte em todas as regiões.
Navegue até a guia Configurações de diagnóstico na página Criar Aplicativos Spring do Azure e selecione Criar novo para criar uma nova instância de workspaces do Log Analytics. Na página Criar workspace do Log Analytics , atualize o nome do workspace do Log Analytics conforme necessário e selecione OK para confirmar a criação.
Navegue até a guia Application Insights na página Criar Aplicativos Spring do Azure e selecione Criar novo para criar uma nova instância do Application Insights. Na página Criar novo recurso do Application Insights, atualize o nome do Application Insights conforme necessário, selecione o Baseado em workspace para Modo de recurso e, em seguida, selecione OK para confirmar a criação.
Selecione Revisar e criar para revisar suas seleções. Em seguida, selecione Criar para provisionar a instância dos Aplicativos Spring do Azure.
Na barra de ferramentas, selecione o íconeNotificações (um sino) para monitorar o processo de implantação. Depois que a implantação terminar, você pode selecionar Fixar no painel para criar um atalho para a página Visão geral do serviço no seu painel do portal do Azure.
Selecione Ir para o recurso para ir para a página Visão geral dos Aplicativos Spring do Azure.
Após a validação, selecione Aplicar para concluir a configuração do Config Server.
Use as seguintes etapas para criar os recursos necessários:
Use o seguinte comando para entrar no Azure com OAuth2. Ignore esta etapa se já tiver entrado.
azd auth login
O console gera mensagens semelhantes ao exemplo a seguir:
Logged in to Azure.
Use o seguinte comando para empacotar uma cópia implantável do aplicativo, provisionar a infraestrutura do modelo no Azure e depois implantar o código do aplicativo nesses recursos recém-provisionados:
azd provision
A lista a seguir descreve as interações de comando:
Selecione uma assinatura do Azure para usar: use as setas para mover, digite para filtrar e pressione Enter.
Selecione um local do Azure para usar: use as setas para mover, digite para filtrar e pressione Enter.
O console gera mensagens semelhantes ao exemplo a seguir:
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
Observação
Esse comando pode demorar algum tempo para ser concluído. Você verá um indicador de progresso ao provisionar recursos do Azure.
4. Implantar os aplicativos nos Aplicativos Spring do Azure
Agora você pode implantar o aplicativo em Aplicativos Spring do Azure.
A lista a seguir descreve as interações de comando:
Selecione módulos filho para configurar (números de entrada separados por vírgula, por exemplo: [1-2,4,6], ENTER para selecionar TUDO): Pressione Enter para selecionar tudo.
Logon do OAuth2: autorize a entrada no Azure com base no protocolo OAuth2.
Selecionar assinatura: selecione o número da lista de assinaturas da instância dos Aplicativos Spring do Azure que você criou, que usa como padrão a primeira assinatura na lista. Se você usar o número padrão, pressione Enter diretamente.
Selecionar os Aplicativos Spring do Azure para implantação: selecione o número da lista da instância dos Aplicativos Spring do Azure que você criou. Se você usar o número padrão, pressione Enter diretamente.
Selecionar aplicativos para expor o acesso público:(números de entrada separados por vírgula, por exemplo: [1-2,4,6], ENTER para selecionar NENHUM): insira1,5 para admin-server e api-gateway.
Confirme para salvar todas as configurações acima (S/n): Pressione s. Se você pressionar n, a configuração não será salva nos arquivos POM.
Use o seguinte comando para criar e implantar o aplicativo de front-end:
./mvnw azure-spring-apps:deploy
Para o prompt de Logon do OAuth2: autorize o logon no Azure com base no protocolo OAuth2.
Observação
A implantação nos Aplicativos Spring do Azure pode levar até 25 minutos.
Depois que o comando é executado, um log exibe uma saída semelhante ao exemplo a seguir, que indica que todas as implantações foram bem-sucedidas:
[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
Use as etapas a seguir para empacotar o aplicativo, provisionar os recursos do Azure exigidos pelo aplicativo Web e, em seguida, implantar em Aplicativos Spring do Azure:
Use o seguinte comando para empacotar uma cópia implantável do aplicativo:
azd package
O console gera mensagens semelhantes ao exemplo a seguir:
SUCCESS: Your application was packaged for Azure in xx minutes xx seconds.
Use o seguinte comando para implantar o código do aplicativo nesses recursos recém-provisionados:
azd deploy
O console gera mensagens semelhantes ao exemplo a seguir:
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
Observação
Você também pode usar azd up para combinar os três comandos anteriores: azd package (empacota uma cópia implantável do aplicativo), azd provision (provisiona recursos do Azure) e azd deploy (implanta o código do aplicativo). Para obter mais informações, confira Azure-Samples/spring-petclinic-microservices.
O botão Implantar no Azure na próxima seção inicia uma experiência do portal do Azure que implanta o código-fonte do repositório Spring PetClinic. Nenhuma etapa de preparação local é necessária.
Use as etapas a seguir em seu computador local quando quiser verificar o aplicativo antes de implantá-lo na nuvem:
Para os serviços Clientes, Veterinários, Visitas e Spring Cloud Gateway, abra uma nova janela do Bash e use os seguintes comandos para iniciar os serviços:
Abra uma nova janela do Bash e navegue até o diretório do projeto spring-petclinic-frontend. Use os seguintes comandos para instalar dependências e executar o aplicativo de front-end:
npm install
npm run start
Depois que o script for concluído com sucesso, vá para http://localhost:8080 no navegador para acessar o aplicativo PetClinic.
Use as etapas a seguir em seu computador local quando quiser verificar o aplicativo antes de implantá-lo na nuvem:
Para os serviços Clientes, Veterinários, Visitas e Spring Cloud Gateway, abra uma nova janela do Bash e use os seguintes comandos para iniciar os serviços:
Abra uma nova janela do Bash e navegue até o diretório do projeto spring-petclinic-frontend. Use os seguintes comandos para instalar dependências e executar o aplicativo de front-end:
npm install
npm run start
Depois que o script for concluído com sucesso, vá para http://localhost:8080 no navegador para acessar o aplicativo PetClinic.
3. Preparar o ambiente de nuvem
O principal recurso necessário para executar esse exemplo é uma instância dos Aplicativos Spring do Azure. Esta seção descreve como criar esse recurso.
Esta seção usa um botão Implantar no Azure para iniciar uma experiência de implantação no portal do Azure. Essa experiência usa um modelo do ARM para criar recursos do Azure.
3.1. Entre no Portal do Azure
No portal do Azure, insira suas credenciais e entre no portal. A exibição padrão é o painel de serviço.
3.2. Criar recursos do Azure
Use as seguintes etapas para criar todos os recursos do Azure dos quais o aplicativo depende:
Selecione o botão Implantar no Azure para iniciar a experiência de implantação no portal do Azure:
Preencha o formulário na guia Noções básicas. Use a tabela a seguir como uma guia para concluir o formulário:
Configuração
Valor sugerido
Descrição
Assinatura
O nome da sua assinatura.
A assinatura do Azure que você deseja usar para o servidor. Caso você tenha várias assinaturas, escolha a assinatura na qual você deseja receber a cobrança do recurso.
Grupo de recursos
myresourcegroup
Um novo nome do grupo de recursos ou um existente de sua assinatura.
Região
A região mais próxima de seus usuários.
A região é usada para criar o grupo de recursos.
Selecione Revisar e criar para revisar suas seleções. Em seguida, selecione Criar para implantar o aplicativo nos Aplicativos Spring do Azure.
Na barra de ferramentas, selecione o ícone (sino) Notificações para monitorar o processo de implantação. Após a conclusão da implantação, selecione Fixar no painel, que cria um bloco para esse serviço no painel do portal do Azure como um atalho para a página de Visão geral do serviço. Selecione Ir para o recurso para abrir a página Visão geral do serviço.
3.1. Entre no Portal do Azure
Acesse o portal do Azure e insira suas credenciais para entrar no portal. A exibição padrão é o painel de serviço.
3.2. Criar uma instância do Azure Spring Apps
Use as etapas a seguir para criar a instância de serviço:
Selecione Criar um recurso no canto do portal do Azure.
Selecione Computação>Aplicativos Spring do Azure.
Preencha o formulário na guia Noções básicas. Use a tabela a seguir como uma guia para concluir o formulário:
Configuração
Valor sugerido
Descrição
Assinatura
O nome da sua assinatura.
A assinatura do Azure que você deseja usar para o servidor. Caso você tenha várias assinaturas, escolha a assinatura na qual você deseja receber a cobrança do recurso.
Grupo de recursos
myresourcegroup
Um novo nome do grupo de recursos ou um existente de sua assinatura.
Nome
myasa
Um nome exclusivo que identifica o serviço Aplicativos Spring do Azure. O nome deve ter entre 4 e 32 caracteres e pode conter apenas letras minúsculas, números e hifens. O primeiro caractere do nome do serviço deve ser uma letra e o último caractere deve ser uma letra ou um número.
Região
A região mais próxima de seus usuários.
A localização mais próxima dos usuários.
Opções e planos de hospedagem
Empresa
O plano de preços determina os recursos e o custo associados à sua instância.
Com Redundância de Zona
Não selecionado
A opção para criar o serviço do Aplicativos Spring do Azure em uma zona de disponibilidade do Azure. Atualmente, não há suporte para esse recurso em todas as regiões.
Plano IP de software
Pago conforme o uso
O plano de preços que permite pagar conforme o uso do Aplicativos Spring do Azure.
Implantar um projeto de exemplo
Não selecionado
A opção para usar o aplicativo de exemplo interno.
Navegue até a guia Configurações de diagnóstico na página Criar Aplicativos Spring do Azure e selecione Criar novo para criar uma nova instância de workspaces do Log Analytics. Na página Criar novo workspace do Log Analytics, atualize o nome do workspace do Log Analytics conforme necessário e selecione OK para confirmar a criação.
Navegue até a guia Application Insights na página Criar Aplicativos Spring do Azure e selecione Criar novo para criar uma nova instância do Application Insights. Na página Criar novo recurso do Application Insights, atualize o nome do Application Insights conforme necessário, selecione o Baseado em workspace para Modo de recurso e, em seguida, selecione OK para confirmar a criação.
Selecione Revisar e criar para revisar suas seleções. Em seguida, selecione Criar para provisionar a instância dos Aplicativos Spring do Azure.
Na barra de ferramentas, selecione o íconeNotificações (um sino) para monitorar o processo de implantação. Depois que a implantação terminar, você pode selecionar Fixar no painel para criar um atalho para a página Visão geral do serviço no seu painel do portal do Azure.
Selecione Ir para o recurso para ir para a página Visão geral dos Aplicativos Spring do Azure.
3.3. Configurar a instância dos Aplicativos Spring do Azure
As seções a seguir mostram como configurar a instância de serviço.
Criar os aplicativos
Use as seguintes etapas para criar os aplicativos:
No painel de navegação, selecione Aplicativos e selecione Criar Aplicativo.
Na página Criar Aplicativo, para o Nome do aplicativo, use front-end e deixe todos os outros campos com seus valores padrão.
Repita a etapa anterior usando cada um dos seguintes nomes de aplicativo:
customers-service
vets-service
visits-service
Selecione Criar para concluir a criação do aplicativo.
Configurar o Registro de Serviço
Use as seguintes etapas para configurar o Registro de Serviço:
No painel de navegação, selecione Registro de Serviço.
Selecione Associação de aplicativos, selecione Associar aplicativo, selecione customers-service na lista e, em seguida, selecione Aplicar.
Repita a etapa anterior para associar os seguintes aplicativos:
vets-service
visits-service
Configurar o Serviço de Configuração de Aplicativos
Use as etapas a seguir para configurar o Serviço de Configuração de Aplicativos:
No painel de navegação, selecione Serviço de Configuração de Aplicativos e, em seguida, selecione Configurações.
Preencha o repositório com as seguintes informações e selecione Validar:
Após a validação, selecione Aplicar para concluir a configuração do Serviço de Configuração de Aplicativos.
Selecione Associação de aplicativos, selecione Associar aplicativo, selecione customers-service na lista e, em seguida, selecione Aplicar.
Repita a etapa anterior para associar os seguintes aplicativos:
vets-service
visits-service
Definir os padrões de arquivo de configuração para aplicativos
Use as seguintes etapas para definir os padrões de arquivo de configuração:
No painel de navegação, selecione Aplicativos e selecione o aplicativo customers-service.
Na página Visão geral do aplicativo, selecione Configuração, selecione Padrões do arquivo de configuração na guia Configurações gerais e selecione aplicativo e customers-service. Selecione Salvar para definir os padrões do arquivo de configuração.
Repita a etapa anterior para salvar os padrões do arquivo de configuração para os seguintes aplicativos:
vets-service: selecione aplicativo e vets-service.
visits-service: selecione aplicativo e visits-service.
Configurar o Spring Cloud Gateway
Esta seção mostra como configurar o Spring Cloud Gateway.
Primeiro, use as seguintes etapas para atribuir um ponto de extremidade para o acesso ao gateway:
No painel de navegação, selecione Spring Cloud Gateway.
Na guia Visão geral, selecione Sim para atribuir um ponto de extremidade. Salve o URL do ponto de extremidade a ser usado posteriormente.
Em seguida, configure o roteamento do Spring Cloud Gateway. Como o portal do Azure não suporta atualmente a configuração de rota do Spring Cloud Gateway, abra uma janela do Bash e use as seguintes etapas da CLI do Azure para configurar o roteamento:
Use o seguinte comando para fazer logon na CLI do Azure:
az login
Use os seguintes comandos para instalar a extensão dos Aplicativos Spring do Azure para a CLI do Azure e registrar o namespaces Microsoft.SaaS:
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
Use o seguinte comando para aceitar os termos legais e as políticas de privacidade:
Observação
Essa etapa só será necessária se sua assinatura nunca tiver sido usada para criar uma instância do plano Enterprise dos Aplicativos Spring do Azure.
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
Crie variáveis para manter os nomes dos recursos usando os comandos a seguir. Substitua os espaços reservados pelos seus valores.
Use os seguintes comandos para criar aplicativos para a instância dos Aplicativos Spring do Azure:
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}
Use os seguintes comandos para associar aplicativos para o Registro de Serviço:
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}
Use o seguinte comando para criar um repositório de configuração para o Serviço de Configuração de Aplicativos:
Use os seguintes comandos para associar aplicativos ao Serviço de Configuração de Aplicativos:
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}
Use o seguinte comando para atribuir um ponto de extremidade ao Spring Cloud Gateway:
az spring gateway update --service ${SPRING_APPS} --assign-endpoint
Use o seguinte comando para definir o roteamento para o aplicativo customers-service:
O botão Implantar no Azure na seção anterior inicia uma experiência do portal do Azure que inclui a implantação do aplicativo, portanto, nada mais é necessário.
A lista a seguir descreve as interações de comando:
Selecione os módulos filho para configurar: pressione Enter para selecionar todos.
Selecionar assinatura: selecione o número da lista de assinaturas da instância dos Aplicativos Spring do Azure que você criou, que usa como padrão a primeira assinatura na lista. Se você usar o número padrão, pressione Enter diretamente.
Usar o Aplicativos Spring do Azure existente: pressione S para usar a instância existente do Aplicativos Spring do Azure.
Selecione os aplicativos para expor o acesso público: pressione Enter para selecionar nenhum.
Confirme para salvar todas as configurações acima: pressione S. Se você pressionar n, a configuração não será salva nos arquivos POM.
Use o seguinte comando para implantar os aplicativos de back-end:
./mvnw azure-spring-apps:deploy
Depois que o comando for executado, você poderá ver nas seguintes mensagens de log que a implantação foi bem-sucedida:
[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
O portal do Azure não dá suporte à implantação dos aplicativos de front-end, portanto, use o seguinte comando da CLI do Azure para implantar o aplicativo de 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
Depois que o comando for executado, você poderá ver nas seguintes mensagens de log que a implantação foi bem-sucedida:
[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.
Use as seguintes etapas para implantar os aplicativos:
Insira o diretório raiz do projeto e use o seguinte comando para criar e implantar o aplicativo front-end:
az spring app deploy \
--service ${SPRING_APPS} \
--name ${APP_FRONTEND} \
--build-env BP_WEB_SERVER=nginx \
--source-path ./spring-petclinic-frontend
Use o seguinte comando para criar e implantar o aplicativo customers-service:
Após a conclusão da implantação, encontre o URL do Gateway de Spring Cloud nas saídas de implantação, conforme mostrado na seguinte captura de tela:
Abra o URL do gateway. A aparência do aplicativo deve ser similar à captura de tela a seguir:
5.2. Consultar os logs do aplicativo
Depois de procurar cada função do Pet Clinic, o workspace do Log Analytics coleta logs de cada aplicativo. Você pode marcar os logs por meio de consultas personalizadas, conforme mostrado na captura de tela a seguir:
5.3. Monitorar os aplicativos
O Application Insights monitora as dependências do aplicativo, conforme mostrado pelo seguinte mapa de rastreamento de aplicativos:
Encontre o URL da Exibição ao vivo de aplicativos nas saídas de implantação. Abra o URL da Exibição ao vivo de aplicativos para monitorar os runtimes do aplicativo, conforme mostrado na seguinte captura de tela:
5.1. Acessar os aplicativos
Use o ponto de extremidade atribuído do Gateway de Spring Cloud, por exemplo, https://<your-Azure-Spring-Apps-instance-name>-gateway-xxxxx.svc.azuremicroservices.io. A aparência do aplicativo deve ser similar à captura de tela a seguir:
5.2. Consultar os logs do aplicativo
Depois de procurar cada função do Pet Clinic, o workspace do Log Analytics coleta logs de cada aplicativo. Você pode marcar os logs por meio de consultas personalizadas, conforme mostrado na captura de tela a seguir:
5.3. Monitorar os aplicativos
O Application Insights monitora as dependências do aplicativo, conforme mostrado pelo seguinte mapa de rastreamento de aplicativos:
Abra o URL do Application Live View exposto pelas Ferramentas para Desenvolvedores para monitorar os runtimes do aplicativo, conforme mostrado na seguinte captura de tela:
5.1. Acessar os aplicativos
Use os seguintes comandos para recuperar a URL no Spring Cloud Gateway:
export GATEWAY_URL=$(az spring gateway show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${GATEWAY_URL}"
A aparência do aplicativo deve ser similar à captura de tela a seguir:
5.2. Consultar os logs do aplicativo
Depois de procurar cada função do Pet Clinic, o workspace do Log Analytics coleta logs de cada aplicativo. Você pode marcar os logs por meio de consultas personalizadas, conforme mostrado na captura de tela a seguir:
5.3. Monitorar os aplicativos
O Application Insights monitora as dependências do aplicativo, conforme mostrado pelo seguinte mapa de rastreamento de aplicativos:
Use os seguintes comandos para recuperar o URL da Exibição ao vivo de aplicativos:
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"
Abra o URL da Exibição ao vivo de aplicativos para monitorar os runtimes do aplicativo, conforme mostrado na seguinte captura de tela:
5.1. Acessar os aplicativos
Usando as informações de URL na saída do log de implantação, abra a URL exposta pelo aplicativo chamado api-gateway, por exemplo, https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io. A aparência do aplicativo deve ser similar à captura de tela a seguir:
5.2. Consultar os logs do aplicativo
Depois de procurar cada função do Pet Clinic, o workspace do Log Analytics coleta logs de cada aplicativo. Você pode marcar os logs por meio de consultas personalizadas, conforme mostrado na captura de tela a seguir:
5.3. Monitorar os aplicativos
O Application Insights monitora as dependências do aplicativo, conforme mostrado pelo seguinte mapa de rastreamento de aplicativos:
Abra a URL exposta pelo aplicativo admin-server para gerenciar os aplicativos por meio do Servidor de Administração do Spring Boot, conforme mostrado na captura de tela a seguir:
6. Limpar os recursos
Se planejar continuar trabalhando com os tutoriais e inícios rápidos subsequentes, deixe esses recursos onde estão. Quando não precisar mais dos recursos, você poderá limpar os recursos desnecessários para evitar cobranças do Azure.
Use as seguintes etapas para excluir todo o grupo de recursos, incluindo a instância de serviço recém-criada:
Encontre o grupo de recursos no portal do Azure. No menu de navegação, selecione Grupos de recursos e, em seguida, selecione o nome do seu grupo de recursos.
Na página do Grupo de recursos, selecione Excluir. Insira o nome do seu grupo de recursos na caixa de texto para confirmar a exclusão e selecione Excluir.
Use o seguinte comando para excluir todos os recursos do Azure usados neste aplicativo de exemplo:
azd down
A lista a seguir descreve a interação de comando:
Total de recursos a serem excluídos: <resources-total>, tem certeza de que deseja continuar?: Pressione s.
O console gera mensagens semelhantes ao exemplo a seguir:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
Exclua os recursos que você criou neste artigo quando não precisar mais deles. Você pode excluir o grupo de recursos do Azure, que inclui todos os recursos no grupo de recursos.
Use as seguintes etapas para excluir todo o grupo de recursos:
Encontre o grupo de recursos no portal do Azure. No menu de navegação, selecione Grupos de recursos e, em seguida, selecione o nome do seu grupo de recursos.
Na página do Grupo de recursos, selecione Excluir. Insira o nome do seu grupo de recursos na caixa de texto para confirmar a exclusão e selecione Excluir.
Use as seguintes etapas para excluir todo o grupo de recursos:
Encontre o grupo de recursos no portal do Azure. No menu de navegação, selecione Grupos de recursos e, em seguida, selecione o nome do seu grupo de recursos.
Na página do Grupo de recursos, selecione Excluir. Insira o nome do seu grupo de recursos na caixa de texto para confirmar a exclusão e selecione Excluir.
Use o seguinte comando para excluir o grupo de recursos: