O que é o dimensionamento automático

Concluído

Nesta unidade, examinamos os conceitos de dimensionamento do Azure.

Por que se preocupar com o dimensionamento

Uma das principais vantagens da nuvem é o dimensionamento elástico. Você expande adicionando instâncias de aplicativo com base no aumento da demanda. Você pode usar a capacidade necessária, dimensionando à medida que a carga aumenta e aumentando quando a capacidade extra não é necessária.

Um exemplo clássico da necessidade de elasticidade ocorre quando o site de uma organização passa por grandes cargas invulgares. Se o site não for dimensionado para satisfazer a procura, os pedidos demoram mais tempo a serem processados, uma vez que ficam em fila de espera a aguardar pelo tempo do processador. Para o cliente, o site parece lento e sem resposta. Em casos extremos, o site pode até parecer inativo.

Balança manual vs automática

Você pode definir configurações de escala para um aplicativo com dois modos: manual ou automático. Manual é como você esperaria: você define a contagem absoluta de instâncias. Automático (autoscale), no entanto, permite que você defina regras que regem como e por quanto você deve escalar.

O dimensionamento automático permite que você tenha a quantidade certa de recursos em execução para lidar com a carga em seu aplicativo. O dimensionamento automático facilita a sobrecarga de gerenciamento, reduzindo a necessidade de os operadores do sistema tomarem decisões constantes sobre a adição ou remoção de recursos ou a verificação do desempenho do sistema. Ter um mínimo garante que seu aplicativo esteja sempre em execução, mesmo sem carga. Ter um máximo limita o seu custo horário total possível. Você dimensiona automaticamente entre esses dois extremos usando as regras criadas.

Diagram showing autoscale saving on compute costs.

"Fora" vs "Up"

As aplicações podem ser dimensionadas de duas formas principais:

  • O dimensionamento vertical, também chamado de escalonamento para cima e para baixo, significa alterar a capacidade de um recurso. Por exemplo, você pode mover um aplicativo para um tamanho de computação maior. O dimensionamento vertical geralmente requer tornar o sistema temporariamente indisponível enquanto ele está sendo reimplantado, por isso é menos comum automatizar o dimensionamento vertical.

  • O dimensionamento horizontal, também chamado de dimensionamento para fora e para dentro, significa adicionar ou remover instâncias de um recurso. A aplicação continua a ser executada sem interrupção enquanto os recursos novos são aprovisionados. Quando o processo de provisionamento é concluído, a solução é implantada nesses recursos extras. Se a demanda cair, os recursos extras podem ser desligados de forma limpa e desalocados.

O dimensionamento automático apenas dimensiona "para fora" (horizontalmente), o que é um aumento ("out") ou diminuição ("in") no número de instâncias de aplicativo.

Diagram showing the difference between scale up and scale out.

Dimensionamento automático em aplicativos Azure Spring

O dimensionamento automático no Azure Spring Apps monitora as métricas de recursos de um aplicativo Spring à medida que ele é executado. Ele deteta situações em que recursos extras 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 é um recurso interno do Azure Spring Apps que ajuda os aplicativos de microsserviço a fazer o seu melhor quando a demanda muda.

Exemplo do mundo real

Os supermercados da Raley precisavam modernizar o código e a infraestrutura de seus sites de comércio eletrônico com tecnologia Java hospedados no Azure. A empresa também precisava otimizar e automatizar sua alocação de rede. Tudo tinha de ser robusto, sempre ativo e, o mais importante, fácil de gerir.

A Raley's escolheu o Azure Spring Apps. O Azure Spring Apps é um serviço gerenciado para o Spring Boot, que fornece o poder do Kubernetes, juntamente com monitoramento e dimensionamento automático em tempo real. Também permitiu que a Raley's adotasse uma verdadeira arquitetura de plataforma como serviço (PaaS), aproveitando os benefícios da nuvem de forma mais completa.

O serviço gerencia a infraestrutura dos aplicativos de microsserviço do Spring Boot nos bastidores, para que os desenvolvedores possam se concentrar em seu código. Quando bibliotecas Java ou código é implementado, o Spring Apps conecta automaticamente os aplicativos com o tempo de execução do serviço Spring.

Depois de implantados, os Azure Spring Apps são totalmente integrados às ferramentas do Azure Monitor, como o Application Insights e o Log Analytics, permitindo um monitoramento fácil e totalmente configurável do desempenho e dos erros. Esses mesmos serviços de monitoramento também podem impulsionar o dimensionamento automático, ajudando a garantir que os recursos sejam dimensionados adequadamente para as cargas atuais.

Diagram showing autoscale upscaling.