Postmortem: Interrupção do serviço de autenticação Logto
A 12 de junho de 2025, os serviços Logto em `logto.app` foram brevemente interrompidos devido a uma falha da Cloudflare que afetou o encaminhamento dos pedidos. O problema foi rapidamente resolvido, sem impacto na segurança dos dados ou nos serviços principais.
Resumo do incidente
Entre as 18:07 e as 18:58 UTC do dia 12 de junho de 2025, os utilizadores que acederam aos serviços Logto através do domínio logto.app
(incluindo domínios personalizados) experienciaram erros. A interrupção foi causada por uma falha no Cloudflare Workers KV, que afetou a nossa camada de routing. Os serviços Logto Cloud e Logto Console, que utilizam resolução DNS direta e não dependem do Cloudflare Workers, não foram afetados. O serviço foi restaurado dentro de uma hora, sem impacto na segurança dos dados.
Linha do tempo (UTC)
- 18:07: As APIs do serviço de autenticação Logto começaram a devolver erros 500 para pedidos via
logto.app
. - 18:24: A investigação confirmou que o backend Azure estava saudável, e o problema foi isolado ao Cloudflare Workers e KV.
- 18:48: A Cloudflare reconheceu oficialmente um incidente a afetar Workers e KV.
- 18:58: Implementámos uma solução temporária removendo a lógica de cache, o que restaurou o serviço com possível ligeira degradação do desempenho.
- 21:00: Após a normalização dos serviços Cloudflare, reimplementámos a lógica de cache com fallback elegante. O desempenho total foi restaurado e o serviço está agora resiliente a falhas semelhantes no KV.
Causa raiz
Este incidente foi desencadeado por paragens no Cloudflare Workers KV. O nosso Cloudflare Worker encaminha pedidos para a região Logto correta para cada tenant ou domínio, garantindo residência de dados adequada e conformidade. Para melhorar o desempenho, o Worker usa o KV para armazenar em cache estes mapeamentos de região. Quando o KV ficou indisponível, as operações de cache falharam e o Worker lançou erros em vez de recorrer ao comportamento sem cache, causando a interrupção do serviço.
Os serviços Logto Cloud e Logto Console não foram afetados porque dependem de resolução DNS direta e não utilizam o Cloudflare Workers para routing.
Resolução e melhorias
- Removida a dependência de cache do Worker, restaurando o serviço.
- Após a recuperação do Cloudflare KV, foi reimplementada a lógica de cache com fallback elegante. Se o cache estiver indisponível, o serviço continua a utilizar routing direto sem interrupção.
- Melhorias contínuas na infraestrutura para aumentar ainda mais a resiliência e disponibilidade.
Impacto
- Os utilizadores que acederam ao Logto via
logto.app
experienciaram erros durante cerca de 50 minutos. - Nenhum dado de cliente foi perdido ou comprometido.
- Os serviços Logto Cloud e Logto Console permaneceram totalmente operacionais.
Próximos passos
- Iremos rever e melhorar o nosso tratamento de erros na infraestrutura Edge.
- Iremos analisar utilizar múltiplos fornecedores para a infraestrutura upstream para evitar pontos únicos de falha.
Obrigado pela tua paciência e apoio.