The Code Codex
Tema
← Notas / Arquitetura

nota · tabela17 out 2024 · 2 min

Glossário técnico

OK, quem nunca ouviu alguém falar um termo ou sigla que resume bem algo mas você não conhecia?

Por isso, vamos centralizar alguns aqui e incrementar nosso vocabulário de buzzword.

Confiabilidade
TermoSignificado
SPoFSingle point of failure: o componente que centraliza tanta responsabilidade que, se cair, derruba tudo
SLAService Level Agreement: o compromisso com o cliente, geralmente com multa (ex.: 99,9% de disponibilidade no mês)
SLOService Level Objective: a meta interna do time, normalmente mais exigente que o SLA
SLIService Level Indicator: a métrica medida de fato (ex.: % de requisições com sucesso em menos de 300 ms)
MTTRMean Time To Recovery: quanto tempo, em média, leva para voltar ao normal depois de uma falha
RTO / RPOEm desastres: quanto tempo o sistema pode ficar fora (RTO) e quantos dados podem ser perdidos (RPO)
Circuit breakerPara de chamar um serviço que está falhando por um tempo, para não piorar a situação
Dados e sistemas distribuídos
TermoSignificado
ACIDAtomicidade, Consistência, Isolamento e Durabilidade: as garantias de uma transação em banco relacional
Teorema CAPNuma partição de rede, um sistema distribuído escolhe entre consistência e disponibilidade
Consistência eventualOs dados podem divergir por um tempo entre réplicas, mas convergem
IdempotênciaExecutar a mesma operação várias vezes tem o mesmo efeito que executar uma vez (essencial para retries)
BackpressureO consumidor sinaliza ao produtor que está sobrecarregado, para ele desacelerar
Entrega
TermoSignificado
Blue-greenDuas versões em produção lado a lado; o tráfego troca de uma vez e a volta é imediata
CanaryA versão nova recebe uma fração pequena do tráfego antes de ir para todos
Feature flagLiga e desliga uma funcionalidade sem novo deploy
PoC / MVPProva de conceito (dá para fazer?) e produto mínimo viável (vale a pena para o usuário?)
Do dia a dia do time
TermoSignificado
Bus factorQuantas pessoas precisam sair do time para um projeto parar. Se a resposta é 1, há um problema
BikesheddingGastar tempo demais discutindo detalhes triviais enquanto o importante passa batido
Yak shavingA cadeia de tarefas paralelas que você precisa resolver antes de conseguir fazer a tarefa original
ToilTrabalho manual, repetitivo e automatizável que cresce junto com o sistema
KISS / DRY / YAGNIMantenha simples; não se repita; você não vai precisar disso (não construa antes da hora)