Migrar aplicativos do Spring Cloud para o Azure Spring Apps

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 guia descreve o que você deve estar ciente quando deseja migrar um aplicativo Spring Cloud existente para ser executado no Azure Spring Apps.

Pré-migração

Para garantir uma migração bem-sucedida, antes de começar, conclua as etapas de avaliação e inventário descritas nas seções a seguir.

Se você não puder atender a nenhum desses requisitos de pré-migração, consulte os seguintes guias complementares de migração:

  • Migrar aplicações JAR executáveis para contentores no Azure Kubernetes Service (orientação planeada)
  • Migrar aplicações JAR executáveis para Máquinas Virtuais do Azure (orientação planeada)

Inspecionar componentes do aplicativo

Determinar se e como é que o sistema de ficheiros é utilizado

Encontre todas as instâncias em que seus serviços gravam e/ou leem do sistema de arquivos local. Identifique onde os arquivos temporários/de curto prazo são gravados e lidos e onde os arquivos de longa duração são gravados e lidos.

Nota

O Azure Spring Apps fornece 5 GB de armazenamento temporário por instância do Azure Spring Apps, montado no /tmp. Se os arquivos temporários forem gravados acima desse limite ou em um local diferente, serão necessárias alterações no código.

Conteúdo estático só de leitura

Se a sua aplicação servir conteúdo estático atualmente, precisa de uma localização alternativa para o mesmo. Pode considerar mover o conteúdo estático para o Armazenamento de Blobs do Azure e adicionar a CDN do Azure para obter transferências super-rápidas a nível global. Para obter mais informações, consulte Hospedagem de site estático no Armazenamento do Azure e Guia de início rápido: integrar uma conta de armazenamento do Azure com a CDN do Azure.

Conteúdo estático publicado dinamicamente

Se a sua aplicação permitir conteúdo estático carregado/produzido pela mesma, mas que é imutável após a criação, pode utilizar o Armazenamento de Blobs do Azure e a CDN do Azure conforme descrito acima, com uma função das Funções do Azure que lide com os carregamentos e as atualizações da CDN. Disponibilizamos uma implementação de exemplo que pode utilizar, em Uploading and CDN-preloading static content with Azure Functions (Carregamento e pré-carregamento da CDN de conteúdo estático com as Funções do Azure).

Determinar se algum dos serviços contém código específico do SO

Se a sua aplicação contiver código com dependências no SO anfitrião, terá de a refatorizar para remover essas dependências. Por exemplo, poderá ter de substituir qualquer utilização de / ou \ em caminhos do sistema de ficheiros por File.Separator ou Paths.get.

Mudar para uma plataforma suportada

O Azure Spring Apps oferece versões específicas do Java e versões específicas do Spring Boot e do Spring Cloud. Para garantir a compatibilidade, primeiro migre seu aplicativo para uma das versões suportadas do Java em seu ambiente atual e, em seguida, prossiga com as etapas de migração restantes. Certifique-se de que testa a configuração resultante na íntegra. Utilize a versão estável mais recente da sua distribuição Linux nestes testes.

Nota

Esta validação é particularmente importante se o seu servidor atual estiver a ser executado num JDK não suportado (como Oracle JDK ou IBM OpenJ9).

Para obter a sua versão atual do Java, inicie sessão no servidor de produção e execute o comando seguinte:

java -version

Para obter versões suportadas de Java, Spring Boot e Spring Cloud, bem como instruções de atualização, consulte Preparar um aplicativo para implantação no Azure Spring Apps.

Identificar versões do Spring Boot

Examine as dependências de cada aplicativo que está sendo migrado para determinar sua versão do Spring Boot.

Maven

Em projetos Maven, a versão Spring Boot normalmente é encontrada no <parent> elemento do arquivo POM:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.10</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
Gradle

Em projetos Gradle, a versão Spring Boot normalmente será encontrada na plugins seção, como a versão do org.springframework.boot plugin:

plugins {
  id 'org.springframework.boot' version '2.7.10'
  id 'io.spring.dependency-management' version '1.0.15.RELEASE'
  id 'java'
}

Para quaisquer aplicativos que usem o Spring Boot 1.x, siga o guia de migração do Spring Boot 2.0 para atualizá-los para uma versão suportada do Spring Boot. Para obter versões com suporte, consulte a seção Spring Boot e versões do Spring Cloud em Preparar um aplicativo para implantação no Azure Spring Apps.

Identificar versões do Spring Cloud

Examine as dependências de cada aplicativo que você está migrando para determinar a versão dos componentes do Spring Cloud que ele usa.

Maven

Em projetos Maven, a versão do Spring Cloud normalmente é definida na spring-cloud.version propriedade:

  <properties>
    <java.version>1.8</java.version>
    <spring-cloud.version>2021.0.6</spring-cloud.version>
  </properties>
Gradle

Em projetos Gradle, a versão do Spring Cloud normalmente é definida no bloco "propriedades extras":

ext {
  set('springCloudVersion', "2021.0.6")
}

Você precisa atualizar todos os aplicativos para usar as versões suportadas do Spring Cloud. Para obter uma lista de versões suportadas, consulte a seção Versões do Spring Boot e do Spring Cloud em Preparar um aplicativo para implantação no Azure Spring Apps.

Identificar soluções de agregação de logs

Identifique quaisquer soluções de agregação de logs em uso pelos aplicativos que você está migrando. Você precisa definir as configurações de diagnóstico na migração para disponibilizar eventos registrados para consumo. Para obter mais informações, consulte a seção Garantir o registro em log do console e definir configurações de diagnóstico.

Identificar agentes de gerenciamento de desempenho de aplicativos (APM)

Identifique todos os agentes de monitoramento de desempenho de aplicativos em uso com seus aplicativos. O Azure Spring Apps suporta a integração com Application Insights, New Relic, Elastic APM, Dynatrace e AppDynamics. Se o aplicativo estiver usando um APM suportado, configure a integração na migração. Se o aplicativo não estiver usando um APM compatível, considere usar o Application Insights. Para obter mais informações, consulte a seção Migração .

Identificar dependências do Zipkin

Determine se seu aplicativo tem dependências no Zipkin. Atualize o aplicativo para usar o Application Insights. Para obter informações, consulte Usar o Application Insights Java In-Process Agent no Azure Spring Apps e a seção Pós-migração .

Inventariar os recursos externos

Identifique os recursos externos, tais como origens de dados, mediadores de mensagens JMS e URLs de outros serviços. Em aplicativos Spring Cloud, normalmente você pode encontrar a configuração para esses recursos em um dos seguintes locais:

  • Na pasta src/main/directory, em um arquivo normalmente chamado application.properties ou application.yml.
  • No repositório do Spring Cloud Config que você identificou na etapa anterior.

Bases de Dados

Para qualquer base de dados SQL, identifique a cadeia de ligação.

Para uma aplicação do Spring Boot, as cadeias de ligação aparecem normalmente em ficheiros de configuração.

Eis um exemplo de um ficheiro application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/mysql_db
spring.datasource.username=dbuser
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

Eis um exemplo de um ficheiro application.yaml:

spring:
  data:
    mongodb:
      uri: mongodb://mongouser:deepsecret@mongoserver.contoso.com:27017

Consulte a documentação do Spring Data para obter mais cenários de configuração possíveis:

Agentes de mensagens JMS

Identifique o broker ou brokers em uso procurando no manifesto de compilação (normalmente, um arquivo pom.xml ou build.gradle ) as dependências relevantes.

Por exemplo, um aplicativo Spring Boot usando ActiveMQ normalmente conteria essa dependência em seu arquivo pom.xml :

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-activemq</artifactId>
</dependency>

Os aplicativos Spring Boot que usam corretores comerciais normalmente contêm dependências diretamente nas bibliotecas de drivers JMS dos corretores. Eis um exemplo de um ficheiro build.gradle:

    dependencies {
      ...
      compile("com.ibm.mq:com.ibm.mq.allclient:9.0.4.0")
      ...
    }

Depois de identificar o corretor ou corretores em uso, encontre as configurações correspondentes. Nos aplicativos do Spring Cloud, você normalmente pode encontrá-los nos arquivos application.properties e application.yml no diretório do aplicativo ou no repositório do servidor Spring Cloud Config.

Aqui está um exemplo do ActiveMQ de um arquivo application.properties :

spring.activemq.brokerurl=broker:(tcp://localhost:61616,network:static:tcp://remotehost:61616)?persistent=false&useJmx=true
spring.activemq.user=admin
spring.activemq.password=tryandguess

Para obter mais informações sobre a configuração do ActiveMQ, consulte a documentação de mensagens do Spring Boot.

Aqui está um exemplo do IBM MQ de um arquivo application.yaml :

ibm:
  mq:
    queueManager: qm1
    channel: dev.ORDERS
    connName: localhost(14)
    user: admin
    password: big$ecr3t

Para obter mais informações sobre a configuração do IBM MQ, consulte a documentação dos componentes do IBM MQ Spring.

Identificar caches externos

Identifique todos os caches externos em uso. Frequentemente, o Redis é usado via Spring Data Redis. Para obter informações sobre configuração, consulte a documentação do Spring Data Redis .

Determine se os dados da sessão estão sendo armazenados em cache via Spring Session pesquisando a respetiva configuração (em Java ou XML).

Fornecedores de identidade

Identifique todos os provedores de identidade e todos os aplicativos do Spring Cloud que exigem autenticação e/ou autorização. Para obter informações sobre como configurar provedores de identidade, consulte os seguintes recursos:

  • Para a configuração do OAuth2, consulte o Guia de início rápido do Spring Cloud Security.
  • Para a configuração do Auth0 Spring Security, consulte a documentação do Auth0 Spring Security.
  • Para a configuração do PingFederate Spring Security, consulte as instruções do Auth0 PingFederate.

Recursos configurados através do VMware Tanzu Application Service (TAS) (anteriormente Pivotal Cloud Foundry)

Para aplicativos gerenciados com TAS, os recursos externos, incluindo os recursos descritos anteriormente, geralmente são configurados por meio de associações de serviço TAS. Para examinar a configuração desses recursos, use a CLI do TAS (Cloud Foundry) para exibir a VCAP_SERVICES variável do aplicativo.

# Log into TAS, if needed (enter credentials when prompted)
cf login -a <API endpoint>

# Set the organization and space containing the application, if not already selected during login.
cf target org <organization name>
cf target space <space name>

# Display variables for the application
cf env <Application Name>

Examine a VCAP_SERVICES variável para definições de configuração de serviços externos vinculados ao aplicativo. Para obter mais informações, consulte a documentação do TAS (Cloud Foundry).

Todos os outros recursos externos

Não é viável para este guia documentar todas as dependências externas possíveis. Após a migração, é sua responsabilidade verificar se você pode satisfazer todas as dependências externas do seu aplicativo.

Fontes e segredos de configuração de inventário

Senhas de inventário e strings seguras

Procure cadeias de segredos e palavras-passe nas propriedades e nos ficheiros de configuração e nas variáveis ambientais nas implementações de produção. Em um aplicativo do Spring Cloud, você normalmente pode encontrar essas cadeias de caracteres no arquivo application.properties ou application.yml em serviços individuais ou no repositório do Spring Cloud Config.

Inventariar certificados

Documente todos os certificados utilizados em pontos finais SSL públicos ou em comunicações com bases de dados de back-end e outros sistemas. Pode ver todos os certificados no servidor ou servidores de produção com o comando seguinte:

keytool -list -v -keystore <path to keystore>

Determinar se o Spring Cloud Vault é usado

Se você usa o Spring Cloud Vault para armazenar e acessar segredos, identifique o armazenamento secreto de backup (por exemplo, HashiCorp Vault ou CredHub). Em seguida, identifique todos os segredos usados pelo código do aplicativo.

Localize a origem do servidor de configuração

Se seu aplicativo usa um servidor Spring Cloud Config, identifique onde a configuração está armazenada. Normalmente, você encontrará essa configuração no arquivo bootstrap.yml ou bootstrap.properties ou, às vezes, no arquivo application.yml ou application.properties. A configuração será semelhante ao exemplo a seguir:

spring.cloud.config.server.git.uri: file://${user.home}/spring-cloud-config-repo

Embora o git seja mais comumente usado como armazenamento de dados de backup do Spring Cloud Config, como mostrado anteriormente, um dos outros back-ends possíveis pode estar em uso. Consulte a documentação do Spring Cloud Config para obter informações sobre outros back-ends, como JDBC (Relational Database), SVN e o sistema de arquivos local.

Nota

Se os dados do servidor de configuração estiverem armazenados localmente, como o GitHub Enterprise, você precisará disponibilizá-los para o Azure Spring Apps por meio de um repositório Git.

Inspecionar a arquitetura de implantação

Documentar os requisitos de hardware para cada serviço

Para cada um dos seus serviços do Spring Cloud (não incluindo o servidor de configuração, o registro ou o gateway), documente as seguintes informações:

  • O número de instâncias em execução.
  • O número de CPUs alocadas para cada instância.
  • A quantidade de RAM alocada para cada instância.

Geo-replicação/distribuição de documentos

Determine se os aplicativos do Spring Cloud estão atualmente distribuídos entre várias regiões ou data centers. Documente os requisitos de tempo de atividade/SLA dos aplicativos que você está migrando.

Identificar clientes que ignoram o registro de serviço

Identifique quaisquer aplicativos cliente que invoquem qualquer um dos serviços a serem migrados sem usar o Registro do Spring Cloud Service. Após a migração, tais invocações não serão mais possíveis. Atualize esses clientes para usar o Spring Cloud OpenFeign antes da migração.

Migração

Remover configurações restritas

Nos serviços que está a migrar, localize e remova quaisquer atribuições explícitas das seguintes definições restritas. Essas propriedades são injetadas automaticamente em seu ambiente de aplicativo para acessar o Config Server e o Service Discovery. Se essas propriedades estiverem em seus arquivos de aplicativo do Config Server, você poderá enfrentar conflitos e comportamento inesperado. Para obter mais informações, consulte a seção Restrição de Configurar um Spring Cloud Config Server gerenciado no Azure Spring Apps

  • eureka.client.service-url.defaultZone
  • eureka.client.tls.keystore
  • eureka.instance.preferIpAddress
  • eureka.instance.instance-id
  • server.port
  • spring.cloud.config.tls.keystore
  • spring.config.import
  • spring.application.name
  • spring.jmx.enabled
  • management.endpoints.jmx.exposure.include

Criar uma instância e aplicativos do Azure Spring Apps

Provisione uma instância do Azure Spring Apps em sua assinatura do Azure. Em seguida, provisione um aplicativo para cada serviço que você está migrando. Não inclua os servidores de registro e configuração do Spring Cloud. Inclua o serviço Spring Cloud Gateway. Para obter instruções, consulte Guia de início rápido: implantar seu primeiro aplicativo no Azure Spring Apps.

Preparar o servidor Spring Cloud Config

Configure o servidor de configuração em sua instância do Azure Spring Apps. Para obter mais informações, consulte Configurar uma instância do Spring Cloud Config Server para seu serviço.

Nota

Se o repositório atual do Spring Cloud Config estiver no sistema de arquivos local ou no local, primeiro você precisará migrar ou replicar seus arquivos de configuração para um repositório privado baseado em nuvem, como GitHub, Azure Repos ou BitBucket.

Garantir o registro em log do console e definir as configurações de diagnóstico

Configure o registro em log para que toda a saída seja roteada para o console e não para arquivos.

Depois que um aplicativo for implantado no Azure Spring Apps, adicione uma configuração de diagnóstico para disponibilizar eventos registrados para consumo, por exemplo, por meio do Azure Monitor Log Analytics.

Pilha LogStash/ELK

Se você usar LogStash/ELK Stack para agregação de log, configure a configuração de diagnóstico para transmitir a saída do console para um Hub de Eventos do Azure. Em seguida, use o plug-in LogStash EventHub para ingerir eventos registrados no LogStash.

Splunk

Se você usar o Splunk para agregação de log, configure a configuração de diagnóstico para transmitir a saída do console para o Armazenamento de Blobs do Azure. Em seguida, use o complemento Splunk para Microsoft Cloud Services para ingerir eventos registrados no Splunk.

Configurar armazenamento persistente

Se qualquer parte do seu aplicativo ler ou gravar no sistema de arquivos local, você precisará configurar o armazenamento persistente para substituir o sistema de arquivos local. Para obter mais informações, consulte Usar armazenamento persistente interno no Azure Spring Apps.

Você deve gravar todos os arquivos temporários no /tmp diretório. Para independência do sistema operacional, você pode obter este diretório usando System.getProperty("java.io.tmpdir"). Você também pode usar java.nio.Files::createTempFile para criar arquivos temporários.

Componentes VMware Tanzu

Na camada Enterprise, o Application Configuration Service for VMware Tanzu® é fornecido para oferecer suporte à configuração externalizada para seus aplicativos. O Managed Spring Cloud Config Server não está disponível na camada Enterprise e só está disponível nas camadas Standard e Basic do Azure Spring Apps.

Serviço de configuração de aplicativos para Tanzu

O Application Configuration Service for Tanzu é um dos componentes comerciais do VMware Tanzu . O Application Configuration Service for Tanzu é nativo do Kubernetes e diferente do Spring Cloud Config Server. O Application Configuration Service for Tanzu permite o gerenciamento de recursos ConfigMap nativos do Kubernetes que são preenchidos a partir de propriedades definidas em um ou mais repositórios Git.

Na camada Enterprise, não há o Spring Cloud Config Server, mas você pode usar o Application Configuration Service for Tanzu para gerenciar configurações centralizadas. Para obter mais informações, consulte Usar o Serviço de Configuração de Aplicativo para Tanzu

Para usar o Serviço de Configuração de Aplicativo para Tanzu, execute as seguintes etapas para cada um dos seus aplicativos:

  1. Adicione uma associação explícita de aplicativo para declarar que seu aplicativo precisa usar o Serviço de Configuração de Aplicativo para Tanzu.

    Nota

    Ao alterar o status de vinculação/desvinculação, você deve reiniciar ou reimplantar o aplicativo para que a alteração entre em vigor.

  2. Defina padrões de arquivo de configuração. Os padrões de arquivo de configuração permitem que você escolha qual aplicativo e perfil o aplicativo usa. Para obter mais informações, consulte a seção Padrão de Usar o Serviço de Configuração de Aplicativo para Tanzu.

    Outra opção é definir os padrões do arquivo de configuração ao mesmo tempo que a implantação do aplicativo, conforme mostrado no exemplo a seguir:

    az spring app deploy \
        --name <app-name> \
        --artifact-path <path-to-your-JAR-file> \
        --config-file-pattern <config-file-pattern>
    

O Serviço de Configuração de Aplicativo para Tanzu é executado no Kubernetes. Para ajudar a permitir uma experiência de desenvolvimento local transparente, fornecemos as seguintes sugestões.

  • Se você já tiver um repositório Git para armazenar sua configuração externalizada, poderá configurar o Spring Cloud Config Server localmente como a configuração centralizada para seu aplicativo. Depois que o Config Server é iniciado, ele clona o repositório Git e fornece o conteúdo do repositório por meio de seu controlador web. Para obter mais informações, consulte Spring Cloud Config na documentação do Spring. O spring-cloud-config-client fornece a capacidade para seu aplicativo pegar automaticamente a configuração externa do Config Server.

  • Se você não tiver um repositório Git ou não quiser configurar o Config Server localmente, poderá usar o arquivo de configuração diretamente em seu projeto. Recomendamos que você use um perfil para isolar o arquivo de configuração para que ele seja usado apenas em seu ambiente de desenvolvimento. Por exemplo, use dev como o perfil. Em seguida, você pode criar um arquivo application-dev.yml na pasta src/main/resource para armazenar a configuração. Para fazer com que seu aplicativo use essa configuração, inicie o aplicativo localmente com --spring.profiles.active=dev.

Registro de Serviço Tanzu

O VMware Tanzu Service Registry é um dos componentes comerciais do VMware Tanzu®. O Tanzu Service Registry fornece aos seus aplicativos de camada empresarial uma implementação do padrão Service Discovery, um dos principais princípios de uma arquitetura baseada em microsserviços. Seus aplicativos podem usar o Tanzu Service Registry para descobrir e chamar dinamicamente serviços registrados. Usar o Tanzu Service Registry é preferível para configurar manualmente cada cliente de um serviço, o que pode ser difícil, ou adotar alguma forma de convenção de acesso, que pode ser frágil na produção. Para obter mais informações, consulte Usar o Tanzu Service Registry.

Migrar segredos do Spring Cloud Vault para o Azure KeyVault

Você pode injetar segredos diretamente em aplicativos por meio do Spring usando o Azure KeyVault Spring Boot Starter. Para obter mais informações, consulte Como usar o Spring Boot Starter para o Azure Key Vault.

Nota

A migração pode exigir que você renomeie alguns segredos. Atualize o código do seu aplicativo de acordo.

Migrar todos os certificados para o KeyVault

O Azure Spring Apps não fornece acesso ao keystore JRE, portanto, você deve migrar certificados para o Azure KeyVault e alterar o código do aplicativo para acessar certificados no KeyVault. Para obter mais informações, consulte Introdução aos certificados do Cofre da Chave e Biblioteca de cliente do Azure Key Vault Certificate para Java.

Configurar integrações de gerenciamento de desempenho de aplicativos (APM)

O Azure Spring Apps oferece as seguintes integrações APM. Siga os links para ativar o APM que você precisa:

Se seu aplicativo não estiver usando um APM compatível, considere usar o Application Insights. O Azure Spring Apps oferece integração profunda com o Application Insights para gerenciamento de desempenho e resposta em tempo real a aberrações.

Desative clientes e endpoints de métricas em seus aplicativos

Remova todas as métricas que os clientes usaram ou quaisquer pontos de extremidade de métricas expostos em seus aplicativos.

Implantar os serviços

Implante cada um dos aplicativos Spring migrados (não incluindo os servidores Spring Cloud Config e Registry), conforme descrito em Guia de início rápido: implante seu primeiro aplicativo no Azure Spring Apps.

Configurar segredos por serviço e configurações externalizadas

Você pode injetar quaisquer definições de configuração por serviço em cada serviço como variáveis de ambiente. Use as seguintes etapas no portal do Azure:

  1. Navegue até a Instância do Azure Spring Apps e selecione Aplicativos.
  2. Selecione o serviço a ser configurado.
  3. Selecione Configuração.
  4. Insira as variáveis a serem configuradas.
  5. Selecione Guardar.

Spring Cloud App Configuration Settings

Migrar e habilitar o provedor de identidade

Se algum dos aplicativos do Spring Cloud exigir autenticação ou autorização, verifique se eles estão configurados para acessar o provedor de identidade:

  • Se o provedor de identidade for o Microsoft Entra ID, nenhuma alteração deverá ser necessária.
  • Se o provedor de identidade for uma floresta do Ative Directory local, considere implementar uma solução de identidade híbrida com o Microsoft Entra ID. Para obter orientações, consulte a documentação de identidade híbrida.
  • Se o provedor de identidade for outra solução local, como o PingFederate, consulte o tópico Instalação personalizada do Microsoft Entra Connect para configurar a federação com o Microsoft Entra ID. Como alternativa, considere usar o Spring Security para usar seu provedor de identidade por meio do OAuth2/OpenID Connect ou SAML.

Atualizar aplicativos cliente

Atualize a configuração de todos os aplicativos cliente para usar os pontos de extremidade publicados do Azure Spring Apps para aplicativos migrados.

Pós-migração

  • Considere adicionar um pipeline de implantação para implantações automáticas e consistentes. As instruções estão disponíveis para o Azure Pipelines, para o GitHub Actions e para o Jenkins.

  • Considere o uso de implantações de preparo para testar alterações de código na produção antes que elas estejam disponíveis para alguns ou todos os usuários finais. Para obter mais informações, consulte Configurar um ambiente de preparo no Azure Spring Apps.

  • Considere adicionar associações de serviço para conectar seu aplicativo a bancos de dados do Azure com suporte. Essas associações de serviço eliminariam a necessidade de fornecer informações de conexão, incluindo credenciais, aos seus aplicativos do Spring Cloud.

  • Considere usar o Azure Application Insights para monitorar o desempenho e as interações de seus aplicativos. Para obter mais informações, consulte Application Insights Java In-Process Agent in Azure Spring Apps.

  • Considere adicionar regras de alerta e grupos de ação do Azure Monitor para detetar e resolver rapidamente condições aberrantes. Para obter mais informações, consulte Tutorial: Monitorar recursos do Spring Cloud usando alertas e grupos de ação.

  • Considere replicar a implantação do Azure Spring Apps em outra região para obter menor latência e maior confiabilidade e tolerância a falhas. Use o Gerenciador de Tráfego do Azure para balancear a carga entre implantações ou use o Azure Front Door para adicionar descarregamento SSL e Firewall de Aplicativo Web com proteção contra DDoS.

  • Se a replicação geográfica não for necessária, considere adicionar um Gateway de Aplicativo do Azure para adicionar descarregamento SSL e Firewall de Aplicativo Web com proteção contra DDoS.

  • Se seus aplicativos usam componentes herdados do Spring Cloud Netflix, considere substituí-los por alternativas atuais:

    Legado Atual
    Nuvem de primavera Eureka Registro do Spring Cloud Service
    Nuvem de primavera Netflix Zuul Gateway de nuvem Spring
    Nuvem de primavera Netflix Archaius Servidor de configuração do Spring Cloud
    Faixa de opções Netflix do Spring Cloud Spring Cloud Load Balancer (balanceador de carga do lado do cliente)
    Nuvem de primavera Hystrix Disjuntor Spring Cloud + Resilience4J
    Turbina Netflix Spring Cloud Micrômetro + Prometeu