Examinar as opções de expansão
O Serviço de Aplicativo do Azure dá suporte a duas opções para dimensionar seus aplicativos Web automaticamente:
- Dimensionamento automático com a escala automática do Azure. O dimensionamento automático toma decisões com base nas regras definidas por você.
- Dimensionamento automático do Serviço de Aplicativo do Azure. O dimensionamento automático toma decisões de dimensionamento para você com base nos parâmetros selecionados.
O que é dimensionamento automático?
O dimensionamento automático é um processo ou sistema de nuvem que ajusta os recursos disponíveis com base na demanda atual. O dimensionamento automático expande e reduz horizontalmente, em vez de escalar e reduzir verticalmente.
O dimensionamento automático pode ser disparado de acordo com um cronograma ou avaliando se o sistema está com poucos recursos. Por exemplo, o dimensionamento automático poderá ser disparado se o uso da CPU aumentar, se a ocupação da memória crescer, se o número de solicitações recebidas por um serviço mostrar aumento ou se houver uma combinação de fatores.
Dimensionamento automático do Serviço de Aplicativo do Azure
No Serviço de Aplicativo do Azure, o dimensionamento automático monitora as métricas de recurso de um aplicativo Web conforme ele é executado. Ele detecta as situações em que outros recursos precisam lidar com uma carga de trabalho crescente e garante que esses recursos estejam disponíveis antes que o sistema tenha uma sobrecarga.
O dimensionamento automático responde às alterações no ambiente adicionando ou removendo servidores Web e balanceando a carga entre eles. O dimensionamento automático não afeta a potência da CPU, a memória ou a capacidade de armazenamento dos servidores Web que alimentam o aplicativo, só altera o número de servidores Web.
Regras do dimensionamento automático
O dimensionamento automático toma decisões com base nas regras definidas por você. Uma regra especifica o limite de uma métrica e dispara um evento de dimensionamento automático quando esse limite é ultrapassado. O dimensionamento automático também pode desalocar recursos quando a carga de trabalho diminui.
Defina suas regras de dimensionamento automático com atenção. Por exemplo, um ataque de negação de serviço provavelmente resultará em um influxo de grande escala de tráfego de entrada. Tentar lidar com um pico de solicitações causado por um ataque de DoS seria inútil e caro. Essas solicitações não são verdadeiras e devem ser descartadas em vez de processadas. Uma solução melhor é implementar a detecção e a filtragem das solicitações que ocorrem durante um ataque antes que elas sejam recebidas pelo serviço.
Quando você deve considerar o dimensionamento automático?
O dimensionamento automático oferece elasticidade para seus serviços. Por exemplo, você pode esperar uma maior/menor atividade para um aplicativo de negócios durante os feriados.
O dimensionamento automático aprimora a disponibilidade e a tolerância a falhas. Ele pode ajudar a assegurar que as solicitações do cliente a um serviço não serão rejeitadas por que uma instância não consegue reconhecer a solicitação em tempo hábil ou por que uma instância sobrecarregada falhou.
O dimensionamento automático funciona ao adicionar ou remover servidores Web. Se os aplicativos Web realizam um processamento com uso intensivo de recursos como parte de cada solicitação, talvez o dimensionamento automático não seja uma abordagem eficiente. Nessas situações, pode ser necessário escalar verticalmente de modo manual. Por exemplo, se uma solicitação enviada a um aplicativo Web envolve a execução de um processamento complexo em um grande conjunto de dados, dependendo do tamanho da instância, essa única solicitação pode esgotar a capacidade de processamento e memória da instância.
O dimensionamento automático não é a melhor abordagem para lidar com o crescimento a longo prazo. Talvez você tenha um aplicativo Web que começa com um pequeno número de usuários, mas a popularidade aumenta com o passar do tempo. O dimensionamento automático tem uma sobrecarga associada ao monitoramento de recursos e a definição do gatilho de um evento de dimensionamento. Nesse cenário, se for possível antecipar a taxa de crescimento, o dimensionamento manual do sistema ao longo do tempo poderá ser uma abordagem mais econômica.
A quantidade de instâncias de um serviço também é um fator. Talvez você espere executar somente algumas instâncias de serviço na maioria das vezes. No entanto, nessa situação, o serviço fica suscetível a tempo de inatividade ou falta de disponibilidade, não importa se o dimensionamento automático está habilitado ou não. Quanto menor a quantidade inicial de instâncias, menor a capacidade de lidar com uma carga de trabalho crescente quando o dimensionamento automático cria mais instâncias.
Dimensionamento automático do Serviço de Aplicativo do Azure
O dimensionamento automático é uma nova opção de expansão que lida automaticamente com decisões de dimensionamento para seus aplicativos Web e Planos do Serviço de Aplicativo. O recurso é diferente do dimensionamento automático do Azure pré-existente, que lhe permite definir as regras do dimensionamento com base em agendamentos e recursos. Com o dimensionamento automático, você pode ajustar as configurações de dimensionamento para aprimorar o desempenho do seu aplicativo e evitar problemas de inicialização a frio. A plataforma pré-aquece as instâncias para atuar como um buffer no escalonamento horizontal, garantindo transições de desempenho suaves. Você é cobrado por segundo para todas as instâncias, incluindo instâncias pré-aquecidas.
Veja alguns cenários em que você deve fazer a expansão automaticamente:
- Você não deseja configurar regras de dimensionamento automático com base em métricas de recursos.
- Você deseja que seus aplicativos web dentro do mesmo Plano do Serviço de Aplicativo sejam dimensionados de forma diferente e independentemente uns dos outros.
- Seu aplicativo Web está conectado a um banco de dados ou sistema herdado, que pode não ser dimensionado tão rápido quanto o aplicativo Web. O dimensionamento automático permite que você defina o número máximo de instâncias para as quais seu Plano do Serviço de Aplicativo pode ser dimensionado Essa configuração ajuda o aplicativo web a não sobrecarregar o back-end.