Desde o dia 7 a 3C Plus vem enfrentando instabilidade recorrente na plataforma em virtude de um problema que identificamos como sendo no balanceamento de carga do serviço de AMD (analise e identificação de chamadas caixa postais e/ou mudas).

No dia 6 de julho ocorreu a ultima atualização de versão, não só da plataforma 3C Plus como também da infra-estrutura Google Cloud Kubernetes Engine, onde nossos serviços estão alocados de forma escalável.

Desde esta atualização estamos sofrendo instabilidade na plataforma, mais especificamente no serviço de "Load Balancer" responsável pela distribuição das requisições de AMD entre os nossos Nodes.

Diagnóstico

Identificamos que, sem aviso prévio, todo o tráfego de análise de ligações é enviado para uma única instância da estrutura, causando na saturação do processador do servidor onde esta instância se encontra.

O serviço responsável pela distribuição deste tráfego é fornecido pelo motor Google Kubernetes, ficando além de nosso alcance modifica-lo ou melhora-lo.

Desde o dia 7 de julho, em que esta falha iniciou, uma série de ações e medidas paliativas e tentativas de correção foram aplicadas em nossos serviços, visando ao máximo manter a disponibilidade da plataforma.

Durante este período trabalhamos intensivamente monitorando de perto e acompanhando se a carga estava sendo distribuída corretamente em todas as instâncias e em todos os momentos onde identificamos que isso não acontecia, o serviço em questão foi parcialmente ou integralmente reiniciado para voltar à normalidade.

O print abaixo é da dashboard da discadora de um de nossos clientes e representa com clareza o momento em que a instabilidade inicia e também o momento em que o serviço é reestabelecido:

Logo no início, mais à esquerda, vemos que o índice vermelho (ligações descartadas devido caixa postal) aumenta, e o índice verde (ligações conectadas com a operação) zera. Isso é o que acontece quando o serviço apresenta o problema, todas as chamadas são descartadas por falta de retorno do sistema AMD, e nenhuma é conectada com a operação. Com isso, os agentes ficam todos ociosos quase que instantaneamente. Após aplicarmos a correção o sistema volta a originar ligações e entregar na operação.

Solução

Após diversas tentativas de solucionar definitivamente este problema -- e não foram poucas -- (tentamos recriar o serviço, mudar a forma de funcionamento dele, de deployment para daemonset, rollback de versão, alocação de novos servidores dedicados para o AMD), nada resolveu o caso.

Acreditamos que a falha possa estar realmente dentro do serviço Load Balancer fornecido pela estrutura Kubernetes Google. Sendo assim, já está prevista uma atualização geral desta, nesta madrugada (30/07/2020 - 01h30 às 03h00) para atualização da versão do sistema GKE que orquestra a nossa estrutura.

Acreditamos que com esta atualização, além de alguns outros ajustes, possamos sanar definitivamente estas falhas, porém, infelizmente, isso ainda é incerto. Visto que analisamos a "change log" (o que foi modificado entre a versão que está rodando hoje e a ultima disponível), e apenas um dos componentes atualizados (ip tables) pode ter relação com o causador deste grave problema.

Conclusão

Como CEO da 3C Plus, eu preciso reforçar que todos os nossos esforços estiveram voltados à este problema desde que o mesmo iniciou. Em momento algum nos deixamos de buscar a solução definitiva.

Entendemos a importância que nossa ferramenta representa para sua operação sabemos o quão impactante estas falhas podem ser e por isso não descansamos do lado de cá.

O maior objetivo que temos é que nosso cliente possa contar conosco em todos os momentos e com a certeza da disponibilidade de nossos serviços, mas também, sabemos que infelizmente problemas no percurso podem acontecer e permanecemos com a mesma postura, em busca de trazer cada vez mais performance para sua operação.

Continue contando conosco.

Atenciosamente,
Diogo Hartmann
CEO @ 3C Plus

Encontrou sua resposta?