BLOG

A importância de calibrar as medições de integridade da aplicação

Miniatura de Lori MacVittie
Lori MacVittie
Publicado em 11 de maio de 2020

Recentemente, lembrei-me da importância de calibrar as medições quando retornei ao mundo da manutenção de recifes. Assim como as rápidas mudanças no cenário de aplicação, a manutenção dos recifes mudou drasticamente nos últimos cinco anos. 

Hoje, tenho monitores e sondas conectados que rastreiam e me alertam automaticamente se algo estiver errado. Os painéis da Web e móveis permitem o monitoramento, a programação e uma visão geral da saúde do meu tanque e do status dos inúmeros dispositivos que o mantêm funcionando. 

Leitores atentos notarão que o PH parece estar "abaixo do mínimo". Não precisa se preocupar, está tudo bem. Você vê que a sonda (sensor) não está calibrada corretamente. É um problema comum; calibrar sondas é um processo repleto de falhas. No momento, sei que a sonda está calibrada em nível baixo e ajusto automaticamente a medição com base nesse conhecimento. 

Assim como a saúde de um tanque de recife, a saúde dos aplicativos exige atenção cuidadosa às principais métricas. Desvios, especialmente flutuações bruscas, podem indicar um problema. O ajuste manual de métricas não é um processo que você deseja imitar quando se trata de aplicativos. Ajustes manuais podem funcionar para um aplicativo ou até dois, mas a organização média tem entre 100 e 200 aplicativos em seu portfólio digital. Você precisa de medições precisas calibradas em relação aos padrões típicos de saúde.

Como acontece com a maioria das métricas de rede e aplicativos, isso significa coletar amostras por um período de tempo e aprender os "altos" e "baixos". Os limites podem então ser usados para determinar comportamento anômalo.

A questão não é o princípio, mas sim a execução.

Primeiro, geralmente nos concentramos em apenas um ponto de medição: a aplicação. Curiosamente, a saúde de um tanque de recife requer a medição da salinidade e do pH, juntamente com a temperatura, porque ambos os valores são afetados pela temperatura. Medir a integridade do aplicativo é praticamente o mesmo; ele é afetado por outras medidas, como desempenho e carga da rede. Infelizmente, a maioria das organizações não necessariamente adota uma visão holística da integridade dos aplicativos. O aplicativo em si pode ser bom, mas a experiência do cliente pode ser péssima devido a um dispositivo ou rede conectada com baixo desempenho. 

Precisamos ampliar nossa visão da saúde dos aplicativos expandindo o que medimos. Além disso, precisamos calibrar medições adicionais para garantir que podemos identificar o que é típico e o que não é. Porque "o que não é típico" pode ser indicativo de um problema ou, pior, de um ataque.

Em segundo lugar, o desafio da escala surge da necessidade de calibrar em vários pontos para cada aplicação que precisamos monitorar ( spoiler: são todos eles ). Não podemos esperar que os operadores calibrem manualmente tantos pontos de dados. Não é humanamente possível.

É aí que entram as máquinas.

Análise avançada

Análise avançada e aprendizado de máquina são uma das respostas para a questão da escala. As máquinas podem processar, e processam, grandes volumes de telemetria em taxas significativas. Eles podem ingerir, normalizar e analisar padrões e relacionamentos em quantidades de dados que nós, como seres humanos, simplesmente não conseguimos gerenciar. Dessa forma, o aprendizado de máquina oferece a capacidade de calibrar o "normal" em uma variedade de pontos de dados relacionados e detectar imediatamente padrões desviantes que indicam um problema.

É bastante fácil correlacionar problemas de desempenho em um aplicativo a um aumento repentino de logins na manhã de segunda-feira. O que não é fácil é reconhecer que Bob geralmente não faz login até segunda-feira à tarde. E ainda hoje, ele é. Essa é uma anomalia que não é facilmente reconhecida por operadores humanos porque não temos esse nível de visibilidade. Com telemetria suficiente emitida pelo aplicativo, cliente e serviços de aplicativo que compõem a experiência do código para o cliente, análises avançadas podem detectar essa anomalia. Ele também pode sinalizar ou enviar um novo fluxo de negócios que verifica se Bob está realmente tentando fazer login.

Essa capacidade é semelhante ao que muitos aplicativos fazem hoje em nível de dispositivo. Muitos processos digitais enviam códigos de verificação e nos pedem para provar que somos humanos identificando todos os carros em uma imagem borrada. Mas são os detalhes do dispositivo que acionam o novo fluxo de negócios, não o comportamento de fazer login em um horário incomum do dia. No futuro, precisaremos ser capazes de acionar fluxos com base em ambos, especialmente se continuarmos a dar suporte a uma força de trabalho distribuída.

Isso torna a calibração uma parte crítica do processo. E a calibração é obtida fazendo (muitas) medições e chegando ao valor "normal". Esse também é um processo que desafia a escala humana e exige que as máquinas ingiram e analisem quantidades significativas de telemetria.

A análise avançada permitirá, em última análise, a observabilidade e dará origem a novos serviços capazes de revelar insights ocultos sobre aplicativos (DEM), permitir uma orquestração mais inteligente de serviços de aplicativos (AI Ops) e produzir valor comercial antes desconhecido (AI-Enhanced Services).

Para fazer isso, precisamos gerar grandes quantidades de telemetria para que possamos calibrar o comportamento "normal" de aplicativos, usuários e tudo no caminho de dados entre eles.