O que é o dimensionamento automático

Concluído

Nesta unidade, examinamos os conceitos de dimensionamento do Azure.

Dimensionamento elástico

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 dimensionando 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 um dos 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.

Diagrama mostrando a economia de escala automática nos custos de computação.

"Fora" vs "Up"

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

  • O dimensionamento vertical, que também é chamado de escalonamento para cima e para baixo, altera 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, que também é chamado de dimensionamento para fora e para dentro, adiciona ou remove 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 deslocalizados.

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.

Diagrama mostrando a diferença entre scale-up e scaleout.

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 precisam 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 precisa otimizar e automatizar sua alocação de rede. Tudo tem de ser robusto, sempre ativo e, o mais importante, fácil de gerir.

A Raley's escolhe 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. Ele também permite que a Raley's adote 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. Estas ferramentas permitem uma monitorização 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.

Diagrama mostrando o upscaling de escala automática.