Configure uma liberação canário para implantar gradualmente uma nova versão da aplicação e reverta caso ocorram problemas.
Pré-requisitos
A aplicação deve ter mais de uma instância.
Informações básicas
A liberação canário permite implantar uma nova versão da aplicação simultaneamente à versão existente. Essa estratégia possibilita testar o desempenho da nova versão com um pequeno subconjunto de tráfego, o que ajuda a identificar e corrigir problemas antecipadamente sem comprometer a estabilidade geral do sistema.
Durante esse processo, o lote canário não pode exceder 50% do total de instâncias para garantir a estabilidade. As instâncias restantes são implantadas em lotes subsequentes. Após a liberação do primeiro lote, decida manualmente se deseja prosseguir com o próximo, permitindo coletar feedback e monitorar o desempenho antes da implantação completa.
A liberação canário utiliza uma das duas abordagens principais:
Divisão de tráfego: direciona uma porcentagem do tráfego para a nova versão. Por exemplo, envie 20% do tráfego para a nova versão e 80% para a anterior.
Roteamento baseado em conteúdo: direciona o tráfego com base em atributos da solicitação, como cabeçalhos ou IDs de usuário. Por exemplo, direcione solicitações de usuários específicos para a nova versão.
Em comparação com a liberação faseada, a liberação canário oferece controle mais granular sobre o tráfego. Para obter mais informações sobre liberações faseadas, consulte Perform a phased release for an application.
Cenário de exemplo
Considere uma aplicação com 10 instâncias executando a Versão 1 (Ver.1) que precisa ser atualizada para a Versão 2 (Ver.2). Nesse cenário, execute primeiro uma liberação canário em 2 instâncias e implante as 8 restantes em 3 lotes. O diagrama a seguir ilustra esse processo.
Procedimento
A reimplantação de uma aplicação causa sua reinicialização. Para evitar erros imprevisíveis, como interrupções nos negócios, implante aplicações fora dos horários de pico.
Na página Lista de Aplicações SAE, selecione uma região e um namespace na parte superior e clique em no ID da aplicação desejada para abrir a página de detalhes.
Na página Basic Information da aplicação, clique em Deploy Application.
-
Configure os parâmetros de implantação.
NotaO método de implantação baseia-se na opção selecionada durante a primeira configuração da aplicação. Defina os parâmetros conforme o método escolhido.
Implantação com pacotes WAR: faça upload de outro pacote WAR ou insira o caminho de um novo pacote e configure o ambiente de execução e outras definições.
Implantação com pacotes JAR: faça upload de outro pacote JAR ou insira o caminho de um novo pacote e configure o ambiente de execução e outras definições.
Implantação com pacotes ZIP: faça upload de outro pacote ZIP ou insira o caminho de um novo pacote e configure o ambiente de execução e outras definições.
Imagem: na seção Configure Image, clique em Modify Image. No painel Modify Image, selecione outro repositório ou versão da imagem.
-
Na seção Release Policy Settings, configure a liberação canário.
Parâmetro
Descrição
Release Policy
Selecione Canary Release (Phased).
Instances for Canary Release
Especifique o número de instâncias no lote canário inicial.
Remaining Batches After Canary Release
Após a liberação canário, as instâncias restantes são distribuídas no número especificado de lotes.
Peak Volume
Corresponde ao parâmetro
MaxSurgedo Kubernetes: número máximo de instâncias criadas além da contagem desejada durante uma atualização.ImportanteEste recurso está em visualização por convite. Para solicitar acesso, entre em contato com nossa equipe no grupo do DingTalk (ID: 32874633).
Nota-
Se Minimum Available Instances estiver definido como 100% (ou seja,
MaxUnavailableigual a 0), Peak Volume não pode ser 0. -
Valores percentuais são arredondados para cima. Por exemplo, com 5 instâncias e configuração de 25%, o valor de Peak Volume será 2.
Minimum Available Instances
Número mínimo de instâncias que devem permanecer disponíveis durante uma atualização contínua.
Nota-
Defina Minimum Available Instances como 1 ou superior para garantir a continuidade dos negócios. Se definido como 0, a aplicação será interrompida durante a atualização.
-
Valores percentuais são arredondados para cima. Por exemplo, com 5 instâncias e configuração de 25%, o número de Minimum Available Instances será 2.
Enable Layer 7 traffic canary release rule (Kubernetes Ingress)
Entra em vigor somente após a criação de uma regra de liberação canário para tráfego de camada 7 (Kubernetes Ingress).
Enable Canary Release Rule of Microservices (Spring Cloud and Dubbo Applications)
Entra em vigor somente após a criação de uma regra de liberação canário para tráfego de microsserviços.
-
Após concluir a configuração, clique em OK.
-
Verifique a implantação de uma das seguintes maneiras:
Método 1: na página Change Records da aplicação, visualize os detalhes da alteração e o status da liberação. A atualização estará finalizada se todos os lotes forem concluídos com êxito.
Método 2: na aba Instances da página Basic Information da aplicação, verifique o status das instâncias. Se o Status for Running, a implantação foi bem-sucedida.
Reversão da aplicação
Durante a atualização via liberação canário ou faseada, o status da aplicação permanece como Executing até que todas as instâncias sejam atualizadas.
Se o primeiro lote parar de responder devido a um problema inesperado, acesse a página Change Details e clique em Roll Back Now. Essa ação reverte as instâncias atualizadas para a versão anterior e restaura as configurações originais.
Caso ocorra uma exceção durante o processo, como pacote de implantação indisponível ou falha na verificação de integridade, a atualização falhará. O SAE interrompe automaticamente o processo e inicia a reversão da aplicação.
Atualizações de aplicação no SAE atingem o tempo limite após aproximadamente 30 minutos. Nessa situação, o SAE relata uma exceção de timeout e pausa o processo. Acesse a página Change Details para abortar manualmente a liberação e reverter a aplicação.
Abortar uma liberação
Para interromper uma liberação em andamento, clique em Stop Deployment na página Change Details.
Abortar uma liberação pode resultar em múltiplas versões da aplicação em execução simultânea:
Instâncias já implantadas: continuam em execução no estado atual e não sofrem reversão.
Instâncias em implantação: concluem o processo e passam a executar a nova versão desta liberação.
Instâncias ainda não implantadas (incluindo lotes subsequentes): permanecem no estado atual e têm o processo de liberação interrompido.
Novas instâncias do Auto Scaling: utilizam a nova versão para eventos de expansão.
Após abortar, reimplante a aplicação ou reverta para uma versão anterior o mais rápido possível para garantir que todas as instâncias executem a mesma versão.
Mais informações
Após implantar uma aplicação no SAE, realize as operações a seguir.
|
Ações |
Documentação relacionada |
|
Gerencie o ciclo de vida da aplicação, incluindo atualizações, dimensionamento, início, parada ou exclusão. |
|
|
Otimize o desempenho da aplicação configurando o Auto Scaling, vinculando uma instância do Server Load Balancer (SLB) ou criando regras agendadas de início e parada. |
|
|
Monitore o status da aplicação gerenciando logs, visualizando dados de monitoramento, verificando eventos e revisando registros de alterações. |