escala horizontal vs vertical

Escala horizontal x vertical: qual é o significado desses conceitos? Escolher a solução certa pode melhorar drasticamente seu desempenho ou economia.

Uma das coisas mais difíceis em design de sistema e hospedagem de aplicativos é tentar estimar o alcance de nossos aplicativos. Isso pode ser um choque, mas, infelizmente, você não pode prever o futuro.

O melhor que você pode fazer é projetar qual seria nossa base de usuários e contratar poder computacional com base nessa projeção.

servidor sobrecarregado

recursos não utilizados no servidor

Mas e se a projeção der errado?

Se você olhar o primeiro gráfico acima, verá que o servidor fica sobrecarregado nos horários de pico. Isso é altamente inconveniente, para dizer o mínimo.

O caso oposto também pode ser um problema, como no segundo gráfico, quando o servidor fica ocioso uma parte considerável do dia de trabalho e geralmente não atinge o uso ideal, criando uma situação em que você está pagando por recursos não utilizados.

Ter a capacidade de alocar mais ou menos recursos seguindo seu uso real ou crescimento esperado é algo de grande importância. Esta alocação de recursos é conhecida como escalabilidade.

Nuvem privada , com tecnologia VMware e NetApp , adiciona os benefícios de uma nuvem pública tradicional ao poder, desempenho e segurança de um ambiente isolado em hardware corporativo.

A melhor maneira de dimensionar sua infraestrutura é o que será abordado neste artigo, com um foco especial na expansão/redução.

o que é escala vertical

Fonte da imagem

O que é dimensionamento vertical?

O escalonamento vertical (escalonamento) é uma forma de escalonar, o que adiciona mais recursos à máquina existente ou nó único, aumentando assim sua capacidade.

O processo de escalonamento vertical é direto e inclui a atualização de componentes físicos (potência da CPU, RAM, espaço em disco ou largura de banda) para o seu servidor.

Em ambientes de nuvem, a extensão da alocação de recursos para essa construção específica por meio de software de virtualização, como VMware , Red Hat Virtualization ou Oracle VM VirtualBox, seria outra maneira de escalar verticalmente. A otimização de software também pode ser incluída nesta categoria.

A escala vertical é especialmente adequada para pequenas e médias empresas.

Vantagens da escala vertical

1. Custo inicial mais baixo

Geralmente, aumentar a escala ou verticalmente é mais econômico devido a vários motivos:

  • O hardware em termos de eficiência por unidade é mais barato. Até certo ponto, isso será tratado nas desvantagens.
  • Como há apenas uma máquina, o licenciamento e a implementação de software são mais baratos.
  • Os custos de manutenção, incluindo energia, racks de servidores e resfriamento são reduzidos.

2. Comunicação entre processos

A comunicação entre processos em execução no mesmo nó é mais rápida do que a comunicação de rede entre máquinas. O caminho de comunicação entre aplicativos e serviços é mais curto, o que se traduz em uma execução mais eficiente porque a sincronização e as informações sobre eventos e as solicitações são quase instantâneas, pois nenhuma interação externa é necessária.

3. Consistência de dados

Outra grande vantagem da escala vertical é que os dados permanecem homogêneos. Sincronização e consistência de dados entre os nós não é algo com que se preocupar quando você tem uma única máquina. A consistência de dados é especialmente relevante para aplicativos de alta simultaneidade que dependem de comunicação rápida e aplicativos que precisam ser sincronizados instantaneamente.

Desvantagens da escala vertical

Existem, é claro, algumas desvantagens a serem consideradas ao dimensionar verticalmente, que podem ser um ponto de ruptura.

1. Ponto Único de Falha

A desvantagem número um de ter um aplicativo que reside em uma única instância é que ele representa um único ponto de falha. Se, por algum motivo, a máquina cair, nosso aplicativo também.

Falhas de hardware , software corrompido, malware ou outros tipos de ataques maliciosos direcionados, ou até mesmo acidentes físicos no data center podem levar a um tempo de inatividade caro.

2. Limitações de hardware e software

Há um limite para a quantidade de hardware que pode ser adicionada a uma única máquina. Torna-se mais caro atingir um certo limite em termos de custo-desempenho.

Mas, além do lado econômico da equação, também existem limitações de hardware e software.

Por exemplo, se parte do nosso software não pode ser paralelizada, então adicionar hardware não melhorará o tempo de execução, pois sempre levará a parte que não pode ser otimizada mais o tempo de execução do resto do software. Isso é conhecido como Lei de Amdahl .

3. Tempo de inatividade

Como as alterações de hardware estão envolvidas, na maioria das vezes, isso se traduzirá em tempo de inatividade . Durante o fornecimento, o servidor pode precisar ser desligado para adicionar recursos e para o software reconhecer a nova alocação.

Se o espaço em disco for aumentado, pode ser necessário adicionar outra unidade.

Portanto, há uma chance de que a sincronização do disco leve mais tempo de inatividade até que o servidor esteja em plena capacidade operacional novamente.

O que é escala horizontal?

A escala horizontal, por outro lado, adiciona uma camada adicional de abstração. Em vez de ter um único servidor lidando com toda a operação, você tem um conjunto de vários nós formando uma rede distribuída.

Simplificando, dimensionar horizontalmente é adicionar mais máquinas, criando assim um pool de recursos interconectados. ”

O objetivo principal aqui é que a carga possa ser distribuída igualmente entre os nós. Freqüentemente, esta configuração inclui software de virtualização, clustering e balanceamento de carga .

Você pode criar nossa própria nuvem privada e otimizar a distribuição de recursos.

Para operações e aplicativos gigantes com alta simultaneidade de E/S, esta é a opção preferida porque a carga é distribuída, o ciclo de vida do hardware é mais longo e a degradação é reduzida.

Vantagens da escala horizontal

A escalabilidade horizontal é uma opção confiável para quem executa operações de alto nível e é a melhor em relação à viabilidade de longo prazo.

1. Resiliência e redundância

Dada a natureza desta solução, e porque não há um único ponto de falha, os ambientes de nuvem distribuídos ou pools de recursos são resilientes ao mau funcionamento de uma única instância.

Além disso, o risco de perda de dados é minimizado, visto que são distribuídos por todos os nós do ambiente. Essa minimização é uma das razões pelas quais nuvens privadas são tão benéficas para empresas maiores.

2. Fácil de escalar

Como você está adicionando mais energia a um pool existente apenas configurando mais máquinas, o tempo de inatividade é quase inexistente durante o dimensionamento. Não há praticamente nenhum limite no número de instâncias que podem ser adicionado.

Portanto, esta opção oferece crescimento teórico ilimitado .

O oposto também é verdadeiro. Se nossa demanda diminuir, você pode simplesmente remover algumas máquinas e não ficar preso em pagar por hardware de pico de tráfego.

3. Endpoints adicionais

O dimensionamento horizontal fornece pontos de extremidade adicionais para conexões de cliente. A carga é distribuída por todos os nós, proporcionando uma melhor experiência geral, aumentando o desempenho e a segurança da rede e evitando o uso pesado de componentes individuais.

Desvantagens da escala horizontal

1. Componentes adicionais

Embora a escala horizontal ofereça proteção contra pontos únicos de falha, o fato de haver mais de um nó pode aumentar a complexidade do protocolo de manutenção. Você também precisará incluir software de virtualização e balanceamento de carga para uma operação adequada.

Devido ao aumento da complexidade, os custos iniciais tendem a ser maiores ao implementar esta solução.

O gráfico a seguir fornece uma melhor compreensão de como a relação entre custo e desempenho se comporta em cada cenário.

preços e capacidade para escolher a infraestrutura de escala horizontal vs vertical

Fonte da imagem

2. Comunicação de rede

A comunicação entre processos e rotinas está profundamente envolvida no desempenho de nosso aplicativo. Toda a comunicação é interna com um único nó, o que é ideal; no entanto, as tecnologias de computação em nuvem dependem de comunicação de rede ou “Chamadas de procedimento remoto (RPC).”

Este protocolo foi amplamente refinado, mas independentemente, RPC ainda adiciona complexidade à estrutura e não é tão eficiente quanto a comunicação interna , o que pode ser relevante em termos de consistência de dados (sincronização contínua de dados entre nós).

Escala horizontal x vertical: qual você escolhe?

O dimensionamento horizontal pode ser útil para grandes operações e aplicativos com alta simultaneidade, fornecendo carga distribuída, redundância e tempo de inatividade mínimo, entre outros benefícios.

Para pequenas e médias empresas, a escala vertical seria a opção certa, pois é um ambiente menos complexo, inicialmente mais barato e oferece excelente desempenho pelo preço.

Ter uma nuvem privada pode ajudá-lo a dimensionar horizontalmente ou verticalmente, sem muitos problemas. A hospedagem de nuvem privada na Liquid Web permite que você otimize recursos e dimensione em tempo real.

VMware Private Cloud na Liquid Web

A nuvem privada, com tecnologia VMware e NetApp, adiciona os benefícios de uma nuvem pública tradicional à potência, desempenho e segurança de um ambiente isolado em hardware corporativo. Veja os mais recentes planos de nuvem privada em Liquid Web.

A postagem Dimensionamento horizontal x vertical para hospedagem de aplicativos: qual é o melhor para Você? apareceu primeiro em Liquid Web .

Categories: Wordpress