Auto Scaling: O que é e quando deve ser utilizado?

Auto scaling é uma ferramenta que traz uma série de benefícios para a arquitetura de dispositivos. Mais tolerância a falhas, mais disponibilidade e melhor gerenciamento de custos são apenas alguns deles. Se você ainda não conhece o auto scaling, seus componentes e sua função, esse texto é perfeito para você. Confira!

O que é auto scaling?

Auto scaling ou dimensionamento automático é uma maneira de aumentar ou diminuir automaticamente o número de recursos de computação que estão sendo atribuídos ao seu aplicativo com base em suas necessidades em qualquer momento.

Ele surgiu a partir da tecnologia de cloud computing, que revolucionou totalmente a maneira como os recursos do computador são alocados, possibilitando a criação de um servidor totalmente escalável na nuvem.

Quando um aplicativo precisar de mais poder de computação, será possível lançar recursos adicionais sob demanda e usá-los durante o tempo que quiser.

Componentes

Os principais componentes do auto scaling são grupos, configurações de execução e planos de escalabilidade.

No que diz respeito aos grupos, as instâncias da nuvem são organizadas em grupo para serem tratadas como unidade lógica, permitindo escalabilidade e gerenciamento. O profissional, ao criar um grupo, o número máximo, mínimo e desejado de instâncias da nuvem.

O grupo usa configurações de execução como norte para suas instâncias. Ao criar uma configuração, é possível especificar informações, como o ID, o par de chaves, o tipo de instância, os security groups e o mapeamento de dispositivos de blocos.

Os planos de escalabilidade é o guia de auto scaling (quando e onde escalar). Você pode, por exemplo, basear o plano na ocorrência de condições especificadas ou em programação.

Para que serve?

Da definição de auto scaling já é possível entender sua função, que é a de manter a disponibilidade das aplicações, permitindo aumentar ou reduzir, de modo dinâmico e automaticamente, a escala vertical da capacidade da nuvem, de acordo com condições definidas.

O auto scaling pode ser utilizado para:

  • Realizar o gerenciamento de frotas de instâncias EC2: mantém a disponibilidade e a integridade da sua frota, bem como garante a execução do número desejado de instâncias da nuvem.

  • Balancear as zonas de disponibilidade (escalabilidade dinâmica de instâncias EC2): aumenta automaticamente o número de instâncias da nuvem durante picos de demanda, com o objetivo de manter a performance e reduzir a capacidade durante interrupções (diminui custos).

  • Detectar aplicativos não saudáveis ou instâncias deficientes da nuvem e substituí-las automaticamente (monitoramento da integridade das instâncias em execução).

Tomemos um site como exemplo. Antes da computação em nuvem, era muito difícil escalar um site. Escalar automaticamente uma configuração do servidor era impensável. Em um ambiente de hospedagem tradicional e dedicado, você está limitado pelos recursos de hardware.

Quando os recursos do servidor são maximizados, seu site inevitavelmente sofrerá uma queda de desempenho e, possivelmente, cairá, causando perda de dados e/ou negócios potenciais. O auto scaling permite que você configure “pontos de gatilho” necessários para que seja criada uma configuração automática que reage automaticamente a várias condições quando os limites são excedidos.

Outro exemplo elucidativo. Considere que na sua empresa existe um aplicativo Web em execução na nuvem. Ele permite a pesquisa de salas de conferência pelos funcionários que desejam realizar reuniões. O maior uso do aplicativo acontece entre segunda-feira e quarta-feira. Entre quinta e domingo, a demanda é bem menor.

De maneira tradicional, você pode adicionar servidores suficientes (a mais) para que o aplicativo tenha sempre capacidade de atender à demanda. Nos dias de menor demanda, porém, a capacidade extra permanece não utilizada (pior custo-benefício). Se preferir, pode adicionar uma capacidade baseada na média da demanda, mas isso também é um risco.

Com o auto scaling, você pode adicionar novas instâncias ao aplicativo somente se necessário. Elas podem ser encerradas quando não houver mais necessidade. Assim, a empresa paga pelo que usa e quando usar.

Como aprender auto scaling?

O aprendizado sobre auto scaling se baseia no conhecimento de computação em nuvem. Isso porque, como dito anteriormente, a adição da tecnologia à arquitetura do aplicativo é uma forma de maximizar os benefícios da cloud.

Portanto, para entender o funcionamento da auto scaling, é preciso, inicialmente, compreender seus componentes (grupos, configurações de execução e planos de escalabilidade) e saber elaborá-los. Mas como fazer isso? Por meio de cursos voltados para a cloud computing.

Você também pode participar de eventos gratuitos sobre cloud, como os ofereceidos pelo Cloud Treinamentos. Participa da Série gratuita de Vídeos sobre AWS CLICANDO AQUI.

Está pronto para aprender a usar o auto scaling? Capacite-se!