Dez pessoas em 90 mil sites: como não enlouquecer

Olá, meu nome é Vera Sivakova. Eu trabalho com os principais parceiros da Yandex.Kassi - conecto grandes lojas e serviços, lanço projetos e viajo para reuniões em todo o mundo. Em geral, eu sigo que estava tudo bem.


Todo funcionário da Yandex.Money pode mudar de profissão uma vez por ano - escolha um departamento e trabalhe lá por vários dias. Portanto, há um mês, sentei-me em Sapsan e cheguei a São Petersburgo. Um departamento de monitoramento trabalha lá, que também monitora que 90.000 sites conectados à bilheteria estão indo bem e decidimos unir forças.



Como não enlouquecer? Não é exatamente o mesmo (fonte: reddit.com)


Esta é uma história sobre como nosso monitoramento funciona e o que aprendi em alguns dias em outro departamento.


A cada segundo, cerca de 600 transações passam pelo serviço e tudo isso precisa ser monitorado em tempo real - mas a que horas é hora de soar o alarme se algo acontecer? Precisamos de uma visão sistemática de quase tudo.


É uma boa prática analisar o sistema do ponto de vista técnico e não esquecer as métricas de negócios - o número de pagamentos, rotatividade e outros parâmetros.


Em sistemas pequenos, o olhar atento do administrador principal (geralmente o único) é suficiente. Porém, quando existem muitos processos, os funcionários não podem monitorar tudo manualmente, portanto a automação máxima será a melhor estratégia. Nada funcionará sem o conhecimento especializado e os esforços da equipe, pois o monitoramento é a melhoria contínua, a análise e a capacidade de escolher métricas e gatilhos competentes. Eles trabalharão em caso de desvio das condições fornecidas e reportarão uma anomalia.


Nós distinguimos três níveis de monitoramento, cada um com seus próprios indicadores importantes - o nível do sistema, o nível da lógica de negócios e o nível das contrapartes.


Nível do sistema


O mais importante aqui é o monitoramento 24 horas da infraestrutura. Das ferramentas que usamos o Zabbix para coletar dados em tempo real - ele notifica sobre a operação de servidores e data centers, a qualidade da rede, a disponibilidade de componentes e fontes de dados.


O monitoramento da infraestrutura de TI é um trabalho muito responsável, pois a falha nesse nível é repleta de inoperabilidade do sistema e medidas desesperadas. Portanto, é importante não apenas responder a problemas "intermitentes", mas também analisar tendências e dados históricos - isso permitirá um aviso oportuno de possíveis pontos de falha e prevê a necessidade de dimensionamento. A regra funciona para todos os indicadores e níveis de monitoramento, incluindo negócios.


Para pontos críticos, os limites do gatilho devem ser selecionados abaixo. Por exemplo, se o tempo de resposta de um roteador aumentar, transferimos o tráfego para outro e eliminamos a causa no primeiro. Isso acionou um gatilho de aviso, que permite que você receba notificações de possíveis problemas muito cedo, o que fornece uma reserva de tempo para resposta, a capacidade de prever alterações e evitar desastres.


Nível de lógica de negócios


Cada equipe define os processos que precisam ser rastreados, suas prioridades e métricas pessoais. Por exemplo, a equipe do Caixa possui dezenas de processos de negócios, como pagamento por cada método disponível - cartões, carteiras eletrônicas, através de bancos e terminais on-line, comércio móvel, registros de envio etc. Como ferramenta principal para coletar e exibir dados sobre o trabalho da lógica de negócios, usamos o Grafite em conjunto com o Grafana.


Nesse nível, é importante aderir a uma abordagem sistemática e tentar se afastar dos binários e pouco informativos "funciona / não funciona".


Por exemplo, existe uma métrica "Número de pagamentos com cartão bem-sucedidos". Se começar a piscar, significa que o fluxo de trabalho diminuiu. Nesse caso, você precisa entender qual é exatamente o motivo e levar em consideração todos os componentes envolvidos nesse processo. No caso de uma diminuição no número de transações, você pode pensar imediatamente no fato de que existem dificuldades do lado do banco adquirente. Mas os gráficos mostram que, com a disponibilidade dos bancos, está tudo bem. Então você precisa investigar mais, e no final, por exemplo, todas as perguntas estão no layout: por algum motivo, o botão "Pagar" desapareceu ou ficou inativo.


Nível da contraparte


Aqui estamos falando de contrapartes específicas - por exemplo, a aquisição de bancos e comerciantes.


Selecionamos agendas e gatilhos separados para adquirentes, cuja disponibilidade devemos rastrear o tempo todo. Para nós, como serviço de pagamento, a estabilidade é muito importante, portanto, no caso de uma falha de um dos bancos, transferimos imediatamente o fluxo para a reserva.



Um banco falhou, mas outro conectado automaticamente


Aprendemos a redirecionar o fluxo de trabalho razoavelmente bem e em tempo hábil se ocorrerem erros.



Um dos bancos registrou um aumento nos erros de pagamento



Traduzido - e está tudo em ordem. Os valores do eixo Y não são proporcionais


Os adquirentes podem falhar por vários motivos nos níveis já descritos - sistemas e lógica de negócios. Ninguém está imune a problemas imprevistos e não pode garantir 100% de disponibilidade. Também vale a pena lembrar sobre o trabalho técnico planejado e as liberações, quando você precisa monitorar de perto o andamento dos negócios. A questão da redundância e troca automática é crítica, pois simples significa interromper os pagamentos para os negócios.


Trabalhamos com vários bancos ao mesmo tempo para minimizar os riscos de inatividade e otimizar os pagamentos com cartão SR. SR (taxa de sucesso) ou a conversão é uma métrica comercial calculada como a proporção do número de pagamentos bem-sucedidos e o número total de transações. Diferentes empresas avaliam a conversão da sua maneira: por exemplo, alguém começa a avaliar na página de pagamento, outras depois de clicar no botão "Pagar". Mas, em geral, o SR é influenciado por muitos fatores diferentes - MCC, se há 3D-Secure no pagamento, na geografia dos pagadores, nos pagamentos recorrentes ou não. A SR “média hospitalar” é impossível de determinar e não precisa saber - em cada caso, será seu próprio valor, que deve ser otimizado.


Toda a variedade de erros pode ser dividida em dois grandes grupos.


  1. Erros que podem ser evitados - por exemplo, o pagamento deste país é proibido. Se você tem certeza de que este não é um ataque fraudulento e possui usuários em todo o mundo, nesse caso, é necessário conectar a possibilidade de pagamento com cartões de qualquer emissor. A propósito, isso pode ser feito na conta pessoal do Yandex Cashier.
  2. Erros que não podem ser influenciados - por exemplo, o cartão está bloqueado. Aqui, apenas a reemissão ou uma tentativa de repetir o pagamento com outro cartão como parte de uma nova transação ajudará.

Muitos escolhem um provedor de pagamento a uma taxa. De fato, a taxa não é o único valor que deve ser levado em consideração. Você também precisa observar a porcentagem de pagamentos bem-sucedidos (SR) - porque ninguém tem 100% de conversão e esse valor varia muito de banco para banco. Também é necessário considerar como o cenário do usuário se parece em geral: quantas etapas você precisa executar antes de pagar, se a interface está limpa etc.


Como a conversão afeta os lucros



No segundo caso, a comissão por serviços é maior, mas a conversão também é maior, porque são usadas reserva e configuração adequada do gateway.


Como pode ser visto no exemplo, uma solução melhor para a empresa seria prestar um serviço melhor e, apesar de a comissão ser maior devido à diferença na qualidade da aquisição, no final temos 3 538 080 - 2 847 000 = 691 080 rublos por mês! E isso é 8 milhões por ano, o que é muito dinheiro para os negócios.


Conversão, rotatividade e taxas são arbitrárias, mas o exemplo demonstra que o principal no serviço é sua estabilidade e qualidade. E isso já implica uma maior conversão e, como resultado, uma maior rotatividade do comerciante.


Como o comerciante está conectado


Como mencionado anteriormente, tentamos cobrir tudo com métricas e gatilhos que disparam automaticamente em um evento. Vamos ver como tudo acontece no exemplo de monitoramento de um dos comerciantes.


Após conectar-se ao Caixa, o comerciante, se necessário, é monitorado. Criamos um gráfico no Grafana e configuramos as métricas pelas quais os alertas automáticos são acionados em caso de desvio dos valores "normais" fornecidos.


Usamos o Moira para enviar notificações para o bate-papo do grupo de monitoramento, que verificará rapidamente os detalhes. A notificação contém um link para a programação e os detalhes do incidente.



Absolutamente um exemplo real de uma mensagem de um bot


Após analisar o gráfico, o especialista do grupo de monitoramento costuma usar o Kibana para visualizar os logs. Aqui a situação pode ser prosaica e, nos registros, obviamente, um erro será visível ou será necessária uma participação adicional de analistas para analisar as causas da falha.


No futuro, queremos configurar a notificação automática dos comerciantes sobre erros do lado deles, por exemplo, sobre inacessibilidade do servidor ou respostas não relacionadas ao protocolo. Isso permitirá que você responda rapidamente a uma falha e forneça informações às contrapartes para eliminar as causas.


Além do lado técnico, também monitoramos cuidadosamente as métricas de negócios, como rotatividade, receita e saída, mas esse parece ser o tópico das histórias a seguir.


A coisa mais importante


Meu "dia de desobediência" (que é o que chamamos de transição temporária para outro departamento) terminou e voltei a Moscou. Durante 2 dias no departamento de monitoramento, aprendi muito e aperfeiçoei o conhecimento atual.


  • A tarefa de monitoramento é fornecer informações relevantes sobre o estado do sistema em todos os níveis;
  • Escolha métricas e gatilhos competentes - 90% de sucesso;
  • Nos serviços de pagamento, a conversão atinge a oferta;
  • Você precisa seguir a técnica e lembrar-se das métricas de negócios;
  • Precisamos de uma visão sistemática dos processos e da capacidade de analisar relacionamentos;

E ainda - seja grato. Acompanhamento pessoal, obrigado!




Isso é tudo. Faça perguntas, assine o nosso blog e venha visitar.

Source: https://habr.com/ru/post/pt426583/


All Articles