Evernote Logo
Evernote
Obtenha o aplicativo

2023/10/05

Atualização: interrupção de serviço em 4 de outubro, grande migração e melhor infraestrutura

Ontem, o Evernote passou por uma interrupção de serviço entre 04h00 e 06h30, horário do leste dos EUA. Às 09h30, todos os usuários logados puderam usar o aplicativo normalmente. Para limitar o comportamento malicioso, temporariamente limitamos o número de tentativas de login que poderiam ser feitas a partir de uma única conta. Às 11h30 de 05 de outubro, removemos o limite de tentativas de login.

Como resultado destas ações, alguns clientes Evernote podem ter passado pelos seguintes problemas: incapacidade de entrar no Evernote, incapacidade de sincronizar mudanças e lentidão geral no produto.

Por que isso aconteceu?

Uma migração especialmente importante (e complicada)

A interrupção foi causada quando migramos um grande banco de dados responsável por gerenciar logins, novos registros, e informações relacionadas ao perfil de usuário da antiga infraestrutura legacy backend da Evernote, o Monolito.

Ao longo dos últimos meses, migramos incontáveis partes da infraestrutura backend para um sistema mais moderno e confiável. Ontem, realizamos a migração final de dados do Monolito. Com a conclusão deste último pedaço, agora podemos seguir adiante com a transição do sistema inteiro para uma nova infraestrutura e finalmente colocar as bases backend do Evernote em um estado muito mais saudável.

Sair do Monolito em favor de uma infraestrutura mais descentralizada tem sido um objetivo para a equipe Evernote durante muitos anos, e alguns meses atrás, finalmente enfrentamos esta tarefa assustadora, porém essencial.

Se o nome Monolito parece familiar para você, é porque eu falei sobre ele uns tempos atrás quando discutimos como estamos preparando as bases do Evernote para o futuro. Essencialmente, o Monolito é um único aplicativo Java Enterprise Edition gigantesco que move o armazenamento e sincronização de várias entidades dentro do Evernote. O Monolito é extremamente pesado, difícil de gerenciar e acumulou uma dívida técnica significativa ao longo dos anos.

Esta última migração foi de longe a maior e mais desafiadora migração do Monolito até hoje no aspecto técnico, e também foi uma das mais significativas. Agora que isso ficou para trás, finalmente liberamos um grande potencial para fazer melhorias mais rápidas e mais significativas de agora em diante.

Mergulhando fundo no que causou a interrupção

Pensando em minimizar a interrupção de serviço, planejamos a migração do banco de dados para 3h30 da manhã, horário do leste dos EUA no dia 4 de outubro. Porém, quando terminamos a migração e reconectamos os clientes, o Monolito não conseguiu processar uma quantidade maior do que o normal de solicitações de conexão. Infelizmente, fomos forçados a reiniciar o sistema inteiro e gradualmente reintroduzir o tráfego.

Aqui está a linha do tempo do que aconteceu (todos os horários se referem à horário de verão do leste dos EUA, EDT):


4 de outubro

03h30 am

  • A equipe iniciou a migração planejada

04h00 am

  • Com o término da migração, nossos servidores foram sobrecarregados com a quantidade de solicitações enquanto nossos clientes tentavam se reconectar
  • O Monolito não conseguiu fazer o escalonamento para atender à demanda
  • Tomamos uma atitude imediatamente e decidimos bloquear solicitações temporariamente para permitir o reinício dos servidores, o que levou à interrupção
  • Durante este momento, clientes passaram pelos seguintes problemas:
    - Uma experiência lenta e travando bastante no aplicativo
    - Incapacidade de sincronizar notas, vendo ou um status de sincronização que não deu certo, ou uma mensagem de erro dizendo que a sincronização está pausada temporariamente
    - (Se não estava conectado) Incapacidade de entrar no Evernote, ou com um Erro 429 (solicitações em excesso) ou uma mensagem dizendo que o Evernote estava temporariamente indisponível

06h30 am

  • Assim que os servidores foram reiniciados, começamos a permitir que os clientes se conectassem novamente, priorizando as funcionalidades de salvar notas
  • Neste momento, alguns usuários começaram a ver suas funcionalidades do Evernote voltarem ao normal
  • Ao longo das próximas 3 horas, aumentamos o tráfego de maneira metódica e gradual, até que a maioria das funções centrais do Evernote foram restauradas

09h30 am

  • Todos os usuários conectados conseguiram usar o aplicativo normalmente
  • Para continuar a proteger nosso sistema, limitamos temporariamente o número de tentativas de login que poderiam ser feitas a partir de uma única conta
    - Isso foi feito para impedir que atores maliciosos ataquem nosso sistema e comprometam sua estabilidade ou a segurança dos dados de nossos clientes
    - Infelizmente, estes limites se aplicam a atores maliciosos e usuários legítimos igualmente. O resultado disso foi que alguns clientes que tentaram fazer login no Evernote passaram por dificuldades


5 de outubro

11h30 am

  • Introduzimos limites específicos para aqueles que estavam abusando do sistema e retornamos os limites globais ao padrão normal
  • Observamos mudanças positivas no desempenho do Evernote comparado com antes da interrupção, o que significa que a migração teve seu efeito desejado
    - A latência geral está menor do que antes da migração do banco de dados
    - O Editor em tempo real está registrando uma taxa de erros menor do que antes da migração do banco de dados

Neste momento, a interrupção acabou e a migração pode ser considerada como concluída. Se você ainda está passando por dificuldades no login ou sincronização, entre em contato com nossa equipe para receber suporte direto

Um processo melhor de agora em diante

Com o incidente no passado, estamos fazendo uma retrospectiva completa dos eventos que levaram até a interrupção e o que ocorreu durante, para poder melhorar nossos processos no futuro. Isso não vai refletir apenas nos aspectos técnicos, mas também nas nossas comunicações; deveríamos ter sido mais eficazes e rápidos na maneira como nos comunicamos com você.

Em especial, vamos garantir que status.evernote.com será atualizado imediatamente nestas circunstâncias. Não atualizamos esta página até às 10h30 da manhã de ontem (horas após o início do problema), e muitos clientes confusos entraram em contato comigo após passarem por problemas sem haver mais informações disponíveis no site. Por isso, eu peço desculpas.

Interrupções de serviço nunca são agradáveis, e nós agradecemos a sua paciência enquanto trabalhamos para encontrar uma resolução. Neste caso, a interrupção foi uma consequência infeliz de um momento que seria muito emocionante para o futuro do Evernote. Espero compartilhar mais atualizações (positivas!) com você em breve.

- Federico