DEV Community

Francisco Zanfranceschi
Francisco Zanfranceschi

Posted on

[Desafio] - Estimar Recursos Computacionais num Ambiente Elástico

Conteúdo original nessa thread do Twitter


Ei dev,

Aceita um desafio para estimar a capacidade computacional das máquinas que irão servir uma API num ambiente elástico com auto scaling? Então cola aí pra eu dar os detalhes :)

cc @sseraphini

img


Você precisa estimar a configuração das máquinas que irão servir uma API de modo que haja o menor desperdício possível.
O ambiente é auto escalável e o gatilho é o número de requisições, pois você sabe que 300 requisições/segundo são adequadamente atendidas por 1GB RAM/1 CPU.


Algumas premissas:

  • Não pode haver menos de 2 nós rodando a qualquer horário.
  • Para facilitar, assuma que o auto scaling ocorre quase que imediatamente quando o threshold for ultrapassado.
  • As configurações válidas das máquinas são as combinações do desenho.

img


Esse é o gráfico que vc deve se basear para estimar a melhor configuração para as máquinas do cluster da API. Os horários não mostrados (entre 00:00 e 08:00), têm a média de menos de 100 requisições por segundo.

img


É esse o máximo de informações que você tem para escolher uma das configurações válidas com a premissa de nunca haver menos de duas máquinas em execução por vez. O seu gestor está atacado e ansioso porque deveria ter lhe pedido isso antes e agora estão cobrando ele.


O termo para isso é dimensionamento de recursos. Em inglês, a galera chama de "sizing". É muito importante fazer o "right sizing" (dimensionamento correto) dos recursos para não haver desperdício financeiro. E esse advento de right sizing veio forte com os provedores cloud. 💵


Dá um abraço aqui se você aceitou o desafio ou pelo menos leu até aqui. 🫂

E obrigado demais pela moral como sempre! ❤️

Discussion (0)