Criar slots de implantação
- 10 minutos
As organizações geralmente precisam executar aplicativos Web em ambientes isolados para testá-los antes da implantação. Eles também precisam ser implantados rapidamente e sem afetar os usuários.
Suponha que você esteja tentando decidir se deseja usar slots como uma maneira simplificada de implantar um aplicativo Web em seu sistema de mídia social. Você deseja descobrir se os slots de implantação reduzirão o tempo de inatividade durante as implantações, se facilitarão as reversões e se você pode configurá-los no Azure.
Aqui, você aprenderá como os slots de implantação facilitam o teste e a distribuição de novos códigos.
Utilizar 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.
Uma das slots é a de produção. Esse slot é o aplicativo Web que os usuários veem quando se conectam. Certifique-se de que o aplicativo implantado neste slot é estável e bem testado.
Use slots adicionais para hospedar novas versões do seu aplicativo Web. Nessas instâncias, você pode executar testes como testes de integração, testes de aceitação e testes de capacidade. Antes de mover o código para o slot de produção, corrija quaisquer problemas. Os slots adicionais funcionam como instâncias autónomas do App Service, permitindo-te ter a certeza de que os teus testes mostram como a aplicação irá funcionar em produção.
Depois de ficar satisfeito com os resultados do teste para uma nova versão do aplicativo, implante-o trocando o slot atual pelo slot de produção. Ao contrário de uma implantação de código, uma troca de slot é instantânea. Quando você troca slots, os nomes de host dos slots são trocados, enviando imediatamente o tráfego de produção para a nova versão do aplicativo. Quando você usa trocas de slots para implantar, seu aplicativo nunca é exposto à Web pública em um estado parcialmente implantado.
Se você achar que, apesar de seus testes cuidadosos, a nova versão tem um problema, você pode reverter a versão trocando 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 deles tem o seu próprio 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 espaço em disco.
Criar slots e camadas de implantação
Os slots de implantação estão disponíveis somente quando seu aplicativo Web usa um plano do Serviço de Aplicativo na camada Standard, Premium ou Isolada. A tabela a seguir mostra o número máximo de slots que você pode criar:
Nível | Máximo de slots de configuração |
---|---|
Grátis | 0 |
Partilhado | 0 |
Básico | 0 |
Padrão | 5 |
Prémio | 20 |
Isolado | 20 |
Evite um arranque a frio durante as trocas
Muitas das tecnologias que os desenvolvedores usam para criar aplicativos Web exigem compilação final e outras ações no servidor antes de entregar 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 ASP.NET para criar seu aplicativo, o código será compilado e as exibições serão concluídas quando o primeiro usuário solicitar uma página. As solicitações subsequentes para essa página recebem uma resposta mais rápida, porque o código já está compilado.
O atraso inicial é chamado de arranque a frio. Você pode evitar um arranque a frio usando trocas de slots para implantar na produção. Quando você troca um slot para produção, você "aquece" o aplicativo porque sua 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 cache sejam concluídas. Após a troca, o site responde tão rapidamente quanto se tivesse sido implantado por dias.
Criar um slot de implantação
Antes de criar um slot, verifique se seu aplicativo Web está sendo executado na camada Standard, Premium ou Isolada:
Abra seu aplicativo Web no portal do Azure.
Selecione o painel Slots de Implantação.
Selecione Adicionar Slot.
Atribua um nome ao slot.
Escolha se deseja clonar as configurações de outro slot. Se optares por clonar, as definições são copiadas para o novo slot a partir do slot especificado.
Observação
Embora seja possível clonar configurações para um novo slot, não é possível clonar conteúdo. Os novos slots começam sempre sem conteúdo. Você deve implantar 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 independentemente.
Selecione Adicionar para criar o novo slot. Agora você tem o novo slot na lista na página Slots de Implantação . Selecione o slot para exibir seu painel de gerenciamento.
Aceder a um espaço
O nome de host do novo slot é derivado do nome do aplicativo Web e do nome do slot. Você obtém esse nome de host quando seleciona o slot na página Slots de Implantação :
Você pode implantar seu código no novo slot da mesma forma que o implanta para o slot de produção. Basta substituir o nome ou URL do novo slot na configuração da ferramenta de implantação que você usa. Se utilizares FTP para implantar, verás o nome de host FTP e o nome de utilizador logo abaixo da URL do slot.
O novo slot é efetivamente uma aplicação web separada com um nome de host diferente. É por isso que qualquer pessoa na internet pode acessá-lo se souber esse nome de host. A menos que você registre o slot em um mecanismo de pesquisa ou crie um link para ele a partir de uma página rastreada, o slot não aparecerá nos índices do mecanismo de pesquisa. Continuará a ser obscuro para o utilizador 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ços IP aos quais permitirá aceder ao espaço ou uma lista de intervalos aos quais negará acesso ao espaço. Essas listas são como os intervalos de permissão e negação que você pode configurar em um firewall. Utilize esta lista para permitir o acesso apenas a computadores que pertençam à sua empresa ou equipa de desenvolvimento.