O que é 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ê faz a escala horizontal adicionando instâncias do aplicativo com base no aumento da demanda. Você pode usar o tanto de capacidade que precisar, escalando horizontalmente quando a carga aumenta e reduzindo horizontalmente 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 cargas anormalmente altas. Se o site não puder ser dimensionado para atender à demanda, as solicitações levarão mais tempo para serem processadas, pois estarão em fila aguardando o tempo do processador. Para o cliente, o site parece lento e não responsivo. Em casos extremos, o site pode até parecer inativo.

Escala manual versus automática

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

O dimensionamento automático permite ter 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 de sistema tomarem decisões sobre a adição ou remoção de recursos ou a verificação do desempenho do sistema. Ter um mínimo assegura que seu aplicativo estará sempre em execução, mesmo sem carga. Ter um máximo limita seu custo por hora total possível. Você dimensiona automaticamente entre esses dois extremos usando as regras criadas.

Diagrama que mostra a economia de dimensionamento automático nos custos de computação.

"Horizontal" vs "vertical"

Há duas maneiras principais de um aplicativo ser dimensionado:

  • Escala vertical, que também é chamada escalar e reduzir verticalmente, altera a capacidade de um recurso. Por exemplo, você pode mover um aplicativo para um tamanho da computação maior. Em geral, o dimensionamento vertical exige que o sistema fique temporariamente indisponível enquanto ele está sendo reimplantado, portanto, é menos comum automatizar o dimensionamento vertical.

  • Escala horizontal, que também é chamada escalar e reduzir horizontalmente, adiciona ou remove instâncias de um recurso. O aplicativo continua em execução sem interrupções conforme os novos recursos são provisionados. Quando o processo de provisionamento for concluído, a solução será implantada nesses recursos adicionais. Se a demanda cair, os recursos extras poderão ser desligados de forma limpa e desalocadas.

O dimensionamento automático significa escalar horizontalmente, que é um aumento ("escala") ou diminuição ("redução") no número de instâncias de aplicativo.

Diagrama que mostra a diferença entre a escala vertical e a escala horizontal.

Dimensionamento Automático no Azure Spring Apps

O dimensionamento automático no Azure Spring Apps monitora as métricas de recursos de um aplicativo Spring conforme ele é executado. Ele detecta as situações em que os recursos extras 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 é um recurso interno do Azure Spring Apps que ajuda os aplicativos de microsserviço a ter um melhor desempenho quando há alterações na demanda.

Exemplo do mundo real

Os supermercados Raley's precisam modernizar o código e a infraestrutura para seus sites de comércio eletrônico baseados em Java hospedados no Azure. A empresa também precisa otimizar e automatizar sua alocação de rede. Tudo precisa ser robusto, sempre ativo e, o mais importante, fácil de gerenciar.

Raley's escolhe os Aplicativos Spring do Azure. O Azure Spring Apps é um serviço gerenciado para Spring Boot que proporciona o poder do Kubernetes com monitoramento em tempo real e dimensionamento automático. Ele também permite que o Raley's adote uma arquitetura de PaaS (plataforma como serviço) verdadeira, 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 no código. Quando bibliotecas ou código Java é implantado, o Spring Apps conecta automaticamente os aplicativos ao runtime do serviço Spring.

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

Diagrama que mostra a escala vertical do dimensionamento automático.