Instabilidade no Serviço de Integração - IDCheck e IDTrust - Fluxos 1:N

Incident Report for unico

Postmortem

Postmortem: Indisponibilidade do Serviço de Biometria Facial 1:N

Resumo

Em 4 de julho de 2025, entre 13:28 BRT e 14:31 BRT, nosso serviço de reconhecimento facial 1:N experimentou uma indisponibilidade total para todos os nossos clientes. A causa principal foi a saturação do nosso banco de dados de busca vetorial, desencadeada por um volume de tráfego inesperadamente alto de um cliente e por um comportamento de novas tentativas (retries) agressivas de sistemas internos. A situação foi exacerbada por um pico de latência no banco de dados durante um processo de redução automática de nós.

Impacto

Durante o período do incidente, todas as chamadas para as capacidades de validação facial 1:N, que incluem serviços de confiança de identidade, pontuação de identidade e token biométrico, resultaram em erros ou timeouts para os clientes. Isso significa que as operações que dependiam dessas funcionalidades ficaram completamente indisponíveis.

  • Início da Degradação: 04/07/2025, 13:28 BRT
  • Fim/Estabilização: 04/07/2025, 14:31 BRT
  • Duração Total: 1 hora e 4 minutos
  • Detecção: 04/07/2025, 13:28 BRT (via alertas de alta taxa de erros)

Causa Raiz

A indisponibilidade foi resultado de uma combinação de fatores:

  1. Tráfego Inesperado e Falha no Controle de Fluxo: Um cliente gerou um volume de requisições significativamente acima do esperado. Nossas regras de controle de tráfego, que deveriam limitar esse volume, não foram aplicadas corretamente devido a uma configuração específica em um cabeçalho de autorização, permitindo que o tráfego excessivo bypassasse os controles.
  2. Pico de Latência no Banco de Dados: Um processo de redução automática de nós no nosso banco de dados de busca vetorial (Spanner) gerou um pico de latência. Esse comportamento, embora conhecido em certas condições de redução de nós, foi o gatilho inicial para uma cascata de problemas.
  3. Retries Agressivos de Sistemas Internos: Em resposta aos erros de timeout gerados pelo pico de latência no banco de dados, nossos sistemas internos iniciaram um volume agressivo de novas tentativas de requisição. A lógica de tratamento de erros em um de nossos componentes não estava configurada para ativar um mecanismo de proteção (circuit breaker), o que impediu que essas novas tentativas fossem contidas, sobrecarregando ainda mais o banco de dados.

Resolução

Para restabelecer o serviço, as seguintes ações imediatas foram tomadas:

  • Desativação temporária de serviços internos que estavam contribuindo para a sobrecarga.
  • Ajuste manual da configuração do banco de dados para evitar novas reduções automáticas de nós e garantir capacidade máxima.
  • Restabelecimento gradual do ambiente para evitar saturação adicional da infraestrutura.

Com essas ações, o ambiente se estabilizou e os serviços foram restabelecidos por volta das 14:31 BRT.

Lições Aprendidas

Este incidente nos proporcionou valiosos aprendizados, que serão utilizados para fortalecer a resiliência de nossos sistemas:

  • Prevenção: A necessidade de implementar controles de tráfego mais robustos e granulares por endpoint, além de revisar as exceções existentes para garantir que não haja brechas.
  • Detecção: A importância de instrumentar todas as aplicações que interagem com nossos serviços críticos para ter visibilidade completa do fluxo de requisições, especialmente em cenários de alto volume.
  • Mitigação: Aprimorar o tratamento de erros em nossos componentes para garantir que os mecanismos de proteção, como os circuit breakers, sejam ativados corretamente em caso de degradação do serviço. Além disso, buscaremos melhorias junto aos nossos provedores de infraestrutura para mitigar picos de latência durante operações de escalonamento de banco de dados.

Estamos empenhados em garantir estabilidade de nossa plataforma com ações de melhoria contínua.

Agradecemos a compreensão, Equipe Unico!

Posted Jul 15, 2025 - 19:38 GMT-03:00

Resolved

Incidente resolvido. Após monitoramento, validamos que o retorno das requisições está estável e funcionando corretamente.
Posted Jul 04, 2025 - 14:48 GMT-03:00

Monitoring

Prezado Cliente,

Nossa equipe identificou as causas e realizou as ações para que este incidente fosse solucionado.
Dentro de alguns dias compartilharemos maiores detalhes através de um Postmortem.

Pedimos desculpas pelo transtorno e nos colocamos à disposição para sanar dúvidas através dos nossos canais de atendimento.
Atenciosamente, Equipe Unico!
Posted Jul 04, 2025 - 14:35 GMT-03:00

Update

Prezado Cliente,

Nossa equipe de tecnologia atuou fortemente pra restabelecer o ambiente. Neste momento segue status por capacidade:

ID Trust (Alerta de Comportamento) - operacional
ID Check (Token Biométrico) - operacional.
ID Check (Score de Risco) - operacional.
ID Unico (Verificação de Identidade) - operacional.
ID Pay - operacional.
IDSign - operacional.

Agradecemos a compreensão!
Posted Jul 04, 2025 - 14:34 GMT-03:00

Update

Prezado Cliente,

Nossa equipe segue trabalhando e estabilizando o ambiente. Segue atualização das capacidades que estão sendo restabelecidas:
ID Trust (Alerta de Comportamento) - operacional
ID Check (Token Biométrico) - operacional.
ID Check (Score de Risco) - capacidade segue degradada, mas os times estão trabalhando na resolução.
ID Unico (Verificação de Identidade) - operacional.
ID Pay - operacional.
IDSign - operacional.
Posted Jul 04, 2025 - 14:00 GMT-03:00

Identified

Prezado Cliente,

Nossa monitoração identificou uma lentidão podendo seguir de indisponibilidade, afetando as capacidades/produtos do ID Check e IDTrust(alerta de comportamento), causando impacto de dependências nas integrações By Unico e By Client.
Nosso time de tecnologia está trabalhando para identificar e resolver o problema com brevidade.
Posted Jul 04, 2025 - 13:48 GMT-03:00
This incident affected: IDCloud | Check (Score de Risco (API)) and ID Cloud | IDTrust (IDTrust | Alerta de Comportamento (API)).