AnúnciosBlog da KondutoProteja sua loja

Líderes de engenharia revelam os segredos da operação 100% da Konduto na Black

Por 4 de dezembro de 2019 Nenhum comentário
Milton Tavares Neto (foto) é CTO e cofounder da Konduto

E mais uma Black Friday terminou. Depois de meses de preparação e dias de muito trabalho, está na hora de ver o que deu certo para o seu negócio, o que não funcionou bem e o que deve ou não ser mantido para a edição de 2020 do evento que cresce ano após ano no Brasil.

Assim como toda a cadeia que envolve o e-commerce e o mercado de pagamentos digitais, nós na Konduto também estamos fazendo este balanço. E aqui no melhor antifraude do mercado o saldo felizmente é bastante positivo.

Conforme mostramos neste artigo aqui, conseguimos evitar mais de R$ 31 milhões de fraudes ao comércio eletrônico nacional nos quatro principais dias de promoção (quinta, 28 de novembro, a domingo, dia 1º de dezembro). Neste período, analisamos mais de 3,1 milhões de pedidos de 4 mil lojistas, sendo que a média chegou a 15 pedidos analisados por segundo na sexta-feira, dia 29.

Diante de dados como estes, muita gente costuma nos perguntar coisas como “o sistema ficou sobrecarregado”? Ou mesmo “quanto tempo o sistema de vocês ficou fora do ar”? A resposta para a primeira pergunta é “não” e para a segunda é “nem um segundo sequer”.

Sim, pelo terceiro ano seguido, nossa instabilidade na Black Friday foi zero. E aí surge a pergunta: “E como vocês conseguem”? Para responder essa, chamamos quem entende do assunto: Milton Tavares Neto, CTO e cofounder da Konduto, e Adriano Oliveira, nosso engenheiro e tech lead – o Dricão, aliás, mora na Polônia, mas pegou a ponte aérea Varsóvia-São Paulo em novembro para passar a Black ao lado de todo o nosso time.

Acompanhe o bate-papo abaixo e saiba os nossos segredos!

Blog da Konduto: Quando começa a programação dos nossos desenvolvedores para a Black Friday?

Dricão: Existem dois tipos de movimentos feitos do lado da engenharia: longos e curtos. Os movimentos longos são medidas que tomamos no decorrer do ano pensando no volume de transações da Black. São coisas mais demoradas, que exigem tempo para maturar e validar e que não dão para fazer na última hora. Já os movimentos curtos, que envolvem ações temporárias e específicas para a Black, começam um mês antes dela.

Blog da Konduto: Como a gente se programa para ter um aumento de mais de 100% dos pedidos em apenas um dia?

Milton: A gente está sempre medindo como o sistema se comporta com a carga durante o dia. Medimos tudo: quanto tempo demora pra cada parte do código rodar, quanto de memória/CPU está sendo consumido dos servidores e bancos de dados, etc. Então temos uma boa ideia da performance do sistema.

Além disso, periodicamente (e perto da Black, é claro), fazemos um teste de estresse no sistema, que é quando mandamos muitas análises por segundo, para ver como ele se comporta com uma carga forte. E o que vemos é que o sistema consegue suportar uma carga ainda maior do que tivemos na Black com tranquilidade.

Com esse processo, a gente conhece onde estão os gargalos do sistema e temos ideia de quando precisamos fazer mudanças para melhorar.

Blog da Konduto: Para não correr riscos de publicar algo “bugado”, quando a gente encerra as atualizações de sistema antes da Black?

Milton: Duas ou três semanas antes. Um ponto importante é que o time de engenharia tem muitos testes automatizados no sistema para garantir que ele funcione como esperado. Cada servidor/código novo passa por essa bateria de testes e qualquer erro no processo evita que um código bugado entre em produção.

Com isso, a gente tem bastante confiança de que os códigos que colocamos no ar são corretos. Mas Black é Black, né pai? Todo cuidado é pouco para não deixar nossos clientes na mão no dia mais importante do e-commerce. Então preferimos fazer esse “code freeze” de duas ou três semanas. A gente continua desenvolvendo, mas ninguém sobe.

Blog da Konduto: E como é feito o monitoramento durante a Black pela área de devs?

Dricão: Existem quatro vias de informação. Vocês me deixam responder esta em itens?

Milton: É claro.

Blog da Konduto: Fique à vontade!

adriano-oliveira

Adriano é o tech lead da Konduto e mora na Polônia, mas passou a Black conosco em SP

Dricão: Então vamos lá. O item um são dashboards gráficos contendo diversos indicadores, desde memória ocupada por cada servidor, passando pelo número de requisições, chegando em cada API até a proporção da recomendação que respondemos para cada loja. Olhando para estes gráficos conseguimos captar tendências ou problemas que podem estar acontecendo.

O segundo item são os logs de aplicação. Ficamos atentos a eles para detectar coisas que podem dar errado e para ver que a aplicação está se comportando como esperamos.

O terceiro são os alertas. Como pessoas olhando para gráficos e logs podem falhar, configuramos alertas para quando determinados gráficos ultrapassam certo limite, ou quando uma linha de log apareceu quando não deveria. Os alertas automatizados quando disparam nos enviam e-mails, apitam em nossos celulares e, se precisar, eles podem até ligar para o celular do Tom (Canabarro, CEO da Konduto).

Finalmente, o item quatro é o monitoramento ativo. De tempos em tempos, rodamos comandos no banco de dados para checar se os dados parecem ok. Podemos entrar diretamente nos servidores em produção para ver se não tem nada de estranho e revisar os alertas e gráficos.

Blog da Konduto: Para o pessoal não achar que foi tuuuuudo perfeito, tivemos um delay de 15 minutos no nosso portal. O que houve?

Dricão: Um banco de dados que usamos especificamente para leitura de dados do portal e análises internas sobrecarregou em um momento da Black Friday. Tipicamente ele é atualizado em tempo real. Mas por alguns minutos a sobrecarga fez com que ele demorasse mais que o normal para ter as informações mais atualizadas vindas do banco de dados principal. Solucionamos o problema diminuindo a carga interna e dando prioridade para operações feitas pelo portal. Fica a lição de que precisamos prever e prevenir este tipo de sobrecarga mais rapidamente no futuro.

Só que é importante dizer que este delay não causou impacto nas análises dos pedidos: eles apenas demoravam alguns minutos para serem atualizados no portal. A nossa API se manteve 100% estável durante todo o tempo (durante todo o ano de 2019 está sendo assim) e realizou as análises de pedidos normalmente. Desde o primeiro momento comunicamos este delay na nossa página de status e resolvemos bem rapidamente.

Blog da Konduto: Falando na página de status, qual a importância de ter uma página disponível a todos?

Dricão: Nenhum sistema é infalível. Até o Google tem problemas de vez em quando. Nossos clientes e parceiros precisam saber o mais prontamente possível quando algum componente do sistema não estiver funcionando como esperado para que eles reajam em tempo hábil. Além disso, é uma medida de confiança. Conseguimos mostrar no decorrer do ano o quanto nossos serviços são confiáveis com dados reais.

Milton: Concordo, é importante. Sempre que detectamos algo, postamos lá por transparência com os clientes. Isso passa confiança às pessoas quanto à confiabilidade do sistema da Konduto, e lá também explicamos os eventuais problemas que temos. Acreditamos que todo serviço deveria ter uma página de status aberta.

Blog da Konduto: Já são três Black Fridays com uma operação bem grande, e em nenhuma delas ficamos fora do ar. Como vocês veem isso no âmbito da equipe de dev?

Dricão: É um grande feito. É realmente bonito de ver o resultado de um sistema bem projetado e implementado. Pode soar clichê, mas nada disso seria possível sem um excelente trabalho em equipe. A dedicação do time em querer resolver os problemas e encontrar com a melhor solução possível é inspiradora. Que novos desafios venham, vai ser um prazer encará-los juntos.

Milton: Também acho chique. Mostra a maturidade do processo de desenvolvimento, da arquitetura do nosso sistema e da nossa operação de desenvolvimento e de monitoramento. Orgulho do time.

Blog da Konduto: Já que estamos há três Blacks sem cair, que tal pedir uma música, assim como os jogadores fazem no Fantástico depois de marcarem três gols?

Dricão: Fico com Never Gonna Give You Up, do Rick Astley!

Milton:
É uma boa escolha.

Blog da Konduto: Show. Muito obrigado pela atenção, amigos. Parabéns pelo trabalho e que venha a Black 2020!

Newsletter da Konduto

Eduardo Carneiro

Autor Eduardo Carneiro

Eduardo é jornalista formado pela Cásper Líbero e trabalhou em sites como Gazeta Esportiva, Terra e UOL ao longo da carreira. Na Konduto desde junho de 2019, escreve sobre as novidades do mundo da fraude e arrisca imitações de celebridades.

Mais posts de Eduardo Carneiro