Dimensionar manualmente um aplicativo Web
Escalando e reduzindo horizontalmente de maneira manual, você pode responder às reduções e aos aumentos esperados no tráfego. A expansão tem o benefício adicional de aumentar a disponibilidade devido ao aumento do número de instâncias do aplicativo Web. Uma falha de uma instância não torna o aplicativo Web não disponível.
No sistema de reservas de hotéis, você pode expandir antes de um influxo sazonal previsto. Você pode reduzir novamente quando a temporada terminar e o número de solicitações de reserva diminuir.
Nesta unidade, você aprenderá a expandir um aplicativo Web e reduzi-lo manualmente outra vez.
Planos do Serviço de Aplicativo e escalabilidade
Um aplicativo Web em execução 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 faz o balanceamento da carga das solicitações de entrada nessas instâncias. Cada instância é executada em uma máquina virtual.
Os recursos disponíveis para cada instância são definidos por um Plano do Serviço de Aplicativo. O Plano do Serviço de Aplicativo especifica o sistema operacional (Windows ou Linux), o hardware (memória, capacidade de processamento da CPU, armazenamento em disco e assim por diante) e a disponibilidade dos serviços, como backup e restauração automáticos.
O Azure fornece uma série de camadas de Plano do Serviço de Aplicativo bem definidas. A seguinte lista resume cada uma dessas camadas, em ordem crescente de capacidade e custo:
- A camada gratuita fornece 1 GB de espaço em disco e suporte para até dez aplicativos, mas tem somente uma única instância compartilhada e não apresenta nenhum SLA de disponibilidade. Cada aplicativo tem uma cota de computação de 60 minutos por dia. O plano de serviço gratuito é adequado para o desenvolvimento e teste de aplicativos, em vez de implantações de produção.
- A camada Compartilhada é compatível com mais aplicativos (até 100) que também são executados em uma única instância compartilhada. Os aplicativos têm uma cota de computação de 240 minutos por dia. Não há nenhum SLA de disponibilidade.
- A camada Basic é compatível com um número ilimitado de aplicativos e fornece mais espaço em disco. Os aplicativos podem ser expandidos para três instâncias dedicadas. Essa camada oferece um SLA de 99,95% de disponibilidade. Há três níveis nessa camada, que oferecem quantidades variáveis de capacidade de computação, memória e armazenamento em disco.
- A camada Standard também é compatível com um número ilimitado de aplicativos. Essa camada pode ser dimensionada para até dez instâncias dedicadas com um SLA de 99,95% de disponibilidade. Como na camada Básica, esta camada tem três níveis que oferecem um conjunto cada vez mais potente de opções de computação, memória e disco.
- A camada Premium oferece até 20 instâncias dedicadas, um SLA de 99,95% de disponibilidade e vários níveis de hardware.
- A camada Isolada é executada em uma rede virtual dedicada do Azure, oferecendo isolamento de rede e computação. Essa camada pode ser expandida para até 100 instâncias, com um SLA de 99,95% de disponibilidade.
Observação
Algumas camadas não estão disponíveis para todos os sistemas operacionais. Por exemplo, atualmente não há nenhuma camada compartilhada para o Linux.
Monitorar e dimensionar um aplicativo Web
Ao criar um novo aplicativo Web, você pode criar um novo Plano de Serviço de Aplicativo ou usar um existente. Se você selecionar um plano existente, todos os outros aplicativos Web que usarem o mesmo plano compartilharão recursos com seu aplicativo Web. Eles serão todos dimensionados em conjunto. Portanto, eles precisam ter os mesmos requisitos de dimensionamento. Se os aplicativos tiverem requisitos diferentes, use um Plano de Serviço de Aplicativo separado para cada um.
Você expande adicionando mais instâncias a um Plano do Serviço de Aplicativo, até o limite disponível para a camada de serviço selecionada. Se você não estiver usando a camada gratuita, será cobrado por hora para cada instância. Você pode executar essa tarefa no portal do Azure.
O segredo para realizar o dimensionamento com eficácia é saber quando e quanto dimensionar. Você monitora o desempenho de um aplicativo Web usando as métricas disponíveis para o Serviço de Aplicativo. A maneira mais simples de realizar essa tarefa é usar o portal do Azure.
Se notar um aumento constante no uso de recursos, como a utilização da CPU, a ocupação de memória ou o comprimento da fila de disco, considere a expansão antes que essas métricas atinjam um ponto crítico. Também monitore o tempo médio de resposta das solicitações e o número de solicitações com falha. Se ambos esses números forem altos, o sistema poderá ser executado próximo (ou além) da capacidade. Talvez você precise expandir imediatamente.
Se as métricas indicarem que o sistema está levemente carregado e tem muita capacidade extra, talvez você queira dimensioná-lo novamente para reduzir os custos.
Em ambos os casos, você deve continuar a monitorar as estatísticas do aplicativo Web. Permita que o sistema se estabilize. Se as métricas indicarem que o aplicativo ainda não tem potência suficiente (ou está sobrecarregado), adicione ou remova as instâncias conforme necessário.