Início

topics

Ajuste automático de escala

O que é auto-scaling?
Explore a otimização dos custos da nuvem
Ilustração representando a infraestrutura de nuvem híbrida

Publicado: 12 de dezembro de 2023
contribuidores: Gita Jackson, Michael Goodwin

O que é auto-scaling?

A auto-scaling, ocasionalmente chamada de "auto-scaling", é um recurso de computação em nuvem que aloca automaticamente recursos computacionais com base na demanda do sistema. 

O auto-scaling é utilizado para garantir que os aplicativos tenham os recursos necessários para manter disponibilidade consistente e atingir metas de desempenho, além de promover o uso eficiente de recursos em nuvem e minimizar os custos em nuvem. De acordo com um white paper de 2023 da Infosys, as organizações que migram para a nuvem desperdiçam cerca de 32% do custo da nuvem.1 Devido ao seu foco na utilização eficiente de recursos, o auto-scaling é um componente muito útil para uma prática bem-sucedida de FinOps.

Quando as organizações configuram a infraestrutura de nuvem, elas fornecem recursos de acordo com as necessidades de recursos de computação, armazenamento e rede. Mas a demanda flutua, digamos, com picos ou quedas no tráfego de rede ou uso de aplicativos. Os recursos de auto-scaling permitem que os recursos sejam ajustados para corresponder à demanda em tempo real de acordo com métricas específicas, como utilização da CPU ou disponibilidade de largura de banda, sem intervenção humana.

O auto-scaling pode ser utilizado para otimizar a alocação de recursos por meio de uma variedade de métodos, como o dimensionamento preditivo, que utiliza dados históricos para prever a demanda futura ou o dimensionamento dinâmico, que reage às necessidades de recursos em tempo real, conforme determinado pelas políticas de auto-scaling de uma organização. As políticas de auto-scaling automatizam os ciclos de vida de instâncias de computação em nuvem, iniciando e encerrando virtual machines conforme necessário para ajudar na demanda de recursos. O auto-scaling é frequentemente usado em conjunto com o balanceamento de carga elástico para aproveitar totalmente os recursos de nuvem disponíveis.

Explore a demonstração interativa do IBM Turbonomic

Contenha gastos com a nuvem enquanto preserva o desempenho da aplicação com ferramentas automatizáveis de otimização de custos de nuvem.

Conteúdo relacionado Assine a newsletter da IBM
Balanceamento de carga versus auto-scaling

Embora o auto-scaling esteja relacionado ao balanceamento de carga, ele não se trata exatamente da mesma coisa. Ambos os processos afetam a alocação de recursos de back-end e são usados para otimizar o desempenho e evitar o excesso de provisionamento. Eles são frequentemente usados juntos.

Os balanceadores de carga distribuem o tráfego de entrada entre vários servidores para reduzir a carga em qualquer servidor específico. Os balanceadores de carga frequentemente oferecem recursos como verificações de integridade, que ajudam a direcionar o tráfego para longe de instâncias não saudáveis e em direção às saudáveis. Equilibrar a carga de tráfego ajuda a melhorar o desempenho dos aplicativos em um ambiente de nuvem.

O auto-scaling, por outro lado, ajusta a capacidade do sistema com base na demanda para manter um desempenho consistente e evitar o provisionamento excessivo de recursos (ou seja, usar apenas o que é necessário). O auto-scaling adiciona novos servidores ou instâncias de computação (ou os encerra) de acordo com a demanda de recursos e as políticas de auto-scaling que uma organização estabeleceu.

Como funciona o auto-scaling

A maioria dos fornecedores de nuvem, como IBM Cloud, Amazon Web Services (às vezes chamado AWS Cloud), Microsoft Azure e Oracle Cloud Infrastructure oferecem serviços de auto-scaling em suas plataformas de nuvem. Esses serviços podem ajudar as organizações a configurar políticas de auto-scaling para atender às necessidades e objetivos de computação em nuvem da organização.

Diferentes provedores e plataformas oferecem diferentes recursos, recursos e preços, e as organizações terão diferentes recursos disponíveis e casos de uso variados, mas geralmente o auto-scaling funciona da seguinte maneira:

O processo começa com uma configuração de lançamento, ou implantação básica, onde um tipo de instância (ou tipos) é implementado com uma capacidade específica e recursos de desempenho. Isso geralmente é feito usando chamadas de API e infraestrutura como código (IaC), um processo que aproveita o código para provisionar e configurar elementos de infraestrutura de TI para especificações predefinidas.

As organizações determinarão a capacidade desejada e que tipo de atributos a instância precisa com base na carga de trabalho esperada para essa instância. Ao configurar uma política de auto-scaling, as organizações podem definir destinos e limites para computação, armazenamento ou uso de rede que, quando atendidas, acionam automaticamente uma ação específica para acomodar as demandas de recursos atuais com mais precisão. Se desejado, as políticas podem ser configuradas para que as notificações sejam enviadas toda vez que uma ação de dimensionamento for iniciada.

Grupos de auto-scaling

As organizações também podem configurar grupos de instâncias que mantêm um número mínimo ou máximo de instâncias para cargas de trabalho específicas, ou agrupar diferentes tipos de instâncias para lidar com diferentes tipos de cargas de trabalho. Os tipos de instância incluem:2

Instâncias de uso geral

Os tipos de instância de finalidade geral são projetados para uma variedade de cargas de trabalho, incluindo servidores web, bancos de dados pequenos e ambientes de desenvolvimento e teste.

Calcular instâncias otimizadas

Essas instâncias são otimizadas para cargas de trabalho intensivas em computação, como computação de alto desempenho, processamento em lote e modelagem científica. Essas instâncias maximizam a potência de computação usando GPU e CPU de alta contagem de núcleos.

Instâncias otimizadas da memória

Essas instâncias de alta memória são otimizadas para cargas de trabalho intensivas em memória, como bancos de dados de alto desempenho, caches distribuídos em memória e processamento de dados em tempo real/análise de big data.

Instâncias otimizadas de armazenamento

Essas instâncias são otimizadas para cargas de trabalho com uso intenso de armazenamento, como big data, armazenamento de dados e processamento de registros. Elas aproveitam o treinamento de alta capacidade e unidades de estado sólido (SSD) para suportar as intensas atividades de leitura e escrita das cargas de trabalho.


Grupos de auto-scaling com tipos de instância mista permitem que as equipes de CloudOps e DevOps atendam às demandas de recursos de forma mais precisa e eficiente. Por exemplo, se as necessidades de largura de banda forem atendidas de forma adequada, mas o uso da CPU tiver excedido o limite estabelecido nas políticas de auto-scaling, instâncias específicas do computador poderão ser divididas enquanto as instâncias dedicadas a lidar com o tráfego de rede permanecem como estão.

Depois que as equipes entenderem a demanda da carga de trabalho, elas poderão até criar modelos de configuração de inicialização para novas instâncias. Esses modelos definem o tipo de instância, parâmetros de configuração e outras políticas para a inicialização de novas instâncias e como elas contribuem para o ambiente em nuvem como um todo. Isso permite que as organizações automatizem totalmente os ciclos de vida de virtual machines.

Tipos de auto-scaling

Existem diferentes tipos de escalonamento, bem como diferentes métodos de auto-scaling:

Escalonamento horizontal

Escalonamento horizontal, ou "escalonamento", implica adicionar mais máquinas ou nós a um ambiente de computação em nuvem. Você também pode dimensionar, reduzindo o número de nós no ambiente.

Escalonamento vertical

Escalonamento vertical, ou "escalonamento", é o processo de adicionar mais energia RAM, CPU, armazenamento, por instância a nós existentes em seu ambiente de computação em nuvem atual.

As políticas de auto-scaling podem ser preditivas, dinâmicas ou agendadas.

Escalonamento preditivo

Políticas preditivas de expansão usam inteligência artificial (IA) e aprendizado de máquina para prever necessidades futuras de recursos antes que ocorram com base na utilização histórica.

Por exemplo, uma política de auto-scaling preditiva pode identificar a probabilidade de aumento do tráfego da web para uma empresa de comércio eletrônico antes de uma temporada de compras de fim de ano e expandir ou aumentar de acordo com a política definida. Isso pode ajudar a minimizar proativamente a latência de rede e o tempo de inatividade.

Escala dinâmica

As políticas de dimensionamento dinâmico reagem às necessidades de recursos à medida que elas ocorrem, ajustando a alocação de recursos com base na utilização em tempo real. Com uma política de dimensionamento dinâmico, as organizações podem enviar mais recursos para um determinado nó ou grupo de auto-scaling ou executar instâncias adicionais quando um limite específico, como uma porcentagem do uso da CPU, é atingido.

Por exemplo, se uma organização estiver executando uma aplicação web que consome recursos significativos em um cronograma irregular, uma política de escalonamento dinâmico poderia ser usada para ajustar a disponibilidade de recursos conforme necessário. O escalonamento dinâmico frequentemente é acompanhado por um período de "cooldown", no qual os recursos adicionais permanecem disponíveis no caso de haver picos de tráfego adicionais.

Escalonamento programado

As políticas de auto-scaling agendadas alocam recursos de acordo com uma programação predeterminada. Por exemplo, se uma organização sabe que o tráfego ou a demanda de recursos é muito maior nas noites do que pela manhã, uma política de auto-scaling pode ser definida para acomodar essa demanda.

Benefícios do auto-scaling

Quando implementada de forma eficaz, a auto-scaling pode desempenhar um papel significativo na otimização do ambiente de computação em nuvem de uma organização e na redução dos custos gerais de nuvem.

Ao estabelecer políticas robustas de auto-scaling, as organizações podem reduzir sua dependência de provisionamento manual e garantir um desempenho de sistema mais consistente.

Minimizar a configuração manual da infraestrutura

O auto-scaling permite que um ambiente de nuvem reaja em tempo real à demanda de recursos sem a necessidade de intervenção humana. Isso é simplesmente mais eficiente do que o dimensionamento manual. Ele ajuda a reduzir o desgaste dos funcionários, melhora a consistência da configuração e do provisionamento e libera o tempo dos funcionários para tarefas mais valiosas.

Aumente a escalabilidade

O auto-scaling permite que as organizações expandam seu ambiente e recursos de computação em nuvem de forma mais integrada, sem a necessidade de designar pessoal adicional para monitorar e provisionar recursos.

Forneça desempenho consistente

Ao garantir que um ambiente de nuvem tenha os recursos de computação, rede e armazenamento necessários, independentemente da atividade ou demanda, o auto-scaling ajuda a manter o desempenho consistente e confiável dos serviços de nuvem.

Melhorar a experiência do usuário

Um desempenho de rede e aplicativo Web mais consistente significa um nível de serviço mais consistente para o usuário.

Reduzir custos de computação em nuvem

Ao depender da provisionamento manual de recursos, as organizações frequentemente fazem superprovisionamento como precaução, apenas para garantir que recursos estejam disponíveis para períodos de pico de demanda. Ao usar uma plataforma que possa dimensionar automaticamente os recursos de computação, rede e armazenamento para atender à demanda em tempo real, as organizações podem evitar o excesso de provisionamento e usar apenas o que precisam, resultando em uma fatura em nuvem mais baixa e maior ROI.

Soluções relacionadas
Otimização de custos de nuvem com o IBM Turbonomic

Com a plataforma IBM Turbonomic, impulsionada por IA e soluções de otimização em nuvem com inteligência artificial, você pode garantir continuamente o desempenho de aplicativos (tanto tradicionais quanto nativos da nuvem) e otimizar os custos. As ferramentas de gerenciamento de custos de nuvem da plataforma funcionam com ambientes de nuvem pública, privada, multinuvem e híbrida e com qualquer um dos principais provedores em nuvem. 

Explore a otimização de custos de nuvem com a IBM Turbonomic Conheça o Turbonomic sem custo

IBM Turbonomic

A plataforma de otimização de custos de nuvem híbrida IBM Turbonomic permite que você automatize continuamente ações críticas em tempo real que oferecem de forma proativa o uso mais eficiente dos recursos de computação, armazenamento e rede para seus aplicativos em cada camada do stack. 

Explore o IBM Turbonomic Experimente a demonstração interativa
Recursos Carhartt: Uma marca lendária alcança o recorde de vendas de férias

Saiba como a Carhartt usou o software de otimização de custos de nuvem híbrida da IBM Turbonomic para ajudar sua infraestrutura de nuvem híbrida a lidar com novos picos dramáticos de demanda.

Melhores práticas para escolher uma solução de otimização para nuvem

Leia este Relatório PeerPaper exclusivo, repleto de melhores práticas recomendadas por especialistas do setor e avaliações de clientes verificados do IBM Turbonomic.

AIOps mais inteligentes

Coloque a automação impulsionada por IA para trabalhar em sua empresa para ajudar a garantir o desempenho do aplicativo.

Operacionalizando a automação de FinOps

Leia este guia rápido para se aprofundar na disciplina em constante crescimento do gerenciamento financeiro na nuvem, conhecida como FinOps.

Visão geral do IBM Turbonomic

Saiba como o gerenciamento de recursos dos aplicativos transforma a observabilidade em ação com a automação orientada por IA.

Documentação da IBM Turbonomic

Explore a documentação para todas as versões da plataforma IBM Turbonomic.

Dê o próximo passo

O IBM Turbonomic permite que você execute aplicativos de forma contínua, ininterrupta e econômica para ajudar a alcançar um desempenho eficiente dos aplicativos, ao mesmo tempo em que reduz os custos.

Explore o Turbonomic Agende uma demonstração sem custo
Notas de rodapé

"Otimização de custos de nuvem" (link externo ao site ibm.com), Sarika Nandwani, Infosys.com, 2023"

"Tipos de instância AWS EC2: desafios e melhores práticas para hospedar seu aplicativo no AWS", Christopher Graham, 23 de agosto de 2023"