Visão geral do dimensionamento automático na AWS
O dimensionamento automático, também conhecido como dimensionamento automático ou, às vezes, dimensionamento automático, é uma técnica na computação em nuvem, em que a quantidade de recursos necessários para que um farm de servidores funcione com eficiência, geralmente medida conforme o número de servidores ativos aumenta ou diminui quando necessário, com base na carga em todo o farm de servidores. Podemos relacionar isso de perto com o balanceamento de carga. Normalmente, o dimensionamento automático é um tipo de automação para um processo manual. Vamos dar um cenário em que você tem um site de comércio eletrônico que está executando e atendendo a clientes de maneira eficiente, nenhum deles reclamando do atraso no site nem perdendo usuários por causa do desempenho do site. À medida que os negócios cresciam, você fazia marketing e as pessoas ficavam mais conscientes do seu site dia a dia, o tráfego no site estava aumentando. Por um lado, você ficou feliz em ver o aumento nos negócios, mas também precisa ver que o site deve atender a todos os clientes e não ficar para trás. Digamos que atualmente ele possa atender 100 clientes por vez, se 100 usuários conectados ao seu site, todos puderem navegar sem problemas e comprar, e tudo isso está sendo executado em alguma configuração fixa da suposta instância t2.micro da AWS. Agora que o site está ficando popular, você espera de 250 a 300 usuários por vez, claramente você precisa de mais 2 servidores onde você pode dividir o tráfego e todos podem navegar adequadamente.
O trabalho manual que é calcular a quantidade de recursos necessários para atender seus clientes e dimensionar o sistema com base na carga do farm de servidores e dividir o tráfego é feito manualmente para o cenário acima. Podemos dizer que na verdade é um dimensionamento, mas não um dimensionamento automático, porque foi feito manualmente, mas você pode usar o serviço de AutoScaling com um balanceador de carga na AWS que automatizará a tarefa acima e é isso que você chama de dimensionamento automático ou dimensionamento automático em termos de nuvem Informática.
Como o escalonamento automático funciona na AWS?
Na AWS, existem várias entidades envolvidas no processo de dimensionamento automático, que é: - Load Balancer e AMIs são dois componentes principais envolvidos nesse processo. Primeiro, você precisa criar a AMI do seu servidor atual; em termos mais simples, podemos dizer que um modelo da sua configuração atual consiste em toda a configuração do sistema e site atual. Isso você pode fazer na seção AMI da AWS. Se seguirmos o cenário acima e você tiver configurado o dimensionamento automático para que seu sistema esteja preparado para o tráfego futuro.
Quando o tráfego começava a aumentar, o serviço de dimensionamento automático da AWS iniciava automaticamente o lançamento de outra instância com a mesma configuração do seu servidor atual com a ajuda da AMI do seu servidor.
Em seguida, vem a próxima parte na qual precisamos dividir ou rotear nosso tráfego igualmente entre as instâncias que foram lançadas recentemente. Isso seria resolvido pelo balanceador de carga na AWS. O balanceador de carga divide o tráfego com base na carga em um sistema específico, eles fazem algum processo interno para decidir para onde direcionar o tráfego.
A criação de uma nova instância depende apenas de um conjunto de regras definidas pelo usuário que está configurando o dimensionamento automático. As regras podem ser tão simples quanto a utilização da CPU, por exemplo, você pode configurar o dimensionamento automático quando a utilização da CPU atingir 70 a 80% e, em seguida, você deseja iniciar uma nova instância para lidar com o tráfego. Também pode haver regras para diminuir a escala.
Componentes de dimensionamento automático na AWS
Existem muitos componentes envolvidos no processo de dimensionamento automático, alguns dos quais já nomeamos anteriormente como AMI, balanceadores de carga e outros também.
Componentes envolvidos no dimensionamento automático: -
- AMI (Amazon Machine Image)
- Balanceador de carga
- Instantâneo
- Instância EC2
- Grupos de escalonamento automático
Pode haver mais componentes, mas você pode dizer que a maioria dos componentes que podem ser dimensionados pode fazer parte do dimensionamento automático.
1. AMI
Uma AMI é uma imagem executável da sua instância do EC2 que você pode usar para criar novas instâncias. Para dimensionar seus recursos, você precisa do seu novo servidor para ter toda a configuração de seus sites e pronto para o lançamento. Na AWS, você pode conseguir isso pela AMI, que nada mais é que uma imagem executável idêntica de um sistema que você pode usar para criar novas imagens e o mesmo seria usado pela AWS no caso de dimensionamento automático para iniciar novas instâncias.
2. Balanceador de Carga
Criar instância é apenas uma parte do dimensionamento automático, você também precisa dividir seu tráfego entre as novas instâncias e esse trabalho é tratado pelo Load Balancer. Um balanceador de carga pode identificar automaticamente o tráfego nos sistemas aos quais está conectado e pode redirecionar as solicitações com base em regras ou de maneira clássica para a instância com menos carga. O processo de dividir o tráfego entre as instâncias que chamamos de balanceamento de carga. Os balanceadores de carga são usados para aumentar a confiabilidade de um aplicativo e a eficiência para lidar com usuários simultâneos.
Um balanceador de carga desempenha um papel muito importante no dimensionamento automático. Normalmente, os balanceadores de carga podem ser de dois tipos: -
- Balanceador de carga clássico.
- Balanceador de carga de aplicativo.
Balanceador de carga clássico: - O balanceador de carga clássico segue uma abordagem muito simples: distribuirá o tráfego igualmente para todas as instâncias. É muito básico e hoje em dia ninguém usa um balanceador de carga clássico. Pode ser uma boa opção para um site simples de página html estática, mas nos cenários atuais, existem aplicativos híbridos ou multi-componentes e aplicativos de alta computação que possuem vários componentes dedicados a um trabalho específico.
Balanceador de carga de aplicativo
- O tipo de balanceador de carga mais usado em que o tráfego é redirecionado com base em certas regras simples ou complexas que podem ser baseadas em "caminho" ou "host" ou conforme definido pelo usuário.
- Seria melhor se tivéssemos o cenário de um aplicativo de processamento de documentos.
- Digamos que você tenha um aplicativo baseado na arquitetura de microsserviço ou monolítico e o caminho "/ document" seja específico para um serviço de processamento de documentos e outros caminhos "/ reports" que apenas mostrem que os relatórios dos documentos são processados e estatísticas sobre dados processados. Podemos ter um grupo de dimensionamento automático para um servidor responsável por processar os documentos e outro apenas para mostrar os relatórios.
- No balanceador de carga de aplicativo, você pode configurar e definir regras de acordo com um caminho que, se o caminho corresponder a "/ documento", será redirecionado para um grupo de dimensionamento automático do servidor 1 ou se corresponder ao caminho "/ reports" e, em seguida, redirecionará para um grupo de dimensionamento automático para servidor 2. Internamente, um grupo pode ter várias instâncias e a carga será distribuída na forma clássica de forma igual entre as instâncias.
3. Instantâneo
A cópia dos dados que você possui no disco rígido é geralmente uma imagem do seu armazenamento. A diferença típica entre instantâneo e AMI é uma imagem executável que pode ser usada para criar uma nova instância, mas o instantâneo é apenas uma cópia dos dados que você possui em sua instância. Se você tiver um instantâneo incremental da sua instância do EC2, o instantâneo será uma cópia dos blocos modificados desde o instantâneo anterior.
4. Instância EC2 (Elastic Compute Cloud)
Uma instância do EC2 é um servidor virtual no Elastic Compute Cloud (EC2) da Amazon, usado para implantar seus aplicativos na infraestrutura do Amazon Web Services (AWS). O serviço EC2 permite conectar-se a um servidor virtual com uma chave de autenticação via conexão SSH e permite instalar diferentes componentes do seu aplicativo junto com ele.
5. Grupo de escalonamento automático
É um grupo de instâncias do EC2 e o núcleo do Amazon EC2 AutoScaling. Ao criar um grupo de AutoScaling, você precisa fornecer informações sobre as sub-redes e um número inicial de instâncias com as quais deseja iniciar.
Conclusão
A partir do conteúdo acima, temos uma boa idéia do que é o dimensionamento automático e como é importante no mundo de hoje.
- Se observarmos que as demandas de tecnologia e usuário estão aumentando dia a dia e também suas expectativas em relação à aplicação rápida e eficiente.
- Um ótimo aplicativo é rápido, oferece boa experiência do usuário e faz as coisas para as quais ele foi criado; para isso, você precisa de um back-end e pilha de tecnologia muito robustos.
- Depois que você está no negócio e é um sucesso, é muito provável que sua base de usuários aumente e haverá situações para lidar com usuários simultâneos durante o tempo em que você precisar de dimensionamento automático para aumentar e diminuir de acordo com as situações para proporcionar aos usuários uma experiência perfeita.
Do meu ponto de vista, o dimensionamento é um aspecto muito importante no mundo de hoje e hoje ou amanhã precisamos fazer isso, vá com o dimensionamento automático da AWS e aumente seus produtos.
Artigos recomendados
Este é um guia para O que é o AutoScaling na AWS? Aqui discutimos sua definição, funcionamento e diferentes componentes do dimensionamento automático na AWS. Você também pode consultar o seguinte artigo para saber mais -
- O que é o AWS RedShift?
- O que é StringBuilder em C #
- Guia completo para testes funcionais
- O que é desenvolvedor de back-end?
- Serviços de armazenamento da AWS