O que é auto escalonamento?

O Auto scaling é um método associado à computação em nuvem que aumenta ou diminui automaticamente o número de recursos que você tem em seu aplicativo, a qualquer momento, de acordo com suas necessidades. Antes de usar a computação em nuvem, era muito difícil dimensionar automaticamente uma instalação de servidor. Em um ambiente de hospedagem física, seus recursos de hardware são limitados, portanto, experimentaremos degradação de desempenho no aplicativo ou nosso aplicativo falhará.

Hoje, a computação em nuvem torna possível criar uma configuração de servidor escalável. Se o aplicativo precisar de mais poder de processamento, o dimensionamento automático oferece aos usuários a capacidade de usar e encerrar recursos adicionais conforme necessário. O dimensionamento automático fornece uma maneira eficiente de usar os recursos apenas quando necessário, garante que seu aplicativo tenha a capacidade quando a demanda aumenta/diminuiu e, o mais importante, poupando você de pagar potencialmente por mais do que sua organização precisa. Vamos nos aprofundar no dimensionamento automático, como ele funciona e nos benefícios que oferece às organizações.

 

Por que o dimensionamento automático é necessário

O dimensionamento automático é muito funcional quando seu aplicativo precisa de recursos adicionais do servidor para acomodar o número de solicitações de página ou renderização. Ele oferece uma capacidade escalável para dimensionar ou encolher automaticamente para atender às suas necessidades. O dimensionamento automático oferece as seguintes vantagens:

  • O dimensionamento automático permite que alguns servidores entrem no modo de sono durante os tempos de baixa carga, reduzindo os custos.
  • Maior tempo de atividade e maior disponibilidade onde as cargas de trabalho variam.
  • No site front-end, ele fornece a capacidade de dimensionar com base no número de solicitações recebidas.
  • Na parte de trás, ele fornece escala com base no número de empregos e há quanto tempo os empregos estão na fila na fila.

 

Usando o LoadView para garantir que o dimensionamento automático funcione corretamente

O LoadView é uma solução de teste de carga baseada na Web que pode testar tudo, desde APIs e páginas da Web até cenários complexos de usuários em aplicativos Web internos/externos. Loadview compartilha com os testes que executa relatórios que ajudam a encontrar problemas e falhas que retardam ou atrasam nosso sistema. Ao testar a carga de páginas da Web, por exemplo, você pode testar uma página específica em relação a centenas a milhares de usuários simultâneos para ver o desempenho da página em níveis de carga específicos.

Ao testar os caminhos do usuário, o LoadView, juntamente com o EveryStep Web Recorder,transforma sua tela em um script para testar interações em tempo real com aplicativos, capturando todas as ações realizadas e podendo ser reproduzida sob carga.

 

Configuração do LoadView

Por exemplo, vamos testar uma aplicação interna. Ao testar aplicativos internos, os endereços IP devem estar na lista de permissões antes de executar testes de carga em aplicativos internos. Através da carga Injectors, podemos whitelist IPs e realizar testes com contra inúmeros usuários simultâneos.

A página principal do LoadView é aberta e você verá várias opções diferentes, como Aplicativos Web, APIs, Páginas da Web, Streaming de Mídia, etc. Vamos selecionar a opção Página da Web.

Teste de página web

 

Uma nova página é aberta, onde podemos adicionar o tempo desejado para executar o teste de carga, adicionar o nome do host do nosso site interno, nosso navegador, etc. Depois de inserir seus detalhes, clique no botão Criar dispositivo.

Teste de carga de aplicação interna

 

Depois de criar com sucesso um dispositivo, você verá a tela do cenário de teste onde você pode definir e definir o tipo de carga, os locais do injetor de carga, etc. Em seguida, selecionaremos a opção Curva de passo de carga.

Curvas internas de carga de carga de aplicação

 

O LoadView começará a verificar se você tem acesso ao aplicativo interno. Selecione Proxy estático e inclua seus IPs na lista branca e selecione Adicionar zonas para escolher as regiões onde queremos o tráfego gerado. Na verdade, a plataforma LoadView pode ajudar a testar aplicativos Web, páginas da Web, APIs e outros serviços Web que residem apenas dentro de sua rede, atrás do firewall.

Os usuários do LoadView têm algumas opções para selecionar, como colocar endereços IP na lista de permissões ou instalar um Agente local se as organizações não puderem abrir sua rede para o tráfego de entrada por motivos de segurança. Para obter mais informações sobre testes de carga por trás de um firewall,visite nossa Base de Conhecimento.

 

Proxy estático

 

Quando concluído, selecione Iniciar Teste. Precisamos encontrar IPs estáticos na parte Lista de Agentes nesta tela; Carregue criadores para acesso a aplicativos internos que precisam ser levados para a lista branca. Você pode encontrar os IPs estáticos na Lista de Agentes nesta tela para ter acesso a aplicativos internos que precisam ser levados para a lista branca.

Resumo do teste de carga de aplicação interna

 

Enquanto o teste estiver sendo executado, os injetores recuperam novos endereços IP exclusivos da lista branca todas as vezes. Podemos ver o desempenho através de painéis e gráficos dos testes que criamos em nossa aplicação, tomando os IPs estáticos na lista branca. Um exemplo é mostrado abaixo.

Número médio de usuários tempo médio de resposta

Número médio paralelo de usuários com gráfico de tempo médio de resposta.

 

 

Monitore recursos adicionais no AWS à medida que a carga aumenta

 

Métricas do CloudWatch

Com o CloudWatch, podemos obter estatísticas sobre dados. Usamos métricas para verificar se nosso sistema está funcionando como esperado. Você pode criar alarme CloudWatch para rastrear uma métrica específica e receber notificações de alarme no seu e-mail. O balanceamento de carga só reporta dados ao CloudWatch quando as solicitações passam pelo balanceador de carga e mede métricas de Balanceamento de Carga Elástica a cada minuto e as envia para o CloudWatch.

 

Métricas do CloudWatch

 

Exibir métricas do CloudWatch para o seu balanceador de carga

Você pode visualizar as métricas do CloudWatch de seus balanceadores de carga usando o console EC2. Se o balanceador de carga estiver ativado e recebendo solicitações, poderemos visualizar os pontos de dados.

 

Logs de acesso

Através de registros de acesso, podemos analisar o tráfego e usá-los para corrigir nossos problemas. Também podemos armazenar solicitações que fazemos ao nosso balanceador de carga no Amazon S3 como arquivos de log.

 

Rastreamento de solicitação

O balanceador de carga adiciona um identificador de rastreamento para cada solicitação que recebe, para que você possa monitorar as solicitações HTTP.

 

Registros CloudTrail

Com o CloudTrail, registros de transações feitas pelas contas de todos os usuários podem ser seguidos. Desta forma, você pode gerenciar solicitações de autorização e acesso.

 

Garantindo a degradação da experiência do usuário com o dimensionamento automático

O CloudWatch Synthetics permite monitorar o desempenho do usuário. Ele fornece uma melhor visão geral do desempenho e da usabilidade, para que você possa detectar problemas mais cedo e responder mais rapidamente, aumentando assim o prazer do cliente e garantindo que seu aplicativo possa responder melhor às solicitações. Canários estão acostumados a nos deixar com aviso prévio. Para uso canário, clicamos em Canários no Console CloudWatch onde podemos observar o status de todos os canários em uma única tela.

 

Canários do CloudWatch

 

Vamos examinar como os canários estão se saindo nos dados. Para isso, quando examinamos pontos de dados individuais na seção canária em execução, você pode ver que cada ponto datum é a soma dos estudos realizados para um canário.

Na captura de tela abaixo, você pode ver que há um assunto timeoutError por 24 horas. Também podemos ver capturas de tela obtidas com arquivos e logs HAR. Em cada registro har vemos os tempos decorridos para respostas e solicitações e solicitações HTTP feitas para Canary.

 

Arquivo HAR do CloudWatch

 

As tarefas canárias são feitas usando funções lambda. A partir da guia Métricas, você pode acessar as métricas de execução da função.

 

Chocando um Canário

Para criar um canário, pressionamos o canário para criá-lo. Podemos selecionar nas caixas de seleção, carregar o script existente ou importar do Amazon S3.

CloudWatch Criar canário

 

Como resultado dos métodos que criamos, a execução de script uma vez ou executada periodicamente é criada. Podemos usar os métodos GET ou PUT, cabeçalhos HTTP solicitados ao criar canários para pontos finais de API. Também podemos criar nosso processo de construção canária via GUI. Podemos facilmente dar nossas características canárias. Os scripts canários usam o tempo de operação do syn-1.0. Você pode ver o roteiro de amostra abaixo.

Roteiro Canário

 

Dentro dos scripts, podemos ver resultados e erros bem-sucedidos como exceções. Criamos o período de retenção de dados para o script. Escolhemos o balde S3 para as estruturas que serão formadas após cada obra do nosso canário. Durante a criação do nosso canário, também podemos definir algumas das facilidades, como a função IAM (Identity and Access Management), CloudWatch Alarms, VPC (Virtual Private Cloud) Configurações e Tags.

 

Conclusão: Testando o dimensionamento automático na AWS

Para evitar que nossos usuários sejam afetados negativamente devido à degradação, podemos usar o Canary para detectar os possíveis problemas antes dos usuários, registrá-los e intervir em estágios anteriores e respondê-los mais rapidamente. Além disso, graças aos alarmes fornecidos em nossos canários podemos aumentar as fontes quando necessário, o que também evita que os usuários sejam afetados negativamente.

Ainda mais, a fim de maximizar a satisfação do cliente e garantir que seus aplicativos possam responder melhor às solicitações, o CloudWatch Synthetics, combinado com a plataforma LoadView, pode ajudá-lo a obter uma melhor visão geral do desempenho e da usabilidade e garantir que o dimensionamento automático esteja funcionando conforme o pretendido durante os testes de carga.

Inscreva-se para a avaliação gratuita do LoadView e inicie os testes de desempenho para todas as suas páginas da Web, aplicativos e APIs hoje mesmo.

Ou se você quiser ver a solução LoadView em ação primeiro, inscreva-se e qualquer outra pessoa em sua equipe, para uma demonstração privada com um de nossos engenheiros de desempenho. Eles fornecerão uma demonstração abrangente, cobrindo tudo, desde a criação e edição de scripts de teste de carga, até a configuração e execução dos cenários de teste de carga e análise de relatórios. Agende sua demonstração.