Olá @Joao Bellia @Alexandre Richter @Natasha Ramuth @Thiago Souza Silva e @Geovana Azevedo e todos os clientes VTEX,
Estou aqui representando o time do VTEX IO, que foi o serviço que causou esse problema de ontem. Estamos muito chateados com o que aconteceu porque estamos trabalhando o máximo que podemos para garantir que coisas assim não se repitam. Infelizmente, dessa vez nós erramos e viemos aqui pedir desculpas publicamente e explicar por que estamos pedindo um voto de confiança.
Entendemos que é muito ruim para nossos clientes, vocês lojistas, ficarem sem seus ambientes administrativos, mesmo que por períodos muito curtos. Nós tomamos a decisão de migrar os sistemas administrativos para o VTEX IO porque acreditamos que a nova plataforma já estava estável o suficiente. Ficamos muito frustrados quando vimos que estávamos enganados e, desde então, voltamos todos os esforços do nosso time de infraestrutura para garantir mais estabilidade e performance para o VTEX IO. Para complementar o que o Mateus Saggin falou, vamos explicar um pouco em mais detalhes o que causou o incidente de ontem, que sabemos que foi particularmente ruim.
Ontem, às 10:10 da manhã, foi lançada uma versão nova de uma aplicação responsável por mostrar as páginas que são feitas com o VTEX IO, que atualmente são os Admins. Nossos times são bastante independentes entre si, mas é uma prática comum nos comunicarmos com quem pode ser afetado por uma nova versão que lançamos. Nesse caso, as pessoas que lançaram a nova versão não acreditaram que ela poderia causar nenhum problema e não entraram em contato com o time de infraestrutura e essa falha de comunicação foi a grande causadora da nossa queda.
Esse serviço aumentou em mais de 100 vezes o número de chamadas que ele fazia. Por não estarmos cientes dessa mudança, não preparamos a nossa infraestrutura para isso e, pouco menos de uma hora depois, ficamos sem recursos para lidar com esse aumento imenso da carga e caímos. Ainda em função do problema de comunicação, não conseguimos identificar imediatamente a causa do problema. O processo de resolução de incidentes envolve, naturalmente, voltar todas as versões para o último estado saudável do sistema, mas o tempo entre o lançamento da nova versão e o primeiro momento em que sentimos o impacto acabou desviando muito a nossa investigação e, por isso, pedimos desculpas.
Não quero entrar demais em detalhes técnicos, então vou falar agora sobre o que estamos fazendo para que isso não se repita.
- Os nossos serviços já contam com uma proteção para esse aumento súbito do número de chamadas (“throttling”) que pode conter o dano causado por mudanças como a de ontem. Infelizmente, ainda estamos ajustando alguns parâmetros para que essa funcionalidade possa ser usada e ficamos muito frustrados de isso ter acontecido quando estamos tão perto de resolver essa questão;
- Temos um engenheiro trabalhando 100% do tempo em um novo sistema cuja função é identificar quando lançarmos uma versão defeituosa de algum serviço e voltar para a última versão estável automaticamente antes mesmo de os efeitos serem sentidos pelos usuários;
- Estamos trabalhando para diminuir o uso de recursos de cada chamada de modo que teremos mais folga para aumentos repentinos como o de ontem. Isso tem ainda o benefício de tornar os sites mais rápidos, o que sabemos que também aumenta as vendas;
- Também temos uma iniciativa de replicar toda a nossa infraestrutura para que qualquer problema possa ser resolvido desligando a réplica que está com defeito e deixando os clientes em uma versão que esteja saudável.
Novamente, pedimos desculpas pela instabilidade recente, mas reiteramos que temos todo o nosso time está focado em resolver isso e oferecer a melhor experiência para lojistas e consumidores. Infelizmente, como bem disse o Mateus, não é possível evoluirmos sem nunca errarmos. Apesar disso, estamos comprometidos com a tarefa de diminuir o número desses erros e diminuir o impacto daqueles que não pudermos evitar. Agradecemos pela paciência e espero que vocês possam perdoar nosso deslize de ontem.
Atenciosamente,
Time do VTEX IO