Not translated yet
This page has no English version yet — you are reading the Portuguese original. Open it on the Portuguese site or ask for a translation.
Confiabilidade¶
Compromissos operacionais factuais da TELECOM TOWER POWER. Métricas baseadas no que está implementado e medido em produção, não em aspiração.
Última revisão: 2026-11-03. Status em tempo real: status.telecomtowerpower.com.br.
SLA por tier¶
| Tier | Disponibilidade mensal | Crédito por violação |
|---|---|---|
| Free | Best-effort | — |
| Starter | 99,5 % (alvo) | — |
| Pro | 99,5 % (alvo) | — |
| Business | 99,9 % (alvo) | — |
| Enterprise | 99,9 % (alvo) / ≥ 99,95 % (contratual) | 10 %, 25 % ou 50 %, por faixa (política de reembolso) |
| Ultra | 99,95 % | definido no contrato |
Do Free ao Business vale o esforço razoável de disponibilidade dos Termos §6.1, sem crédito. A janela de cálculo é o mês civil em UTC. Manutenção programada anunciada com pelo menos 24 h de antecedência (Termos §6.2) não conta como indisponibilidade.
RTO e RPO¶
O Railway é a região primária única; a estratégia de recuperação é restore a partir de backup, não failover quente entre regiões.
| Cenário | RTO | RPO |
|---|---|---|
| Falha de container/instância (Railway) | < 5 min (restart automático) | 0 (stateless) |
| Incidente de região/provedor (Railway) | horas (depende da recuperação do Railway) | ≤ 1 h (backup horário → MinIO na Railway, espelhado na Backblaze B2) |
| Corrupção lógica de banco | ~ 2–4 h (restore do último dump no MinIO da Railway) | ≤ 1 h (backup horário); WAL contínuo para restaurar a um ponto no tempo (PITR) |
| Perda total do projeto Railway | ~ 1 dia (restore do dump espelhado na Backblaze B2, conta independente da Railway) | ≤ 1 h (backup horário) |
Drill semanal automatizado verifica restore de Postgres + assertions de integridade.
Recuperação de desastres¶
Não há failover quente ativo entre regiões — o Railway hospeda a região primária única. A continuidade é garantida por restore a partir de backup:
- Backup automatizado do Postgres → MinIO na Railway (
backup-railway-postgres.yml, noturno, retenção de 14 dias) como linha de base. - Serviço de backup horário (
pg-backup, cron nativo do Railway → MinIO na Railway, retenção de 7 dias): RPO ≤ 1 h. As cadeias noturna, horária e PITR passaram no ensaio de restauração de 05/10/2026 (GET /status/reliability). - Drill de restore semanal (
backup-restore-drill.yml) restaura o último dump em Postgres efêmero e valida integridade. - Cada dump é espelhado fora da Railway, na Backblaze B2 (us-east-005, retenção de 30 dias), junto com o arquivamento contínuo de WAL do PITR (pgBackRest): é essa cópia que cobre a perda total do projeto Railway, e o ensaio semanal restaura a partir dela.
Multi-region ativo / failover quente está fora do roadmap atual por custo e pela natureza majoritariamente reconstruível do dado (as torres derivam de fontes públicas ANATEL/OpenCellID).
O runbook operacional é interno; resumo sob pedido em security@telecomtowerpower.com.br.
Observabilidade¶
- Métricas: Prometheus + Grafana, 15 dias de retenção
- Logs: Loki, 30 dias
- Traces: não são coletados hoje. O serviço Tempo foi aposentado em 12/10/2026: nenhum componente exportava traces para ele
- Alertas: regras de alerta Prometheus versionadas no repositório → Alertmanager → Slack, um canal por severidade (
critical,warninge as demais;send_resolved=true); rota PagerDuty/Opsgenie disponível para tenants Tier-1 com NOC contratado, inerte por padrão - Synthetic monitoring: sondas agendadas no GitHub Actions nos endpoints públicos (apex, api, app, www, status, docs, monitoring, prometheus); o agendamento é de melhor esforço, e o número real de sondas aparece na página de status
- Painel de operação (Grafana, acesso restrito a operadores):
monitoring.telecomtowerpower.com.br
Continuidade do negócio (Bus factor)¶
A empresa é pequena. Tratamos a continuidade como controle de primeira ordem:
| Mitigação | Aplicável a |
|---|---|
| Source code escrow (cláusula opcional de contrato; sem agente de escrow contratado hoje) | Enterprise, Ultra |
| Runbook versionado em git (interno; resumo sob pedido) | Todos |
| Backups automatizados + restore drill semanal | Todos |
| Documentação de arquitetura versionada em git (interna) | Todos |
| CI/CD reproduzível (workflows GitHub Actions versionados no repositório) | Todos |
| Infraestrutura como código (railway.json por serviço, Docker Compose on-prem) commitada | Todos |
| Knowledge base de incidentes em git | Todos |
O escrow é uma cláusula opcional do contrato Enterprise/Ultra e da licença perpétua on-prem (LICENSE-PERPETUAL.md): o cliente recebe o código-fonte completo (exceto dependências de terceiros com licenças incompatíveis) se a empresa deixar de operar. Hoje não há acordo com agente de escrow; agente, gatilhos e custo se negociam nesse contrato.
Histórico de incidentes¶
Página pública de status: status.telecomtowerpower.com.br.
Pós-mortems internos; resumo sob pedido em security@telecomtowerpower.com.br em até 7 dias úteis após incidentes Sev 1 ou Sev 2.
Manutenção programada¶
- Janela preferencial: domingos 04:00–06:00 UTC
- Anúncio: email para todos os contatos de billing com pelo menos 24 h de antecedência (Termos §6.2)
- Tipicamente zero downtime (rolling deploy no Railway); janelas anunciadas só se rolling não for possível
Endurecimento recente (2026-Q2)¶
- Modelo de cobertura em produção:
/coverage/predictresponde com a cadeia ITU-R P.1812/P.1411 + resíduo LightGBM, treinada com 124.309 medições reais de drive-test, agregadas em 76.139 pontos (GET /coverage/claim-readiness); a troca de artefato passa por PR e merge humano, e o ridge-v1 ficou só como fallback. Números ao vivo emGET /coverage/claim-readiness; método em Validação do modelo
- Fila prioritária Enterprise/Ultra: RQ/Redis (fila
ttp_priority), SLA 99.95% no Ultra - Restore drill semanal: assertions de integridade em
towers,api_keys,alembic_versiontoda segunda 07:15 UTC
Limitações conhecidas¶
- Região única: o Railway hospeda a região primária única; não há failover quente entre regiões. A recuperação de desastres é por restore a partir de backup (MinIO na Railway + espelho na Backblaze B2). Multi-region ativo está fora do roadmap atual por custo.
- Sem auditoria SOC 2 / ISO 27001 externa hoje, e sem certificação. Questionário de segurança sob pedido em security@telecomtowerpower.com.br.
- Equipe pequena: fora do horário comercial (UTC-3), a cobertura é 12×5 no Business, 24×5 no Enterprise e 24×7 só no Ultra, sob contrato (SLA por tier).