Criar slots de implantação
Geralmente, as organizações precisam executar aplicativos Web em ambientes isolados para testá-los antes da implantação. Elas também precisam implantar rapidamente e sem afetar os usuários.
Suponha que você está decidindo se deseja usar os slots como uma maneira simplificada de implantar um aplicativo Web em seu sistema de mídia social. Você quer descobrir se os slots de implantação reduzirão o tempo de inatividade durante as implantações, se eles facilitarão as reversões e se é possível configurá-los no Azure.
Aqui, você aprenderá como os slots de implantação facilitam o teste e a distribuição do novo código.
Usar um slot de implantação
Em um único aplicativo Web do Serviço de Aplicativo do Azure, você pode criar vários slots de implantação. Cada slot é uma instância separada desse aplicativo Web e tem um nome de host separado. Você pode implantar uma versão diferente do seu aplicativo Web em cada slot.
Um slot é o slot de produção. Este slot é o aplicativo Web que os usuários veem quando se conectam. Certifique-se de que o aplicativo implantado nesse slot seja estável e tenha sido bem testado.
Use os slots adicionais para hospedar novas versões do seu aplicativo Web. Em relação a essas instâncias, você pode executar testes, como testes de integração, de aceitação e de capacidade. Corrija quaisquer problemas antes de mover o código para o slot de produção. Slots adicionais se comportam como suas próprias instâncias de Serviço de Aplicativo, assim é possível ter certeza de que seus testes mostram como o aplicativo será executado na produção.
Depois que você estiver satisfeito com os resultados do teste para uma nova versão do aplicativo, implemente-o trocando seu slot com o slot de produção. Ao contrário de uma implantação de código, uma alternância de slot é instantânea. Quando você alterna slots, os nomes de host do slot são alternados imediatamente enviando o tráfego de produção para a nova versão do aplicativo. Ao usar alternâncias de slot para implantar, seu aplicativo nunca é exposto à Web pública em um estado parcialmente implantado.
Se você achar que, apesar de seu teste cuidadoso, a nova versão tem um problema, é possível reverter a versão alternando os slots de volta.
Entender os slots como recursos separados do Azure
Quando você usa mais de um slot de implantação para um aplicativo Web, esses slots são tratados como instâncias separadas desse aplicativo Web. Por exemplo, eles são listados separadamente na página Todos os recursos no portal do Azure. Cada um tem sua própria URL. No entanto, cada slot compartilha os recursos do Plano do Serviço de Aplicativo, incluindo memória e CPU da máquina virtual, bem como o espaço em disco.
Criar camadas e slots de implantação
Os slots de implantação ficam disponíveis somente quando o aplicativo Web usa um plano do Serviço de Aplicativo na camada Standard, Premium ou Isolado. A tabela a seguir mostra o número máximo de slots que você pode criar:
Camada | Máximo de slots de preparo |
---|---|
Gratuita | 0 |
Compartilhada | 0 |
Basic | 0 |
Standard | 5 |
Premium | 20 |
Isolada | 20 |
Evitar uma inicialização a frio durante a alternância
Muitas das tecnologias usadas por desenvolvedores para criar aplicativos Web exigem a compilação final e outras ações no servidor antes de entregarem uma página a um usuário. Muitas dessas tarefas são concluídas quando o aplicativo é iniciado e recebe uma solicitação. Por exemplo, se você usar o ASP.NET para compilar seu aplicativo, o código é compilado e os modos de exibição são concluídos quando o primeiro usuário solicita uma página. As solicitações posteriores para a página recebem uma resposta mais rápida porque o código já está compilado.
O atraso inicial é chamado de uma inicialização a frio. Você pode evitar uma inicialização a frio usando as trocas de slot para implantar na produção. Quando você alterna um slot para produção, você "aquece" o aplicativo porque a ação envia uma solicitação para a raiz do site. A solicitação de aquecimento garante que todas as tarefas de compilação e armazenamento em cache sejam finalizadas. Após a troca, o site responde com a mesma rapidez que teria se tivesse sido implantado há dias.
Criar um slot de implantação
Antes de criar um slot, certifique-se de que o seu aplicativo Web está em execução nos tipos Standard, Premium ou Isolado:
Abra o aplicativo Web no portal do Azure.
Selecione o painel Slots de Implantação.
Selecione Adicionar slot.
Nomeie o slot.
Escolha se deseja clonar as configurações de outro slot. Se você optar por clonar, as configurações serão copiadas para o novo slot a partir do slot especificado.
Observação
Embora você possa clonar configurações em um novo slot, não é possível clonar o conteúdo. Novos slots sempre começam sem qualquer conteúdo. Você deve implantar o conteúdo usando o Git ou outra estratégia de implantação. A operação de clonagem copia a configuração para o novo slot. Depois de clonar as configurações, a configuração dos dois slots pode ser alterada de forma independente.
Selecione Adicionar para criar o novo slot. Você tem o novo slot na lista na página Slots de implantação. Selecione o slot para ver o respectivo painel de gerenciamento.
Como acessar um slot
O nome do host do novo slot é derivado do nome do aplicativo Web e do nome do slot. Você obtém o nome do host ao selecionar o slot na página Slots de Implantação:
Você pode implantar seu código para o novo slot da mesma forma que faria com o slot de produção. Basta substituir o nome ou a URL do novo slot na configuração da ferramenta de implantação que você usar. Se você usar FTP para implantar, verá o nome do host e o nome de usuário do FTP logo abaixo da URL do slot.
O novo slot é efetivamente um aplicativo Web separado com um nome do host diferente. É por isso que qualquer pessoa na Internet poderá acessá-lo se souber o nome do host. A menos que você registre o slot em um mecanismo de pesquisa ou crie um link até ele de uma página rastreada, o slot não aparecerá em índices de mecanismo de pesquisa. Assim o slot permanecerá obscuro para o usuário geral da Internet.
Você pode controlar o acesso a um slot usando restrições de endereço IP. Crie uma lista de intervalos de endereço IP para os quais você permitirá acesso ao slot ou uma lista de intervalos para os quais você negará acesso ao slot. Essas listas são como os intervalos de permissão e negação que você pode configurar em um firewall. Use esta lista para permitir o acesso somente aos computadores ou à equipe de desenvolvimento da sua empresa.