Azure Web Apps: Implantações Sem Interrupções Com Slots de Implantação

Suponha que trabalha para uma empresa de saúde que fornece seus serviços através de uma plataforma web. A interface do usuário para esta plataforma é configurada como um aplicativo web PHP hospedado nos Serviços de Aplicativos do Azure. Atualizações frequentes no código-fonte do aplicativo são implementadas na produção para aprimorar recursos ou corrigir bugs.No entanto, essas atualizações às vezes introduzem problemas:

  • Bugs não detectados: Apesar dos testes rigorosos, os testadores ocasionalmente deixam passar bugs críticos, resultando em problemas no ambiente de produção.
  • Tempo de inatividade: Quando bugs são identificados, reverter as alterações causa interrupções no serviço, o que frustra os usuários finais.
  • Implantações lentas: O processo de implantação e compilação afeta a responsividade do aplicativo, especialmente durante os horários de pico de uso, resultando na insatisfação do usuário.

Há uma solução melhor para garantir atualizações sem interromper os serviços? Sim! O Microsoft Azure oferece um recurso poderoso conhecido como slots de implantação.

Slots de Implantação do Azure

Osslots de implantação do Microsoft Azure oferecem uma maneira eficiente e confiável de gerenciar atualizações de aplicativos. Com os slots de implantação, você pode manter simultaneamente as versões nova e antiga do seu aplicativo. Trocar entre as duas versões é tão simples quanto alguns cliques do mouse, eliminando a necessidade de rollbacks de código demorados.

O que são Slots de Implantação e Como Eles Funcionam?

Os Slots de Implantação do Azure são um recurso no Serviço de Aplicativo do Azure que permite criar ambientes separados para implantar e testar seu aplicativo web antes de disponibilizá-lo para todos os usuários finais. Cada slot de implantação opera como uma instância independente do seu aplicativo, que pode ser personalizada para propósitos específicos, como:

  • Staging: Para testar e validar alterações antes de passar para produção.
  • Produção: Para atender aos usuários finais com uma versão estável do aplicativo.
  • Slots adicionais: Dependendo do seu plano de preços, você pode criar slots para QA, testes ou outros ambientes.

Recursos Principais dos Slots de Implantação

Instâncias Pré-Aquecidas

Ao implantar em um slot de preparação, o slot é pré-aquecido. Isso significa que o aplicativo está totalmente inicializado e pronto para lidar com solicitações de usuários com latência mínima.

A troca do slot de preparação para produção garante que não haja tempo de inatividade ou atraso no início.

Redirecionamento de Tráfego Sem Interrupções

Durante a troca, o redirecionamento de tráfego entre os slots é contínuo, garantindo que nenhuma solicitação de usuário seja perdida.

Capacidade de Reversão

Se surgirem problemas inesperados após a troca de uma nova versão para produção, você pode imediatamente reverter para a configuração “última boa conhecida”.

Como os Slots de Implantação Resolvem o Problema

Detectando Bugs Antes da Produção

Ao implantar o novo código em um slot de preparação, os testadores podem validar o aplicativo em um ambiente que replica a produção. Isso minimiza o risco de bugs não detectados. 

Sem Interrupções de Serviço

Como o aplicativo está pré-aquecido no slot de preparação, a troca para produção ocorre sem tempo de inatividade, fornecendo serviços ininterruptos aos usuários finais.

Implantações mais Rápidas

A troca de slots é instantânea em comparação com métodos de implantação tradicionais, reduzindo significativamente o tempo necessário para a implantação e melhorando a capacidade de resposta.

Configurando e Preparando um Aplicativo Web do Azure

1. Criar um Aplicativo Web

Entre no portal do Azure com a sua conta. Procure por Serviços de Aplicativos e clique nele.


Clique em Aplicativo Web.

Selecione de 1 a 7 valores conforme necessário para o seu aplicativo e, em seguida, clique em Revisar + criar, seguido por Criar. O nome do Aplicativo Web neste demo é webappdemotosrs.

Click on Go to resource.

webappdemotosrs(Aplicativo Web) pode ser acessado via URL de domínio padrão.

2. Criação de Slots de Implantação

Clique emSlots de Implantação.

Clique em Adicionar slot.

Atribua um Nome ao slot.


Escolha se deseja clonar configurações de outro slot. Se escolher clonar, as configurações serão copiadas para seu novo slot a partir do slot que você especificar.

Clique em Adicionar.


Slot criado com o nome fornecido.

Configurar Configurações de Implantação do Aplicativo Web

Nesta tarefa, você configurará as configurações de implantação do aplicativo Web. As configurações de implantação permitem a implantação contínua. Isso garante que o serviço de aplicativo tenha a versão mais recente do aplicativo. No slot de preparo, selecione Central de Implantação e depois selecione Configurações. No menu suspenso Origem, selecione Git Externo. Observe as outras opções.

  • No campo do repositório, insira: https://github.com/Azure-Samples/php-docs-hello-world.
  • No campo do branch, insira master. Selecione Salvar.
  • No slot de preparo, selecione Visão Geral.
  • Selecione o link do domínio padrão e abra a URL em uma nova aba.
  • Verifique se o slot de preparação exibe Olá Mundo.

3. Troca de Slots de Implantação

Clique em Swap.

Clique em Iniciar Troca.

Assim que a troca for concluída, uma notificação será exibida mostrando seu status.

4. Após Troca de Slots de Implantação

Produção Saída do URL do Domínio Padrão:

Preparação A saída do URL do domínio padrão de preparação será como abaixo


Isso demonstra que após a troca de slot de implantação, o slot de produção começa a executar o novo código enquanto o slot de preparação volta ao código antigo.

Resumo

Neste artigo, aprendemos como criar e usar slots de implantação no Azure App Service. Utilizamos os slots para testar e preparar novas versões do nosso aplicativo e trocamos esses slots de implantação. Podemos trocar os slots para implantar um aplicativo testado em produção e reverter um aplicativo implantado quando surgem problemas inesperados.Ao usar os slots de implantação, lembre-se de que o Azure aquece um aplicativo antes de uma troca, e a redireção de tráfego é instantânea. O resultado é que seu aplicativo é implantado sem interrupções de serviço ou quedas de desempenho.

Source:
https://dzone.com/articles/azure-web-apps-deployment-slots