Use uma infraestrutura escalável como a que estou trabalhando. No meu caso, a quantidade de trabalho que podemos desenvolver se adapta bem ao número de nós de processamento que estamos executando. Temos alguma capacidade interna e estamos trabalhando para usar exatamente esses tipos de serviços para demanda que excede nossa capacidade interna.
Quando precisamos, implantamos vários nós de processamento em um serviço de nuvem como esse. Uma vez que temos a implantação automatizada, deve ser uma questão de dizer ao sistema "Preciso de 20 novos nós", fazendo com que ele gire 20 novas instâncias, ajuste nomes conforme necessário e comece a mastigar. Quando o projeto estiver pronto, desligamos esses nós e seguimos nosso caminho alegre.
Devido aos fatores de custo envolvidos (no nosso caso, não será para todos), se isso acontecer com frequência suficiente, é um bom sinal que precisamos expandir um pouco mais nossa infraestrutura interna.
Haverá certamente uma "base load" que continuamos a correr o tempo todo e, por isso, gostamos de hospedá-la internamente. Provavelmente precisaremos de algumas instâncias sempre ativas na nuvem da concessionária para determinados motivos de aplicativo e de localidade de dados, mas esses devem estar nos dígitos únicos. Esses poucos servidores devem ser capazes de suportar até centenas de nós de processamento de curta duração.
Em meses em que nunca precisamos usar a capacidade de 'aumento', ainda teremos que pagar pelos servidores de carga básica que precisamos para continuar correndo até lá. No entanto, para os outros meses em que temos mais trabalho do que sabemos sobre o que fazer, poderíamos ter centenas de máquinas funcionando a qualquer momento.
Quanto aos cálculos, eu fiz exatamente isso. Requer uma planilha e conhece muito bem o seu ambiente. Eu sabia quantos dados geralmente tiramos em um mês (a largura de banda de transferência), quantas vezes os dados são lidos como parte de nossos métodos de processamento (as taxas de transferência de armazenamento), o que é fator de crescimento para dados processados versus dados de origem (custos de armazenamento de dados), bem como uma estimativa de qual porcentagem durante um mês estamos realmente fazendo o trabalho (as horas utilizadas). Se você não tem isso, é difícil estimar o faturamento com precisão.
Eu pude aproveitar o que sabemos sobre nosso ambiente privado e criar uma planilha que prevê o que algo como a AWS custaria em vez de gerar nossa própria moeda. Foi muito informativo. Em nosso caso específico , o fornecedor de nuvem que estávamos considerando representava de 2x a 10x em custos versus fazer tudo sozinhos. Isso foi muito útil para a alta administração, que estava pensando em ir all-in com aquele fornecedor de nuvem.
Acabamos optando por uma abordagem híbrida, já que a capacidade de surto que a nuvem representa é altamente útil. É uma droga dizer aos clientes que não podemos cumprir seus prazos porque assumimos muito trabalho. No máximo, o recurso de nuvem pode nos ajudar até que possamos obter atualizações de infraestrutura para a nossa fábrica interna.