Dimensionar uma aplicação Web manualmente

Concluído

Ao aumentar e reduzir horizontalmente de forma manual, pode responder a aumentos e diminuições esperados no tráfego. A expansão tem o benefício extra de aumentar a disponibilidade devido ao maior número de instâncias do aplicativo Web. Uma falha de uma instância não torna a aplicação Web indisponível.

No sistema de reservas de hotel, pode aumentar horizontalmente antes de uma afluência sazonal prevista. Pode reduzir horizontalmente de volta quando a temporada terminar e o número de pedidos de reserva for reduzido.

Nesta unidade, você aprenderá como dimensionar manualmente um aplicativo Web e como reduzi-lo novamente.

Escalabilidade e planos do Serviço de Aplicações

Um aplicativo Web executado no Azure normalmente usa o Serviço de Aplicativo do Azure para fornecer o ambiente de hospedagem. O Serviço de Aplicativo pode organizar a execução de várias instâncias do aplicativo Web. Ele equilibra a carga de solicitações de entrada nessas instâncias. Cada instância é executada numa máquina virtual.

Um plano do Serviço de Aplicativo define os recursos disponíveis para cada instância. O plano do Serviço de Aplicações especifica o sistema operativo (Windows ou Linux), o hardware (memória, capacidade de processamento da CPU, armazenamento de discos, etc.) e a disponibilidade de serviços, como cópia de segurança automática e restauro.

O Azure fornece uma série escalões de serviço bem definidos do plano do Serviço de Aplicações. Esta lista resume cada um desses níveis, em ordem crescente de capacidade e custo:

  • O escalão de serviço Gratuito oferece 1 GB de espaço em disco e suporte para até dez aplicações, mas apenas uma única instância partilhada e nenhum SLA para disponibilidade. Cada aplicação tem uma quota de computação de 60 minutos por dia. O plano de serviço gratuito é adequado para desenvolvimento e teste de aplicativos em vez de implantações de produção.
  • O escalão de serviço Partilhado oferece suporte para mais aplicações (até cem), também em execução numa única instância partilhada. As aplicações têm uma quota de computação de 240 minutos por dia. Não há SLA de disponibilidade.
  • O escalão Básico suporta um número ilimitado de aplicações e disponibiliza mais espaço em disco. As aplicações podem ser escaladas horizontalmente para três instâncias dedicadas. Este escalão de serviço fornece um SLA de 99,95% de disponibilidade. Existem três níveis neste escalão de serviço que oferecem quantidades diferentes de potência de computação, memória e armazenamento em disco.
  • O escalão Standard também suporta um número ilimitado de aplicações. Este escalão pode ser dimensionado para dez instâncias dedicadas e tem um SLA de 99,95% de disponibilidade. Tal como no escalão Básico, este escalão tem três níveis que oferecem um conjunto cada vez mais avançado de opções de computação, memória e disco.
  • O escalão Premium oferece até 20 instâncias dedicadas, um SLA de 99,95% de disponibilidade e vários níveis de hardware.
  • O escalão de serviço Isolado é executado numa rede virtual dedicada do Azure, que lhe oferece isolamento de rede e de computação. Este escalão pode ser aumentado horizontalmente até cem instâncias e tem um SLA de 99,95% de disponibilidade.

Nota

Alguns escalões de serviço não estão disponíveis para todos os sistemas operativos. Por exemplo, não existe atualmente um escalão de serviço Partilhado para Linux.

Monitorizar e dimensionar uma aplicação Web

Quando cria uma aplicação Web, pode criar um novo plano do Serviço de Aplicações ou utilizar um já existente. Se você selecionar um plano existente, todos os outros aplicativos Web que usam o mesmo plano compartilharão recursos com seu aplicativo Web. Todos eles são dimensionados juntos, por isso precisam ter os mesmos requisitos de escala. Se as aplicações tiverem requisitos diferentes, utilize um plano do Serviço de Aplicações separado para cada uma delas.

Pode aumentar horizontalmente ao adicionar mais instâncias a um plano do Serviço de Aplicações, até ao limite disponível para o escalão de serviço selecionado. Se você não estiver usando o nível Gratuito, será cobrado por cada instância por hora. Pode executar esta tarefa no portal do Azure.

O truque para dimensionar com eficiência é saber quando e quanto escalar. Monitorize o desempenho de uma aplicação Web com as métricas disponíveis para o Serviço de Aplicações. A maneira mais simples de fazer essa tarefa é usar o portal do Azure.

Se observar um aumento gradual na utilização de recursos, como a utilização da CPU, a ocupação da memória ou o comprimento de fila de disco, deve considerar aumentar horizontalmente antes que estas métricas atinjam um ponto crítico. Deve também monitorizar o tempo de resposta médio dos pedidos e o número de pedidos com falha. Se ambos os valores forem elevados, o sistema poderá estar a funcionar perto ou acima da capacidade. Terá de aumentar horizontalmente de imediato.

Se as métricas indicarem que o sistema está apenas ligeiramente carregado e tem muita capacidade extra, deve voltar a reduzir horizontalmente para reduzir os custos.

Em ambos os casos, deve continuar a monitorizar as estatísticas da aplicação Web. Permita que o sistema estabilize. Se as métricas indicarem que o aplicativo ainda está com pouca potência ou sobrecarga, adicione ou remova instâncias conforme necessário.