AWS - Custos que todo programador deveria saber

Image for post
Image for post
Pensando em economizar? Planejar sua arquitetura é essencial para reduzir custos. — Créditos Imagem

O título deste post é uma referência direta aos números de latência que todo programador deve saber. Hoje em dia existem várias versões desses números disponíveis por aí e não consegui encontrar o autor original com 100% de certeza. Algumas pessoas atribuem os números originais a Jeff Dean.

Ao trabalhar em um projeto que atingirá uma certa escala, você precisa equilibrar várias preocupações. Que suposições estou fazendo e como as confirmo? Como posso entrar no mercado rapidamente? Meu design suportará a escala esperada?

Um dos problemas associados à escala é o custo da sua infraestrutura. Os provedores de nuvem permitem que você provisione milhares de CPUs e armazene terabytes de dados na ponta de um dedo. Mas isso tem um custo, e o que é insignificante para alguns milhares de usuários pode se tornar um furo no orçamento quando você alcança milhões de usuários.

Neste artigo, vou listar números de referência que considero úteis para ter em mente ao considerar uma arquitetura. Esses números não são destinados a uma estimativa precisa do orçamento. Eles estão aqui para ajudá-lo a decidir se seu design faz sentido ou está além do que você poderia pagar. Portanto, considere as ordens de grandeza e valores relativos ao invés dos valores absolutos.

Considere também que sua empresa pode obter descontos da AWS, e eles podem fazer uma enorme diferença.

Computação

Qual é o custo de uma CPU nos dias de hoje? Eu usei o incrível ec2instances.info para extrair o preço médio de uma vCPU.

Você pode obter os dados de origem do repositório do Github. Eu os copiei e processei usando um script em Python que você também pode encontrar no Github. Todos os preços são para a região eu-west-1.

Custo médio mensal

  • 1 vCPU moderna (4 AWS ECUs) — $58/mês

Calculei o preço à vista com base em dados informais que recebi de várias fontes. Como os preços variam dentro de um dia e não consegui encontrar uma fonte de dados confiável para eles.

A AWS representa o poder de computação de suas máquinas nas Unidades de Computação Elástica (Elastic Compute Units) e 4 ECUs representam mais ou menos o poder de uma CPU moderna. Portanto, os preços acima são para uma CPU ou núcleo, não uma instância.

Aqui está o preço de 1 ECU em $ por hora em todos os tipos de instância que eu olhei:

Image for post
Image for post

E veja como a sob demanda (on-demand) se compara a reservas de um ano e três anos (ambos com instâncias conversíveis e pagamento adiantado):

Image for post
Image for post

Armazenamento

Então você quer baixa latência, alta taxa de transferência e está planejando armazenar tudo no Redis? Então, além desses custos de CPU, você precisará pagar pela RAM.

Eu usei a mesma abordagem para extrair o preço médio de 1GB de RAM no EC2. O Elasticache é mais ou menos o dobro do preço on-demand, mas os preços caem rapidamente quando se olha para instâncias reservadas.

Custo médio mensal

  • 1 GB de RAM — $10/mês

Créditos

Written by

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store