Fundamentos da computação em nuvem

Modelos de precificação da nuvem

Sob demanda, capacidade reservada ou comprometida, e preços spot na AWS, na Azure e no Google Cloud: o desconto que cada um troca por um compromisso, e qual carga de trabalho realmente cabe em cada modelo.

Iniciante 18 minutos 4 Objetivos de aprendizado
  1. Explicar por que provedores de nuvem dão desconto em troca de um compromisso de uso, e o que uma carga de trabalho abre mão para ganhar esse desconto
  2. Comparar preços sob demanda, reservado ou comprometido, e spot, pelo tamanho do desconto, pela duração do compromisso e pelo risco de interrupção
  3. Combinar a previsibilidade e a tolerância a interrupções de uma carga de trabalho com o modelo de preço que se encaixa nela
  4. Calcular a economia mensal que um desconto por compromisso produz sobre o preço sob demanda, para um gasto dado

Pagar a mesma tarifa, precise você de flexibilidade ou não

Rode um servidor de banco de dados 24 horas por dia, todos os dias, por 3 anos seguidos, e você continua sendo cobrado exatamente pela mesma tarifa por hora que um time cujo servidor pode ser desligado amanhã. O preço sob demanda foi feito para esse segundo time, o que precisa da liberdade de sair a qualquer momento. Se uma carga de trabalho nunca sai, essa flexibilidade embutida não é de graça. O time que a roda hora após hora está pagando, sem perceber, por uma opção que nunca usa.

Sob demanda: pague exatamente pelo que usar, quando usar

O preço sob demanda não tem pagamento antecipado nem compromisso de longo prazo. A AWS cobra as EC2 On-Demand Instances por hora ou por segundo, com mínimo de 60 segundos, a uma tarifa definida pelo provedor e que não muda conforme o tempo de casa do cliente. Esse é o modelo feito exatamente para o problema que a primeira lição deste domínio abriu: adivinhar quanta capacidade uma carga de trabalho nova ou imprevisível vai precisar. Errar o palpite no sob demanda custa alguns cliques para corrigir, não uma devolução de hardware.

Reservado e comprometido: trocar flexibilidade por desconto

Comprometa-se com um uso estável por 1 ou 3 anos, e um provedor precifica essa certeza em uma tarifa menor. A AWS chama isso de Reserved Instances ou Savings Plans, com desconto de até 72% sobre o preço sob demanda, e um prazo de 3 anos sempre desconta mais do que um de 1 ano, porque remove mais incerteza do planejamento do próprio provedor. O pagamento pode ser dividido de 3 formas: All Upfront, Partial Upfront ou No Upfront, e, em geral, quanto mais você paga antecipadamente, mais profundo o desconto.

As Reserved Instances vêm em 2 classes de oferta, e a diferença entre elas vale conhecer com precisão. As Standard travam o maior desconto, mas a família de instância e a região ficam fixas pelo prazo inteiro; podem ser modificadas dentro de certos limites, mas nunca trocadas por algo diferente. As Convertible abrem mão de parte desse desconto em troca do direito de trocar a reserva mais tarde por uma família de instância diferente, útil para um time que espera que suas necessidades mudem antes do fim do prazo.

Outros provedores vendem a mesma ideia de fundo com nomes diferentes. A Azure chama sua versão de Reserved VM Instances, também com até 72% de desconto sobre o preço pay-as-you-go, e adiciona algo específico do próprio negócio: o Azure Hybrid Benefit deixa uma empresa que já possui licenças de Windows Server ou SQL Server aplicá-las na nuvem, acumulando com uma reserva para um desconto combinado de até 85%. O Google Cloud chama a ideia equivalente de Committed Use Discounts, com até 55% de desconto sobre tipos de máquina padrão e até 70% sobre os otimizados para memória, em troca do mesmo compromisso de 1 ou 3 anos.

O Google Cloud acrescenta um segundo desconto que a AWS e a Azure simplesmente não oferecem: o Sustained Use Discount, aplicado automaticamente, sem nenhum tipo de compromisso. Rode uma VM elegível por mais de 25% de um mês de cobrança, e o Google Cloud começa a descontá-la sozinho, com o desconto crescendo conforme o tempo de execução da VM se aproxima do mês inteiro, até cerca de 30% de desconto. Na AWS e na Azure, um desconto só existe se você se comprometer com ele antecipadamente. No Google Cloud, simplesmente rodar uma carga de trabalho por tempo suficiente já garante um desconto automático. Essa é uma diferença estrutural real em como os 3 provedores precificam compromisso, não apenas 3 nomes para o mesmo mecanismo.

Spot e preemptível: o desconto mais profundo, com uma armadilha real

O preço spot vende capacidade ociosa que um provedor prefere descontar bastante a deixar parada. As EC2 Spot Instances da AWS descontam até 90% sobre o preço sob demanda, mas a AWS pode retomar essa capacidade com apenas 2 minutos de aviso sempre que precisar dela para um cliente sob demanda ou comprometido. As Azure Spot Virtual Machines descontam até 90% sobre a tarifa pay-as-you-go e não oferecem nenhuma opção de reserva. As Spot VMs do Google Cloud descontam até 91%, e podem ser interrompidas a qualquer momento.

Esse modelo cabe em trabalho tolerante a falhas e interrupções: processamento de dados em lote, pipelines de CI/CD, jobs de renderização, qualquer coisa que salve o progresso com frequência suficiente para que uma interrupção custe alguns minutos, não um job perdido.

É tentador tratar o preço spot como simplesmente uma versão mais barata do sob demanda. Não é o mesmo produto por um preço menor. É capacidade fundamentalmente sem compromisso, que o provedor pode retomar sempre que um cliente pagante, sob demanda ou comprometido, precisar dela. Colocar um banco de dados de produção, algo que não tolera um desligamento repentino, em preço spot é um dos erros de otimização de custo mais comuns que times cometem, e uma armadilha frequente em cenários de prova exatamente por esse motivo.

Os 3 modelos, lado a lado

Sob DemandaReservado / ComprometidoSpot / Preemptível
Desconto sobre a tarifa sob demandaNenhum (essa é a base)Até 72% (AWS, Azure), até 70% (Google Cloud)Até 90 a 91%
CompromissoNenhum1 ou 3 anosNenhum
Pode ser interrompidoNãoNãoSim, com pouco ou nenhum aviso
Melhor encaixeCargas de trabalho imprevisíveis, de curta duração ou muito novasCapacidade de base estável e previsívelTrabalho em lote tolerante a falhas e interrupções

Exemplo prático: quanto um compromisso realmente vale

Digamos que uma carga de trabalho roda de forma estável o bastante para que sua fatura sob demanda seja de US$ 1.000 por mês. Comprometa essa carga de trabalho com um Savings Plan de 3 anos no teto anunciado pela AWS, até 72% de desconto, e a mesma carga de trabalho passa a custar cerca de US$ 280 por mês, uma economia de aproximadamente US$ 720 por mês, ou cerca de US$ 8.640 ao longo de um ano, em troca de abrir mão da capacidade de sair sem penalidade.

Esse desconto só compensa se o compromisso realmente for usado por completo. Uma Reserved Instance de 3 anos dimensionada para um projeto cancelado 8 meses depois vira um custo fixo com 28 meses restantes e nada para rodar neles, e é exatamente por isso que assumir um compromisso deve seguir um uso medido e estável, não um palpite sobre crescimento futuro, o mesmo problema de adivinhação que tornava a TI tradicional on-premises tão cara para começo de conversa.

Para onde isso leva

Combine o compromisso com o quanto você tem certeza, e com o quanto uma interrupção realmente custaria. Uma carga de trabalho que roda todo dia pelos próximos 3 anos pertence a uma tarifa comprometida. Uma que consegue perder uma hora de progresso e simplesmente reiniciar pertence ao spot. Tudo o que fica no meio permanece no sob demanda até existir histórico de uso suficiente para se comprometer com confiança. Nenhuma dessas tarifas por hora conta a história inteira, porém: o preço nesta página não é a mesma coisa que o que uma carga de trabalho realmente custa para uma empresa rodar, depois que as pessoas, as ferramentas e tudo o que é construído ao redor também entram na conta. Essa lacuna é exatamente o que o custo total de propriedade mede, e é para onde este tópico vai a seguir.