Compartilhar via


Migrar o Serviço de Configuração de Aplicativos para o Servidor de Configuração do Spring Cloud gerenciado

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.

O plano consumo e dedicado Standard será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira Migrar o plano dedicado e consumo Standard dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.

Este artigo se aplica a: ❎ Básico/Padrão ✅ Enterprise

Este artigo descreve como migrar do Serviço de Configuração de Aplicativos (ACS) para o Servidor de Configuração do Spring Cloud ao usar o plano Enterprise dos Aplicativos Spring do Azure com aos plicativos Java.

O Servidor de Configuração do Spring Cloud fornece um serviço de configuração centralizado que os aplicativos podem usar para buscarem propriedades de configuração de fontes externas, como os repositórios Git.

Provisionar o Servidor de Configuração do Spring Cloud

Se você tiver uma instância do Plano Enterprise dos Aplicativos Spring do Azure com o Serviço de Configuração de Aplicativos habilitado, a primeira etapa na migração do ACS para o Servidor de Configuração do Spring Cloud será provisionar o Servidor de Configuração no seu ambiente dos Aplicativos Spring do Azure. Você pode provisioná-lo usando o portal do Azure ou a CLI do Azure.

Use as seguintes etapas para provisionar o Servidor de Configuração do Spring Cloud:

  • Navegue até sua instância corporativa dos Aplicativos Spring do Azure no portal do Azure.
  • No menu, selecione Servidor de Configuração do Spring Cloud.
  • Selecione Gerenciar para verificar se o Servidor de Configuração do Spring Cloud está habilitado. Se não estiver, habilite-o e selecione Aplicar para salvar.
  • Depois de atualizar com êxito, você pode ver que o Estado de Provisionamento do servidor de configuração está marcado como Bem-sucedido na guia Visão geral.

Configurar o Servidor de Configuração do Spring Cloud

Depois de você ter provisionado o Servidor de Configuração do Spring Cloud, a próxima etapa é configurá-lo no seu aplicativo para garantir uma migração tranquila.

Use as seguintes etapas para configurar o Servidor de Configuração do Spring Cloud no portal do Azure:

  1. Na sua instância dos Aplicativos Spring do Azure, navegue até o Servidor de Configuração do Spring Cloud.

  2. Na guia Configurações, mapeie as configurações de todos os repositórios do ACS no Servidor de Configuração do Spring Cloud.

    Se você tiver apenas um repositório no ACS, mapeie-o no repositório padrão do Servidor de Configuração do Spring Cloud sem nome e padrões. Se você tiver vários repositórios no ACS, escolha um repositório como o repositório padrão para o Servidor de Configuração do Spring Cloud e use outros como repositórios adicionais. Migre propriedades, incluindo uri, label, search path, namee authentication do ACS para o Servidor de Configuração do Spring Cloud.

    Captura de tela do portal do Azure que mostra a página do Servidor de Configuração do Spring Cloud.

  3. Depois de mapear as configurações, selecione Validar para verificar a configuração.

  4. Após a validação bem-sucedida, selecione Aplicar para concluir a configuração do Servidor de Configuração do Spring Cloud.

  5. Para aplicar as alterações, na guia Associação do aplicativo, selecione Associar aplicativo e selecione todos os aplicativos para usar o Servidor de Configuração do Spring Cloud.

Para migrar a propriedade pattern do ACS, é importante garantir que o nome do aplicativo dos Aplicativos Spring do Azure corresponda ao nome do arquivo de configuração no repositório Git.

  • Se o nome do aplicativo dos Aplicativos Spring do Azure corresponder ao nome do arquivo de configuração, o Servidor de Configuração do Spring Cloud aplicará automaticamente o arquivo de configuração com o nome correspondente ao aplicativo, sem a necessidade de configuração extra.
  • Se os nomes não corresponderem, você precisará criar um novo aplicativo com o nome como o nome do arquivo de configuração.

Para obter mais configurações, consulte Documento do Servidor de Configuração do Spring Cloud.

Atualize a configuração do aplicativo

Devido às diferenças nos mecanismos de implementação entre o ACS e o Config Server, algumas alterações de configuração de aplicativo são necessárias para se adaptar à maneira como as configurações são buscadas.

Depois de provisionar e configurar o Servidor de Configuração do Spring Cloud, você precisará ajustar sua configuração usando as seguintes etapas:

  1. Atualize as dependências do Spring Boot adicionando as seguintes dependências necessárias do Spring Cloud Config ao seu arquivo pom.xml para Maven ou ao arquivo build.gradle para Gradle.

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    
  2. Configure o perfil.

    No ACS, você fornece o perfil como padrões em uma implantação dos Aplicativos Spring do Azure, enquanto no Servidor de Configuração do Spring Cloud, você configura o perfil no código-fonte de um aplicativo.

    Verifique se o aplicativo usa os perfis corretos - dev, prod, e assim por diante - para que o Servidor de Configuração do Spring Cloud possa atender a configurações específicas do ambiente.

    Atualize o arquivo bootstrap.yml ou application.yml no seu aplicativo com as propriedades de configuração corretas para apontar para o Servidor de Configuração do Spring Cloud, conforme mostrado no exemplo a seguir:

    spring:
      cloud:
        config:
          profile: dev
    

    Verifique se o nome do aplicativo dos Aplicativos Spring do Azure corresponde ao nome do arquivo de configuração no seu repositório git. Além disso, evite configurar spring.application.name no código do seu aplicativo.

Reimplantar o aplicativo

Depois de testar o aplicativo localmente, você pode reimplantá-lo nos Aplicativos Spring do Azure para usar o Servidor de Configuração do Spring Cloud usando o seguinte comando da CLI do Azure:

az spring app deploy \
    --name <app-name> \
    --artifact-path <path-to-your-app> \
    --config-file-patterns '""'

Com o parâmetro --config-file-patterns '""', ele limpa a referência do Serviço de Configuração de Aplicativo do seu aplicativo. O aplicativo consome a configuração pelo Servidor de Configuração do Spring Cloud em vez de pelo Serviço de Configuração de Aplicativos.

Desabilitar o Serviço de Configuração de Aplicativos

Depois que todos os aplicativos terminarem de migrar para o Servidor de Configuração do Spring Cloud, você poderá desassociar esses aplicativos do Serviço de Configuração de Aplicativos e desabilitar o ACS.

  1. Na sua instância dos Aplicativos Spring do Azure, navegue até Serviço de Configuração de Aplicativos
  2. Abra a guia Associação de aplicativo e selecione cada aplicativo associado como desassociado.
  3. Depois que todos os aplicativos não estiverem associados, selecione Gerenciar para desabilitar o Serviço de Configuração de Aplicativos.

Seguindo cuidadosamente essas etapas, você pode garantir uma migração tranquila e usar os benefícios do Servidor de Configuração do Spring Cloud nos Aplicativos Spring do Azure.

Limitações conhecidas

A migração do ACS para o Servidor de Configuração do Spring Cloud só se aplica aos aplicativos Java porque o ACS gerencia a configuração usando o ConfigMap nativo do Kubernetes. Esse método permite atualizações de configuração dinâmicas em ambientes do Kubernetes, tornando-o versátil para diferentes aplicativos com várias linguagens de programação. O Servidor de Configuração do Spring Cloud foi projetado principalmente para os aplicativos Java, usando o recursos do Spring Framework, portanto, ele só oferece suporte ao gerenciamento de configuração para Java.