Partilhar via


Migrar aplicativos do Spring Cloud para aplicativos de contêiner do Azure

Este guia descreve o que você deve estar ciente quando deseja migrar um aplicativo Spring Cloud existente para ser executado em Aplicativos de Contêiner do Azure.

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.

Os Aplicativos de Contêiner do Azure oferecem vários tipos de armazenamento. O armazenamento efêmero pode ler e gravar dados temporários e estar disponível para um contêiner ou réplica em execução. O Arquivo do Azure fornece armazenamento permanente e pode ser compartilhado entre vários contêineres. Para obter mais informações, consulte Usar montagens de armazenamento em Aplicativos de Contêiner do Azure.

Conteúdo estático só de leitura

Se o seu aplicativo atualmente serve conteúdo estático, você precisa de um local alternativo para ele. Talvez você queira considerar mover conteúdo estático para o Armazenamento de Blobs do Azure e adicionar a CDN do Azure para downloads extremamente rápidos globalmente. 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 o seu aplicativo der suporte a conteúdo estático, seja carregado ou gerado pelo próprio aplicativo, que permanece inalterado após sua criação, você pode integrar o Armazenamento de Blob do Azure e a CDN do Azure. Você também pode usar uma Função do Azure para gerenciar carregamentos e acionar atualizações de CDN quando necessário. 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 seu aplicativo contiver qualquer código com dependências no sistema operacional host, você precisará refatorá-lo para remover essas dependências. Por exemplo, talvez seja necessário substituir qualquer uso de ou \ em caminhos do sistema de / arquivos por File.Separator ou Paths.get se seu aplicativo estiver sendo executado no Windows.

Mudar para uma plataforma suportada

Se você criar seu Dockerfile manualmente e implantar o aplicativo em contêineres nos Aplicativos de Contêiner do Azure, assumirá o controle total sobre sua implantação, incluindo versões JRE/JDK.

Para implantação a partir de artefatos, os Aplicativos de Contêiner do Azure também oferecem versões específicas do Java (8, 11, 17 e 21) e versões específicas dos componentes 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 do Java, Spring Boot e Spring Cloud, bem como instruções para atualização, consulte Visão geral do Java on Azure Container 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>3.3.3</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 '3.3.3'
  id 'io.spring.dependency-management' version '1.1.6'
  id 'java'
}

Para quaisquer aplicativos que usem versões do Spring Boot anteriores ao 3.x, siga o guia de migração do Spring Boot 2.0 ou o Guia de migração do Spring Boot 3.0 para atualizá-los para uma versão suportada do Spring Boot. Para versões suportadas, consulte a documentação do Spring Cloud .

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>
    <spring-cloud.version>2023.0.2</spring-cloud.version>
  </properties>
Gradle

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

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

Você precisa atualizar todos os aplicativos para usar as versões suportadas do Spring Cloud. Para versões suportadas, consulte a documentação do Spring Cloud .

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 gerenciamento de desempenho de aplicativos usados por seus aplicativos. Os Aplicativos de Contêineres do Azure não oferecem suporte interno para integração com APM. Você precisa preparar sua imagem de contêiner ou integrar a ferramenta APM diretamente em seu código. Se você quiser medir o desempenho do seu aplicativo, mas ainda não integrou nenhum APM, considere usar o Azure Application Insights. Para obter mais informações, consulte a seção 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/resources, em um arquivo normalmente chamado application.properties ou application.yml.
  • No repositório do Spring Cloud Config Server que você identificou na etapa anterior.

Bases de Dados

Para um aplicativo Spring Boot, as cadeias de conexão normalmente aparecem em arquivos de configuração quando dependem de um banco de dados externo. 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.4.0.5")
      ...
    }

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 Spring Cloud Config Server.

Nota

A Microsoft recomenda o uso do fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento, como para bancos de dados, caches, mensagens ou serviços de IA, requer um grau muito alto de confiança no aplicativo e traz riscos não presentes em outros fluxos. Use esse fluxo somente quando opções mais seguras, como identidades gerenciadas para conexões sem senha ou sem chave, não forem viáveis. Para operações de máquina local, prefira identidades de usuário para conexões sem senha ou sem chave.

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=<password>

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: <password>

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

Verifique todas as propriedades e arquivos de configuração e todas as variáveis de ambiente nas implantações de produção para obter cadeias de caracteres e senhas secretas. 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 Server.

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 Spring Cloud Config Server, identifique onde a configuração está armazenada. Normalmente, você encontra essa configuração no arquivo bootstrap.yml ou bootstrap.properties ou, às vezes, no arquivo application.yml ou application.properties . A configuração se parece com o 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 Server, como mostrado anteriormente, um dos outros back-ends possíveis pode estar em uso. Consulte a documentação do Spring Cloud Config Server para obter informações sobre outros back-ends, como JDBC (Relational Database), SVN e o sistema de arquivos local.

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

O ambiente dos Aplicativos de Contêiner do Azure oferece o Eureka Server, o Spring Cloud Config Server e o Admin. Quando um aplicativo é vinculado ao componente Java, os Aplicativos de Contêiner do Azure injetam propriedades relacionadas como variáveis de ambiente do sistema. De acordo com o design Spring Boot Externalized Configuration, as propriedades do aplicativo definidas em seu código ou empacotadas em artefatos são substituídas por variáveis de ambiente do sistema.

Se você definir uma das seguintes propriedades por meio do argumento de linha de comando, uma propriedade do sistema Java ou uma variável de ambiente do contêiner, deverá removê-la para evitar conflitos e comportamento inesperado:

  • SPRING_CLOUD_CONFIG_COMPONENT_URI
  • SPRING_CLOUD_CONFIG_URI
  • SPRING_CONFIG_IMPORT
  • eureka.client.fetch-registry
  • eureka.client.service-url.defaultZone
  • eureka.instance.prefer-ip-address
  • eureka.client.register-with-eureka
  • SPRING_BOOT_ADMIN_CLIENT_INSTANCE_PREFER-IP
  • SPRING_BOOT_ADMIN_CLIENT_URL

Criar um ambiente gerenciado e aplicativos de Aplicativos de Contêiner do Azure

Provisione um aplicativo de Aplicativos de Contêiner do Azure em sua assinatura do Azure em um ambiente gerenciado existente ou crie um novo para cada serviço que você estiver migrando. Você não precisa criar aplicativos em execução como servidores de registro e configuração do Spring Cloud. Para obter mais informações, veja o Início Rápido: implementar a primeira aplicação de contentor com o portal do Azure.

Preparar o Spring Cloud Config Server

Configure o servidor de configuração no componente Aplicativos de contêiner do Azure para Spring. Para obter mais informações, consulte Definir configurações para o componente Config Server for Spring em Aplicativos de Contêiner do Azure.

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 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 garantir que toda a saída seja roteada para o console em vez de para os arquivos.

Depois que um aplicativo é implantado nos Aplicativos de Contêiner do Azure, você pode configurar as opções de log em seu ambiente de Aplicativos de Contêiner para definir um ou mais destinos dos logs. Esses destinos podem incluir o Azure Monitor Log Analytics, o hub de eventos do Azure ou até mesmo outras soluções de monitoramento de terceiros. Você também tem a opção de desabilitar os dados de log e exibir logs somente em tempo de execução. Para obter instruções detalhadas de configuração, consulte Opções de armazenamento e monitoramento de log em Aplicativos de Contêiner do Azure.

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. Você pode especificar o caminho a ser montado no contêiner por meio das configurações do aplicativo e alinhá-lo com o caminho que seu aplicativo está usando. Para obter mais informações, consulte Usar montagens de armazenamento em Aplicativos de Contêiner do Azure.

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

As Aplicações de Contentores do Azure suportam a comunicação segura entre aplicações. Seu aplicativo não precisa gerenciar o processo de estabelecimento de comunicação segura. Você pode carregar o certificado privado para os Aplicativos de Contêiner do Azure ou usar um certificado gerenciado gratuito fornecido pelos Aplicativos de Contêiner do Azure. Usar o Azure Key Vault para gerenciar certificados é uma abordagem recomendada. Para obter mais informações, consulte Certificados em aplicativos de contêiner do Azure.

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

Se você já configurou variáveis relacionadas ao APM dentro do contêiner, tudo o que você precisa fazer é garantir que a conexão com a plataforma APM de destino possa ser estabelecida. Se a configuração do APM fizer referência a variáveis de ambiente do contêiner, você precisará definir as variáveis de ambiente de tempo de execução de acordo nos Aplicativos de Contêiner do Azure. Informações confidenciais, como a cadeia de conexão, devem ser tratadas com segurança. Você pode especificá-lo como um segredo ou fazer referência a um segredo armazenado no Cofre da Chave do Azure.

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

Você pode injetar definições de configuração em cada contêiner como variáveis de ambiente. Quaisquer alterações nas variáveis criam uma nova revisão para o aplicativo existente. Os segredos são pares chave-valor e permanecem válidos em todas as revisões.

Migrar e habilitar o provedor de identidade

Se algum dos aplicativos do Spring Cloud exigir autenticação ou autorização, use as seguintes diretrizes para garantir que eles estejam 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 de Aplicativos de Contêiner do Azure publicados para aplicativos migrados.

Pós-migração

Agora que você concluiu a migração, verifique se o aplicativo funciona como esperado. Em seguida, você pode tornar seu aplicativo mais nativo da nuvem usando as recomendações a seguir.

  • Considere habilitar seu aplicativo para trabalhar com o Spring Cloud Registry. Esse componente permite que seu aplicativo seja descoberto dinamicamente por outros aplicativos e clientes Spring implantados. Para obter mais informações, consulte Definir configurações para o componente Eureka Server for Spring em Aplicativos de Contêiner do Azure. Em seguida, modifique todos os clientes de aplicativo para usar o Spring Client Load Balancer. O Spring Client Load Balancer permite que o cliente obtenha endereços de todas as instâncias em execução do aplicativo e encontre uma instância que funcione se outra instância for corrompida ou deixar de responder. Para obter mais informações, consulte Spring Tips: Spring Cloud Load Balancer no Spring Blog.

  • Em vez de tornar seu aplicativo público, considere adicionar uma instância do Spring Cloud Gateway . O Spring Cloud Gateway fornece um único ponto de extremidade para todos os aplicativos implantados em seu ambiente do Azure Container Apps. Se um Spring Cloud Gateway já estiver implantado, verifique se uma regra de roteamento está configurada para rotear o tráfego para seu aplicativo recém-implantado.

  • Considere adicionar um Spring Cloud Config Server para gerenciar centralmente e controlar a configuração de versão para todos os seus aplicativos Spring Cloud. Primeiro, crie um repositório Git para hospedar a configuração e configure a instância do aplicativo para usá-la. Para obter mais informações, consulte Definir configurações para o componente Config Server for Spring em Aplicativos de Contêiner do Azure. Em seguida, migre sua configuração usando as seguintes etapas:

    1. Dentro do diretório src/main/resources do aplicativo, crie um arquivo bootstrap.yml com o seguinte conteúdo:

        spring:
          application:
            name: <your-application-name>
      
    2. No repositório Git de configuração, crie um <arquivo your-application-name>.yml , onde your-application-name é o mesmo que na etapa anterior. Mova as configurações de application.yml arquivo em src/main/resources para o novo arquivo que você criou. Se as configurações estavam anteriormente em um arquivo .properties , converta-as para YAML primeiro. Você pode encontrar ferramentas on-line ou plug-ins IntelliJ para realizar essa conversão.

    3. Crie um arquivo application.yml no diretório acima. Você pode usar esse arquivo para definir configurações e recursos que são compartilhados entre todos os aplicativos no ambiente de Aplicativos de Contêiner do Azure. Essas configurações geralmente incluem fontes de dados, configurações de registro, configuração do Spring Boot Actuator e outras.

    4. Confirme e envie essas alterações para o repositório Git.

    5. Remova o arquivo application.properties ou application.yml do aplicativo.

  • Considere adicionar o componente gerenciado Admin for Spring para habilitar uma interface administrativa para aplicativos Web do Spring Boot que expõem pontos de extremidade atuadores. Para obter mais informações, consulte Configurar o componente Spring Boot Admin em Aplicativos de Contêiner do Azure.

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

  • Considere o uso de revisões de aplicativos de contêiner, rótulos de revisão e pesos de tráfego de entrada para habilitar a implantação azul-verde, o que permite testar alterações de código na produção antes que elas sejam disponibilizadas para alguns ou todos os usuários finais. Para obter mais informações, consulte Implantação azul-verde em aplicativos de contêiner do Azure.

  • 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 habilitar a pilha de desenvolvimento Java para coletar métricas principais da JVM para seus aplicativos. Para obter mais informações, consulte Métricas Java para aplicativos Java em Aplicativos de Contêiner do Azure.

  • 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 Configurar alertas em Aplicativos de Contêiner do Azure.

  • Considere replicar seu aplicativo nas zonas da região habilitando a redundância de zona dos Aplicativos de Contêiner do Azure. O tráfego é balanceado e roteado automaticamente para réplicas se ocorrer uma interrupção de zona. Para obter mais informações sobre configurações redundantes, consulte Confiabilidade em aplicativos de contêiner do Azure.

  • Considere proteger os Aplicativos de Contêiner do Azure contra explorações e vulnerabilidades comuns usando o Firewall de Aplicativo Web no Gateway de Aplicativo. Para obter mais informações, consulte Proteger aplicativos de contêiner do Azure com o Web Application Firewall no Application Gateway.

  • Se seus aplicativos usam componentes herdados do Spring Cloud Netflix, considere substituí-los por alternativas atuais, conforme mostrado na tabela a seguir:

    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