Quando entregamos um sistema para um cliente com SLA (Service Level Agreement) de 99.9% de uptime, não estamos prometendo sorte. Estamos descrevendo o resultado de um conjunto de práticas que qualquer equipe séria deve seguir.
O que significa 99.9%?
99.9% de uptime equivale a no máximo 8.7 horas de downtime por ano, ou cerca de 43 minutos por mês. Parece muito? Não se for por falha humana, deploy mal feito ou ausência de monitoramento.
As práticas que garantem alta disponibilidade
1. Blue-Green Deployments
Nunca fazemos deploy "por cima" de produção. Sempre existe um ambiente paralelo (green) que recebe a nova versão. Quando validado, o tráfego é redirecionado. Em caso de problema, o rollback é instantâneo.
2. Health Checks e Circuit Breakers
Todos os serviços expõem endpoints de health check. Balanceadores de carga verificam constantemente. Se um nó cai, o tráfego é redistribuído em segundos, antes do usuário perceber.
3. Observabilidade Real
Logs estruturados, métricas de latência/throughput/error rate, e alertas proativos. Quando algo ameaça o uptime, somos notificados antes do cliente. Usamos Grafana + Prometheus ou Datadog dependendo do projeto.
4. Database com Failover Automático
PostgreSQL com replicação síncrona. Em caso de falha do primário, o réplica assume em milissegundos. Zero data loss, zero intervenção manual.
5. Infraestrutura como Código
Terraform ou Pulumi para toda infraestrutura. Um ambiente pode ser recriado do zero em minutos. Reduz drasticamente o risco de "drift" entre ambientes.
A cultura por trás do uptime
Alta disponibilidade é antes de tudo uma cultura. Times que se responsabilizam pelos sistemas que constroem, que praticam game days (simulações de falha) e que fazem blameless post-mortems evoluem consistentemente.
Na Stackfy, todo projeto começa com um mapa de dependências críticas e um plano de contingência. O uptime não é feature — é requisito.
