Executando verificação de segurança...
1

[Dúvida] Qual caminho devo seguir para "clusterizar" uma aplicação?

Opa tudo certo, pessoal?

Gostaria de compartilhar algo com todos, é uma simples dúvida e acredito que eu conseguiria encontrar uma resposta na internet, entretanto, provavelmente me falta conhecimento das palavras corretas para fazer a pesquisa certa.

É uma das dúvidas que sempre tive comigo mas nunca consegui me expressar muito bem para que entendessem, entretanto, tentarei ao máximo ser claro aqui.

Digamos que existe uma aplicação X, que esta começando a receber mais requisições e, portanto, precisa ser escalonada.

Para poder escalonar essa seguinte aplicação na nuvem AWS, temos as 2 seguintes opções:
(Usarei a AWS de exemplo pois é o provedor que tenho conhecimento)

  1. Ter 2 instâncias EC2 de um tipo pequeno que comportem a aplicação X, uma aplicação em cada instância.
  2. Ter 1 instância EC2 de um tipo grande que possa comportar 2 processos ou 2 containers da aplicação X.

Minhas dúvidas são as seguintes:

  • O que devo levar em consideração para escolher qual tipo de cluster farei?
  • Quais são as diferenças dessas 2 formas de clusterizar uma aplicação?
  • Um é evolução do outro ou são propósitos diferentes? Se sim, qual seria o propósito de cada opção?

Observação: Para responder as perguntas, considere que as instâncias de cada opção são perfeitamente equivalentes...
Exemplo:

  • Todas as instâncias estão com 80% do uso da CPU.
  • A instância maior tem exatamente o dobro de memória, armazenamento, núcleos de processamento e custo que uma instância menor

Basicamente considere que 2 instâncias pequenas são iguais em performance e custo que 1 instância grande.

Carregando publicação patrocinada...
4

O primeiro passo é tetar fazer o simples. Só depois que tiver uma prova cabal é que deve partir para algo complexo. Faça a aplicação escalar verticalmente antes, a horizontal custa muito caro em todos os sentidos, e não é só sobre custo.

Para te dar aparãemtros, o Stack Overflow que era um dos 30 sites mais acessados do mundo conseguia rodar em 1 servidor e eles desligavam os outros para testar e ia bem. Tirando mídia e search, se saíssem do PHP e fizessem um software um pouco melhor, poderiam rodar o principal em 1 servidor no talo. Poucos do jeito atual, para um dos 5 sites mais acessados do mundo na época que a Alexa tinha ranking. Tem inúmeros casos assim.

Mesmo que precise mesmo escalar horizontalmente, provavelmente consegue fazer isso só distribuindo a carga, como se fosse vários fornecedores separados.

Você tem uma carga maisopr que esses sites? Precisa de uma equipe extremamente competente e experiente para lidar com isso e deve estar sobrando dinheiro. Se não for isso comece ver porque a carga es´ta tão alta com tão pouco, quase semrpe é o problema.

Ajudei? Era o meu desejo.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).