Performance, escalabilidade e resiliência não são features que você "adiciona depois". São posturas que se aprendem aplicando.
O que você aprendeu
- Escala vs disponibilidade — a diferença entre os "noves" e por que ambas importam.
- Métricas de performance — latência vs throughput, por que a média mente, como medir em percentis.
- Ferramentas — k6 para load testing, pprof para profiling, flame graphs para gargalos.
- Padrões de resiliência — timeout, retry com backoff exponencial e circuit breaker.
- Engenharia do caos — Toxiproxy, Chaos Mesh, GameDay: quebre de propósito, antes que quebre você.
- Monitoramento — Quatro Sinais Dourados, Prometheus + Grafana, SLOs e error budget.
- Projeto guiado — API Go com Toxiproxy, k6, pprof, circuit breaker e Prometheus do zero.
Leituras recomendadas
- Google SRE Book (gratuito): https://sre.google/books/
- Principles of Chaos Engineering: https://principlesofchaos.org/
- Documentação oficial do Go pprof: https://pkg.go.dev/net/http/pprof
- Documentação k6: https://k6.io/docs/
- "Release It!" — Michael Nygard (livro clássico sobre padrões de resiliência)
Comece pequeno: coloque timeout em uma chamada hoje. Plote latência p99 em um dashboard amanhã. Faça um load test essa semana.
A diferença entre o sistema que sobrevive à Black Friday e o que vira meme no Twitter geralmente não está em alguma tecnologia mágica — está nessas práticas chatas, repetitivas, e que ninguém vê. Até o dia em que todo mundo vê.