A conta não é o custo

Prévia grátis 3 min de leitura

Otimização de custo em pequena escala é, em grande parte, sobre outra coisa que não a conta. Começar pela conta produz semanas de trabalho para economizar o preço de um lanche.

Quanto este sistema custa para rodar

Um servidor virtual privado. Ele roda o contêiner da aplicação, os acessórios dela (o Postgres e o corretor de desafios) e o kamal-proxy.

Um nome de domínio e um registro de contêineres, que é gratuito para este uso no GitHub.

O resto é pequeno. As fontes vêm do fonts.bunny.net e parte do JavaScript do cdn.jsdelivr.net, os dois gratuitos neste volume. O armazenamento é o serviço Disk na mesma máquina, então não há conta de object storage. O Cloudflare fica na frente do site, e os backups rodam fora do repositório.

Então a conta de infraestrutura é pequena e fixa: um servidor, um domínio e alguns serviços cobrados por mês ou gratuitos.

Quanto custa operar

Cada hora gasta nele.

Em qualquer valor realista para o tempo de uma pessoa de engenharia, uma única tarde custa mais que um mês daquele servidor, e uma semana de trabalho custa mais que um ano dele.

Essa é a proporção real, e ela inverte o conselho usual. Para um sistema deste tamanho, o recurso caro é a atenção, e o barato é o hardware.

flowchart TB
  C["custo total"] --> I["infraestrutura: um servidor, um domínio"]
  C --> T["tempo do operador: cada hora gasta nele"]
  I --> S["pequeno, fixo, previsível"]
  T --> L["grande, e o que de fato está sendo gasto"]
  L --> D["então otimize para tempo, e compre saída do trabalho"]

O que isso muda

Comprar um servidor maior para evitar uma semana de otimização é aritmética correta. Parece errado para quem é de engenharia, porque a conta é visível e o tempo não.

As otimizações do roadmap feitas antes neste projeto o levaram de cerca de 310 milissegundos para cerca de 72 e custaram horas reais. Valeram a pena porque ensinaram algo e melhoraram a experiência de todos os usuários. Mas "economizou dinheiro" teria sido falso, já que o servidor custou o mesmo antes e depois.

A maior parte do trabalho de desempenho nesta escala é comprada com tempo e paga em qualidade de experiência, e não em dinheiro. Deixar claro qual moeda você está gastando evita que as duas se confundam.

Quando a conta começa a importar

Quando um componente é cobrado por uso, e não por mês. Um servidor custa o mesmo ocioso ou ocupado; object storage, banda de saída e serviços cobrados por requisição não.

Os principais custos desta aplicação não são cobrados assim, e é por isso que a conta dela é estável e sem graça. Uma conta estável e sem graça é, ela mesma, um resultado de projeto que vale notar.

Pontos-chave

  • A infraestrutura aqui é um servidor, um domínio e alguns serviços de preço fixo ou gratuitos.
  • Em qualquer valor realista, uma tarde de trabalho custa mais que um mês daquele servidor.
  • O recurso caro neste tamanho é a atenção; o barato é o hardware.
  • Comprar um servidor maior para evitar uma semana de trabalho é aritmética correta que parece errada.
  • As contas começam a importar quando os componentes são cobrados por uso, e não por mês.
Aula 1 de 7 · grátis

Continue com a aula 2

As decisões que já economizaram

Revê como a pilha Solid, jobs no Puma, armazenamento Disk e um só Postgres reduziram componentes.

Com uma conta grátis você também tem os quizzes, seu progresso e suas anotações, e a discussão.

Digite para buscar...