Aplicativos da Web do Azure: Implantações contínuas com Slots de Implantação

Suponha que você trabalhe para uma empresa de saúde que fornece seus serviços por meio 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 lançadas 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, o que leva a 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, principalmente durante os horários de pico de uso, levando à 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

Microsoft Azureimplementação slots fornecem uma maneira eficiente e confiável de gerenciar atualizações de aplicativos. Com slots de implementação, você pode manter simultaneamente as versões nova e antiga do seu aplicativo. A troca 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 os Slots de Implementação e Como Eles Funcionam?

Os Slots de Implementação do Azure é um recurso no Serviços de Aplicativos do Azure que permite criar ambientes separados para implantar e testar seu aplicativo da web antes de disponibilizá-lo para todos os usuários finais. Cada slot de implementação funciona como uma instância independente do seu aplicativo, que pode ser personalizada para fins 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.

Principais Recursos dos Slots de Implementação

Instâncias Pre-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 de inicialização a frio.

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 configuração conhecida boa”.

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 espelha a produção. Isso minimiza o risco de bugs não detectados.

Sem Interrupções no 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 tradicionais de implantação, reduzindo significativamente o tempo necessário para a implantação e melhorando a responsividade.

Configurando e Configurando um Aplicativo Web Azure

1. Criar um aplicativo da Web

Acesse o portal do Azure com sua conta. Procure por Serviços de Aplicativos e clique nele.


Clique em Aplicativo da Web.

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

Click on Go to resource.

webappdemotosrs(Aplicativo da Web) pode ser acessado através da URL do domínio padrão.

2. Criação de slots de implantação

Clique em Slots de implantação na aba.

Clique em Adicionar slot.

Dê um Nome ao slot.


Escolha se deseja clonar as configurações de outro slot. Se escolher clonar, as configurações serão copiadas para o 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 da Web

Nesta tarefa, você irá configurar as configurações de implantação do aplicativo da web. As configurações de implantação permitem a implantação contínua. Isso garante que o serviço do aplicativo tenha a versão mais recente da aplicação. No slot de preparo, selecione Centro de Implantação e depois selecione Configurações. No menu suspenso de 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 de ramificação, 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 Trocar.

Clique em Iniciar Troca.

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

4. Depois Troca de Slots de Implantação

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

Preparação A saída do URL do Domínio Padrão de Preparação será assim


Isso demonstra que após uma 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 trocar esses slots de implantação. Podemos trocar os slots para implantar um aplicativo testado em produção e reverter um aplicativo implantado quando surgirem problemas inesperados.Ao usar 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 queda de desempenho.

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