Guia de início rápido: implantar aplicativos de microsserviço no Azure Spring Apps

Nota

As primeiras 50 horas de vCPU e 100 GB de memória são gratuitas todos os meses. Para obter mais informações, consulte Redução de preço - O Azure Spring Apps faz mais, custa menos! no Blog Aplicativos no Azure.

Nota

Azure Spring Apps é o novo nome para o serviço Azure Spring Cloud. Embora o serviço tenha um novo nome, você verá o nome antigo em alguns lugares por um tempo enquanto trabalhamos para atualizar ativos, como capturas de tela, vídeos e diagramas.

Este artigo explica como implantar aplicativos de microsserviço no Azure Spring Apps usando o conhecido aplicativo de exemplo PetClinic.

O exemplo Pet Clinic demonstra o padrão de arquitetura de microsserviços. O diagrama a seguir mostra a arquitetura do aplicativo PetClinic no plano do Azure Spring Apps Enterprise.

Diagrama que mostra a arquitetura do exemplo PetClinic no plano do Azure Spring Apps Enterprise.

O diagrama mostra os seguintes fluxos e relações arquitetônicas do exemplo da Pet Clinic:

  • Usa o Azure Spring Apps para gerenciar os aplicativos frontend e back-end. Os aplicativos de back-end são criados com o Spring Boot e cada aplicativo usa HSQLDB como o armazenamento persistente. O aplicativo frontend reforjado se baseia no Pet Clinic API Gateway App com Node.js servindo como um aplicativo Web frontend autônomo.
  • Usa os componentes gerenciados no Azure Spring Apps, incluindo Registro de Serviço, Serviço de Configuração de Aplicativo, Spring Cloud Gateway e Exibição ao Vivo de Aplicativo. O Serviço de Configuração de Aplicativo lê a configuração do repositório Git.
  • Expõe a URL do Spring Cloud Gateway para rotear a solicitação para aplicativos de serviço de back-end e expõe a URL do Application Live View para monitorar os aplicativos de back-end.
  • Analisa logs usando o espaço de trabalho do Log Analytics.
  • Monitora o desempenho com o Application Insights.

Nota

Este artigo usa uma versão simplificada do PetClinic, usando um banco de dados na memória que não está pronto para produção para implantar rapidamente no Azure Spring Apps.

O Tanzu Developer Tools expõe o acesso público para o Application Live View, que é um ponto de risco. O ambiente de produção precisa proteger o acesso. Para obter mais informações, consulte a seção Configurar Portal de Ferramentas de Desenvolvimento de Configurar Ferramentas de Desenvolvimento Tanzu no plano do Azure Spring Apps Enterprise.

O exemplo Pet Clinic demonstra o padrão de arquitetura de microsserviços. O diagrama a seguir mostra a arquitetura do aplicativo PetClinic no plano Azure Spring Apps Standard.

Diagrama que mostra a arquitetura do exemplo PetClinic no plano padrão do Azure Spring Apps.

O diagrama mostra os seguintes fluxos e relações arquitetônicas do exemplo da Pet Clinic:

  • Usa o Azure Spring Apps para gerenciar os aplicativos Spring Boot. Cada aplicativo usa HSQLDB como o armazenamento persistente.
  • Usa os componentes gerenciados Spring Cloud Config Server e Eureka Service Registry no Azure Spring Apps. O Config Server lê a configuração do repositório Git.
  • Expõe a URL do API Gateway para solicitações de balanceamento de carga para aplicativos de serviço e expõe a URL do Admin Server para gerenciar os aplicativos.
  • Analisa logs usando o espaço de trabalho do Log Analytics.
  • Monitora o desempenho com o Application Insights.

Nota

Este artigo usa uma versão simplificada do PetClinic, usando um banco de dados na memória que não está pronto para produção para implantar rapidamente no Azure Spring Apps.

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 Spring Boot Admin.

Este artigo fornece as seguintes opções para implantação no Azure Spring Apps:

  • A opção de 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 desenvolvedores do Spring que desejam implantar rapidamente aplicativos nos serviços de nuvem do Azure.
  • A opção de plug-in do portal do Azure + Maven é uma maneira mais convencional de criar recursos e implantar aplicativos passo a passo. Essa opção é adequada para desenvolvedores do Spring que usam os serviços de nuvem do Azure pela primeira vez.
  • A opção CLI do Azure usa uma poderosa ferramenta de linha de comando para gerenciar recursos do Azure. Essa opção é adequada para desenvolvedores do Spring que estão familiarizados com os serviços de nuvem do Azure.
  • A opção de plug-in do portal do Azure + Maven é uma maneira mais convencional de criar recursos e implantar aplicativos passo a passo. Essa opção é adequada para desenvolvedores do Spring que usam os serviços de nuvem do Azure pela primeira vez.
  • A opção CLI do Desenvolvedor do Azure é uma maneira mais eficiente de criar recursos e implantar aplicativos automaticamente por meio de comandos simples. A CLI do Desenvolvedor do Azure usa um modelo para provisionar os recursos do Azure necessários e implantar o código do aplicativo. Essa opção é adequada para desenvolvedores do Spring que estão familiarizados com os serviços de nuvem do Azure.

1. Pré-requisitos

2. Preparar o projeto da primavera

Use as seguintes etapas para preparar o exemplo localmente:

  1. Clone o projeto de exemplo usando o seguinte comando:

    git clone https://github.com/Azure-Samples/spring-petclinic-microservices.git
    
  2. Navegue até o diretório raiz do projeto e use o seguinte comando para executar o projeto de exemplo localmente:

    bash ./scripts/run_all_without_infra.sh
    
  3. Depois que o script for concluído com sucesso, vá para http://localhost:8080 o seu navegador para acessar o aplicativo PetClinic.

3. Prepare o ambiente de nuvem

Esta seção descreve como criar uma instância de serviço do Azure Spring Apps e preparar o ambiente de nuvem do Azure.

3.1. Inicie sessão no portal do Azure

Vá para o portal do Azure e insira suas credenciais para entrar no portal. A vista predefinida é o dashboard de serviço.

3.2. Criar uma instância do Azure Spring Apps

Use as seguintes etapas para criar a instância de serviço:

  1. Selecione Criar um recurso no canto do portal do Azure.

  2. Na guia Serviços do Azure, selecione Compute>Azure Spring Apps.

    Captura de ecrã do portal do Azure que mostra a página Criar um Recurso com as Aplicações Azure Spring realçadas.

  3. Na página Criar Aplicativos de primavera do Azure, preencha o formulário na guia Noções básicas.

    Captura de ecrã do portal do Azure que mostra a página Criar Aplicações Azure Spring com o separador Noções básicas selecionada.

    Use a tabela a seguir como um guia para preencher o formulário. O plano recomendado é Standard.

    Definição Valor sugerido Description
    Subscrição O nome da subscrição. A subscrição do Azure que quer utilizar para o servidor. Se tiver várias subscrições, escolha a subscrição pela qual pretende ser cobrado pelo recurso.
    Grupo de recursos myresourcegroup Um nome de grupo de recursos novo ou um já existente na sua subscrição.
    Nome Miasa Um nome exclusivo que identifica sua instância do Azure Spring Apps. O nome deve ter entre 4 e 32 caracteres e pode conter apenas letras minúsculas, números e hífenes. O primeiro caractere do nome do serviço deve ser uma letra e o último caractere deve ser uma letra ou um número.
    Planear Standard O plano de preços determina os recursos e o custo associados à sua instância.
    Região A região mais próxima dos seus utilizadores. A localização que esteja mais próxima dos seus utilizadores.
    Zona redundante não selecionado Cria seu serviço Azure Spring Apps em uma zona de disponibilidade do Azure. Atualmente não é suportado em todas as regiões.
  4. Navegue até a guia Configurações de diagnóstico na página Criar Azure Spring Apps e selecione Criar novo para criar uma nova instância de espaços de trabalho do Log Analytics. Na página Criar novo espaço de trabalho do Log Analytics, atualize o nome do espaço de trabalho do Log Analytics conforme necessário e selecione OK para confirmar a criação.

    Captura de ecrã do portal do Azure que mostra a página Criar Aplicações Azure Spring com o separador Diagnóstico selecionado e o botão Criar novo realçado.

  5. Navegue até a guia Application Insights na página Criar Azure Spring Apps 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 Baseado em espaço de trabalho para o modo de recurso e selecione OK para confirmar a criação.

    Captura de ecrã do portal do Azure que mostra a página Criar Aplicações Azure Spring com o painel de recursos Criar novo Application Insights apresentado.

  6. Selecione Rever e Criar para rever as suas seleções. Em seguida, selecione Criar para provisionar a instância do Azure Spring Apps.

  7. Selecione o ícone Notificações (um sino) para monitorar o processo de implantação. Após a conclusão da implantação, você pode selecionar Fixar no painel para criar um atalho no painel do portal do Azure para a página Visão geral do serviço.

    Captura de ecrã do portal do Azure que mostra uma implementação de um recurso e o painel de Notificação com os botões Ir para recurso e Afixar ao dashboard.

  8. Selecione Ir para o recurso para ir para a página Visão Geral do Azure Spring Apps.

  9. Selecione Config Server no painel de navegação.

  10. Na página Config Server, para URI, digite https://github.com/Azure-Samples/spring-petclinic-microservices-config.git e selecione Validar.

    Captura de ecrã do portal do Azure que mostra a página Config Server com o URI Predefinido e o botão Validar realçados.

  11. Após a validação, selecione Aplicar para concluir a configuração do Config Server.

4. Implantar os aplicativos no Azure Spring Apps

Agora você pode implantar o aplicativo no Azure Spring Apps.

Use as seguintes etapas para implantar os aplicativos de microsserviço usando o plug-in Maven para Azure Spring Apps:

  1. Navegue até o diretório de projeto de exemplo e use o seguinte comando para configurar os aplicativos para o Azure Spring Apps:

    ./mvnw -P spring-apps com.microsoft.azure:azure-spring-apps-maven-plugin:1.17.0:config
    
  2. 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 ALL): Pressione Enter para selecionar todos.
    • Login OAuth2: autorize a entrada no Azure com base no protocolo OAuth2.
    • Selecionar assinatura: selecione o número da lista de assinaturas da instância do Azure Spring Apps que você criou, que assume como padrão a primeira assinatura na lista. Se você usar o número padrão, pressione Enter diretamente.
    • Selecione Azure Spring Apps para implantação: selecione o número da lista da instância do Azure Spring Apps que você criou. Se você usar o número padrão, pressione Enter diretamente.
    • Selecione 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): Digite 1,5 para admin-server e api-gateway.
    • Confirme para salvar todas as configurações acima (S/n): Pressione y. Se você pressionar n, a configuração não será salva nos arquivos POM.
  3. Use o seguinte comando para criar e implantar cada aplicativo:

    ./mvnw azure-spring-apps:deploy
    
  4. Para o prompt de logon OAuth2, autorize o logon no Azure com base no protocolo OAuth2.

    Nota

    A implantação no Azure Spring Apps 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

2. Preparar o projeto da primavera

O botão Implantar no Azure na próxima seção inicia uma experiência de portal do Azure que baixa um pacote JAR da página de versões ASA-Samples-Web-Application no GitHub. Não são necessárias etapas de preparação locais.

3. Prepare o ambiente de nuvem

O principal recurso necessário para executar este exemplo é uma instância do Azure Spring Apps. 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 ARM para criar recursos do Azure.

3.1. Inicie sessão no portal do Azure

Vá para o portal do Azure e insira suas credenciais para entrar no portal. A vista predefinida é o dashboard 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:

  1. Selecione o seguinte botão Implantar no Azure para iniciar a experiência de implantação no portal do Azure:

    Botão para implantar o modelo do Gerenciador de Recursos no Azure.

  2. Preencha o formulário na guia Noções básicas . Use a tabela a seguir como um guia para preencher o formulário:

    Definição Valor sugerido Description
    Subscrição O nome da subscrição. A subscrição do Azure que quer utilizar para o servidor. Se tiver várias subscrições, escolha a subscrição na qual pretende ser cobrado pelo recurso.
    Grupo de recursos myresourcegroup Um nome de grupo de recursos novo ou um já existente na sua subscrição.
    Região A região mais próxima dos seus utilizadores. A região é usada para criar o grupo de recursos.

    Captura de ecrã do portal do Azure que mostra a página Implementação personalizada.

  3. Selecione Rever e Criar para rever as suas seleções. Em seguida, selecione Criar para implantar o aplicativo no Azure Spring Apps.

  4. Na barra de ferramentas, selecione o ícone Notificações (um sino) para monitorizar o processo de implementação. Após a conclusão da implantação, você pode selecionar Fixar no painel, que cria um bloco para esse serviço no painel do portal do Azure como um atalho para a página Visão geral do serviço. Selecione Ir para recurso para abrir a página Visão geral do serviço.

    Captura de ecrã do portal do Azure que mostra a página Descrição Geral com o painel de notificações de implementação personalizado aberto.

4. Implantar os aplicativos no Azure Spring Apps

O botão Implantar no Azure na seção anterior inicia uma experiência de portal do Azure que inclui a implantação de aplicativos, portanto, nada mais é necessário.

5. Valide as aplicações

As seções a seguir descrevem como validar a implantação.

5.1. Aceda às aplicações

Após a conclusão da implantação, você poderá encontrar a URL do Spring Cloud Gateway nas saídas de implantação, conforme mostrado na captura de tela a seguir:

Captura de ecrã do portal do Azure que mostra a página Saídas de Implementação.

Abra o URL do gateway. O aplicativo deve ser semelhante à seguinte captura de tela:

Captura de ecrã da aplicação PetClinic em execução no plano Azure Spring Apps Enterprise.

5.2. Consultar os logs do aplicativo

Depois de navegar por cada função da Clínica Pet, o espaço de trabalho do Log Analytics coleta logs de cada aplicativo. Você pode verificar os logs usando consultas personalizadas, conforme mostrado na captura de tela a seguir:

Captura de tela do portal do Azure que mostra a página Logs da consulta no aplicativo PetClinic e os resultados do plano Enterprise.

5.3. Monitorizar as aplicações

O Application Insights monitora as dependências do aplicativo, conforme mostrado pelo seguinte mapa de rastreamento de aplicativos:

Captura de ecrã do portal do Azure que mostra a página Mapa de aplicações para o plano Azure Spring Apps Enterprise.

Você pode encontrar a URL do Application Live View nas saídas de implantação. Abra a URL do Application Live View para monitorar os tempos de execução do aplicativo, conforme mostrado na captura de tela a seguir:

Captura de tela do aplicativo Live View para o aplicativo PetClinic.

5.1. Aceda às aplicações

Usando as informações de URL na saída do log de implantação, abra a URL exposta pelo aplicativo nomeado api-gateway - por exemplo, https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io. O aplicativo deve ser semelhante à seguinte captura de tela:

Captura de ecrã da aplicação PetClinic em execução nas Aplicações Azure Spring.

5.2. Consultar os logs do aplicativo

Depois de navegar por cada função da Clínica Pet, o espaço de trabalho do Log Analytics coleta logs de cada aplicativo. Você pode verificar os logs usando consultas personalizadas, conforme mostrado na captura de tela a seguir:

Captura de tela do portal do Azure que mostra a página Logs da consulta no aplicativo PetClinic e os resultados.

5.3. Monitorizar as aplicações

O Application Insights monitora as dependências do aplicativo, conforme mostrado pelo seguinte mapa de rastreamento de aplicativos:

Captura de tela do portal do Azure que mostra a página Mapa do aplicativo para uma instância do Application Insights.

Abra a URL exposta pelo aplicativo admin-server para gerenciar os aplicativos por meio do Spring Boot Admin Server, conforme mostrado na captura de tela a seguir:

Captura de tela da página do Spring Boot Admin Server para o aplicativo PetClinic listando as instâncias atuais do aplicativo.

6. Limpar os recursos

Se você planeja continuar trabalhando com guias de início rápido e tutoriais subsequentes, convém deixar esses recursos no lugar. Quando não precisar mais dos recursos, você poderá limpar 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:

  1. Localize 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.

  2. Na página Grupo de recursos , selecione Excluir. Introduza o nome do seu grupo de recursos na caixa de texto para confirmar a eliminação e, em seguida, selecione Eliminar.

Certifique-se de excluir os recursos criados neste artigo quando não precisar mais deles. Pode eliminar 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:

  1. Localize 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.

  2. Na página Grupo de recursos , selecione Excluir. Introduza o nome do seu grupo de recursos na caixa de texto para confirmar a eliminação e, em seguida, selecione Eliminar.

7. Próximas etapas

Para obter mais informações, consulte os seguintes artigos que podem estar em inglês: