Identificar cenários adequados para dimensionamento automático

Concluído

O dimensionamento automático pode ser disparado de acordo com uma programação ou avaliando dinamicamente 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.

No sistema de reservas de um hotel, o dimensionamento automático é útil para lidar com picos de curto prazo na quantidade de solicitações de reserva. Você também pode usar o dimensionamento automático programado para fornecer mais recursos em horários de pico previsíveis.

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.

Dimensionamento automático do Serviço de Aplicativo do Azure

O dimensionamento automático no Serviço de Aplicativo do Azure monitora as métricas de recursos de um aplicativo Web à medida que o aplicativo Web é executado. O Serviço de Aplicativo detecta quando mais recursos são necessários para lidar com uma carga de trabalho crescente e garante que esses recursos estejam disponíveis antes que o sistema fique sobrecarregado.

O dimensionamento automático responde às alterações no ambiente adicionando ou removendo servidores Web e equilibrando 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 Web, apenas 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 (DoS) provavelmente resultará em um influxo em 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 genuínas 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ço Web. É uma solução adequada para hospedar qualquer aplicativo para o qual você não possa prever facilmente a carga de trabalho ou para o qual a carga de trabalho possa variar significativamente de acordo com a data ou a hora do dia. Por exemplo, você pode esperar um aumento ou uma redução na atividade de um aplicativo de negócios durante os feriados.

O dimensionamento automático aprimora a disponibilidade e a tolerância a falhas. Isso pode ajudar a garantir que as solicitações dos clientes a um serviço Web não sejam negadas porque uma instância não consegue reconhecer as solicitações em tempo hábil ou porque uma instância sobrecarregada falha.

O dimensionamento automático funciona ao adicionar ou remover servidores Web. Se seus aplicativos Web realizarem processamento com uso intensivo de recursos como parte de cada solicitação, o dimensionamento automático poderá ser uma abordagem ineficaz. Nessas situações, pode ser necessário escalar verticalmente manualmente. 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 de longo prazo. Você pode ter um aplicativo Web que começa com poucos usuários, mas que se torna mais popular com o 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 você puder prever a taxa de crescimento, o dimensionamento manual do sistema ao longo do tempo poderá ser mais econômico.

O número de instâncias de um serviço Web também é um fator quando se considera o dimensionamento automático. Talvez você espere executar somente algumas instâncias de serviço na maioria das vezes. No entanto, nessa situação, o serviço sempre estará 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.