Criar blocos de implementação

Concluído

Muitas vezes, as organizações precisam de executar aplicações Web em ambientes isolados para as testar antes da implementação. Também precisam de implementar rapidamente e sem afetar os utilizadores.

Suponha que está a tentar decidir se deve utilizar blocos como uma forma simplificada de implementar uma aplicação Web no seu sistema de redes sociais. Pretende saber se os blocos de implementação irão reduzir o tempo de inatividade durante as implementações e se os pode configurar no Azure.

Aqui, você aprenderá como os slots de implantação facilitam o teste e a distribuição de novos códigos.

Utilizar um bloco de implementação

Numa única aplicação Web do Serviço de Aplicações do Azure, pode criar vários blocos de implementação. Cada bloco é uma instância separada dessa aplicação Web e tem um nome do anfitrião separado. Pode implementar uma versão diferente da sua aplicação Web em cada bloco.

Um dos blocos é o bloco de produção. Este bloco é a aplicação Web que os utilizadores veem quando se ligam. Certifique-se de que a aplicação implementada neste bloco é estável e se foi testada.

Utilize blocos adicionais para alojar novas versões da sua aplicação Web. Em relação a essas instâncias, pode executar testes, como testes de integração, testes de aceitação e testes de capacidade. Corrija os problemas existentes antes de mover o código para o bloco de produção. Os blocos adicionais apresentam um comportamento semelhante ao das suas próprias instâncias do Serviço de Aplicações, garantindo-lhe que os seus testes serão o reflexo da execução da aplicação na produção.

Quando estiver satisfeito com os resultados de teste para uma nova versão da aplicação, implemente-a ao trocar o respetivo bloco pelo bloco de produção. Ao contrário de uma implementação de código, uma troca de blocos é instantânea. Quando trocar os blocos, os nomes de anfitrião dos blocos são trocados e o tráfego de produção é imediatamente enviado para a nova versão da aplicação. Durante a troca de blocos para a implementação, a aplicação nunca é exposta à Web pública se estiver num estado parcialmente implementado.

Se, apesar do cuidado que teve na realização dos testes, achar que existe um problema com a nova versão, pode reverter a versão com uma nova troca de blocos.

Compreender os blocos como recursos separados do Azure

Quando usa mais de um bloco de implementação para uma aplicação Web, esses blocos são tratados como instâncias separadas dessa aplicação Web. Por exemplo, estã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 blocos de implementação e escalões de serviço

Os blocos de implementação só estão disponíveis quando a aplicação Web utiliza um plano do Serviço de Aplicações nos escalões de serviço Standard, Premium ou Isolado. O número máximo de blocos que pode criar é apresentado na tabela seguinte:

Escalão de serviço Número máximo de blocos de teste
Gratuito 0
Partilhado 0
Básica 0
Standard 5
Premium 20
Isolado 20

Evitar um "arranque a frio" durante as trocas

Muitas das tecnologias que os programadores utilizam para criar aplicações Web necessitam de uma compilação final e outras ações no servidor para que uma página possa ser apresentada aos utilizadores. Muitas destas tarefas são concluídas quando a aplicação é iniciada e recebe um pedido. Por exemplo, se utilizar o ASP.NET para compilar a aplicação, o código é compilado e as vistas são concluídas quando o primeiro utilizador 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 é denominado de arranque a frio. Pode evitar um arranque a frio ao utilizar as trocas de blocos para implementar na produção. Quando troca um bloco na produção, está a "testar" a aplicação uma vez que essa ação envia um pedido para a raiz do site. O pedido de teste garante que todas as tarefas de colocação em cache e compilação ficam concluídas. Após a troca, o site responde tão rapidamente quanto se tivesse sido implantado por dias.

Criar um bloco de implementação

Antes de criar um bloco, confirme que a aplicação Web está em execução nos escalões de serviço Standard, Premium ou Isolado:

  1. Abra a aplicação Web no portal do Azure.

  2. Selecione o painel Slots de Implantação.

  3. Selecione Adicionar Bloco.

  4. Dê um nome ao bloco.

  5. Indique se quer clonar as definições a partir de outro bloco. Se optar por clonar, as definições serão copiadas para o novo bloco a partir do bloco que especificar.

    Screenshot of naming a new deployment slot and choosing whether to clone settings in the Azure portal.

Nota

Embora possa clonar as definições para um novo bloco, não é possível clonar o conteúdo. Os novos blocos são sempre iniciados 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 bloco. Após a clonagem das definições, a configuração dos dois blocos pode ser alterada de forma independente.

Selecione Adicionar para criar o novo bloco. Agora você tem o novo slot na lista na página Slots de Implantação. Selecione o slot para exibir seu painel de gerenciamento.

Screenshot of the list of deployment slots for a web app.

Aceder a um bloco

O novo nome do anfitrião do bloco provém do nome da aplicação Web e do nome do bloco. Você obtém esse nome de host quando seleciona o slot na página Slots de Implantação:

Screenshot of finding the URL for a new slot in the Azure portal.

Pode implementar o código no novo bloco da mesma forma como o implementa para o bloco de produção. Basta substituir o nome ou o URL do novo bloco na configuração da ferramenta de implementação que utilizar. Se utilizar o FTP para a implementação, irá ver o nome do anfitrião e de utilizador do FTP que se encontra mesmo por baixo do URL do bloco.

O novo bloco é, efetivamente, uma aplicação Web separada com um nome do anfitrião diferente. É por isso que qualquer pessoa na Internet consegue aceder ao mesmo se souber esse nome do anfitrião. 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. Ficará oculto para o utilizador geral da Internet.

Pode controlar o acesso a um bloco através das restrições de endereços IP. Crie uma lista de intervalos de endereços IP que irá permitir aceder ao bloco ou uma lista de intervalos aos quais irá negar o acesso ao bloco. Estas listas são como os intervalos de permissão e de negação que pode configurar numa firewall. Utilize esta lista para permitir o acesso apenas aos computadores da sua empresa ou da equipa de desenvolvimento.

Criar blocos de implementação

1.

Como é que o Serviço de Aplicações do Azure garante que o desempenho da produção não remove apenas após uma troca?

2.

Quais das alternativas seguintes NÃO são partilhadas entre todos os blocos de implementação numa aplicação Web?