Diminuir o tempo na resolução de problemas é fundamental para qualquer empresa. Afinal, um tempo longo de resposta pode custar dinheiro.

No caso de empresas que possuem operações online e precisam ter um negócio super estável na internet, é necessário contar com uma ferramenta, como o AppDynamics, capaz de gerenciar e garantir que qualquer falha na experiência do usuário seja identificada rapidamente e resolvida.

Para explicar como funciona o gerenciamento do desempenho de plataformas e apps realizado pelo AppDynamics, entenda o seguinte exemplo ilustrativo:

Imagine que um aplicativo tenha 100 palheiros que representam camadas e, em algum lugar, uma agulha dentro desses palheiros prejudica a experiência do usuário. É trabalho da solução de APM encontrar a agulha o mais rápido possível!

O problema é que cada palheiro tem mais de meio milhão de pedaços de feno. Agora imagine que cada linha de feno dessas representa uma linha de código na aplicação.

De acordo com esse cenário, não seria surpresa se as equipes levassem dias ou semanas para encontrar a causa raiz dos problemas e, a partir daí, colocar em prática a melhor solução para resolvê-los. Concorda?

Com a tecnologia de APM certa, é possível monitorar a experiência do usuário e o perfil de transações dentro do aplicativo, o que ajudará a identificar usuários insatisfeitos, transações comerciais lentas e por consequência, agulhas problemáticas nos palheiros.

Para fazer isso, é necessário ter a visibilidade de um “raio-x”, que consiga identificar dentro dos palheiros quais pedaços de feno (linhas de código) possuem uma agulha (causa raiz) que está prejudicando os usuários finais.

Essa visibilidade de “raio-X” é conhecida como “Diagnóstico profundo” em termos de monitoramento de aplicações.

Continue lendo para entender melhor como o monitoramento funciona no AppDynamics.

Por que o diagnóstico profundo para monitoramento de aplicações é importante

Um dos principais motivos pelos quais o AppDynamics tornou-se muito bem-sucedido em apenas alguns anos é que a sua função de diagnóstico profundo, comportamento e tecnologia analítica, são incomparavelmente melhores do que as do concorrente mais próximo.

O AppDynamics tem a capacidade de mostrar instantaneamente a execução completa dos códigos e o tempo que o usuário leva para executá-los, com uma sobrecarga incrivelmente pequena e sem configurações complexas para isso. Basicamente, como já falamos, é uma visão de raio-X para as empresas a encontrarem agulhas em palheiros.

Localizar a linha exata de código responsável por um problema de desempenho, de forma automática, significa que a equipe de TI poderá resolver os problemas com maior rapidez. Esse é o principal trunfo do AppDynamics.

O AppDynamics tem um excelente monitoramento do usuário final, de transações do negócio, mapas de fluxo do aplicativo e outras análises interessantes. Tudo integrado em um único produto.

A plataforma conta com um excelente layout, simples, prático e intuitivo. Os painéis do AppDynamics dirão objetivamente onde uma transação comercial fica mais lenta, apontando exatamente para o local onde se deve direcionar esforços.

Porém, tudo isso é possível, também, graças a algo chamado “monitoria correlaciona”. Entenda melhor o que ela significa a seguir.

A importância da monitoria correlacionada

A monitoria correlacionada fornece instruções sobre a correlação entre solicitações e logs de transações comerciais.

Ao investigar a causa da lentidão/interrupções em seus aplicativos de negócios, é possível notar que o problema nem sempre se origina no código do aplicativo. Qualquer informação adicional do aplicativo ou dos logs da máquina pode ser útil na investigação da causa raiz. Uma maneira de ver os dados de suporte que afetam a transação comercial é, justamente, por meio da monitoria correlacionada e seus logs de transação.

Com a monitoria, é possível correlacionar os logs a solicitações de transações comerciais específicas. Isso pode ser útil quando se identificam transações lentas e o gráfico de chamadas não fornece informações suficientes para chegar à causa raiz. Nesses casos, a monitoria pode ser usada para obter o contexto completo relacionado a uma transação com falha ou lentidão.

Além disso, ao correlacionar transações de negócios, podem ser identificados possíveis problemas de back-end, que estão causando experiências ruins ao usuário. Por exemplo, você pode descobrir que um erro do servidor ou consultas ao banco de dados estão causando uma experiência lenta, ou, com falhas.

Monitoramento com AppDynamics: encontrando problemas de desempenho

O objetivo do AppDynamics é verificar a integridade do aplicativo em termos de desempenho e ajudar a identificar as causas de possíveis problemas.

Existem duas técnicas principais para fazer isso: a proativa e a contínua, ambas serão explicadas a seguir.

Monitoramento Proativo

AppDynamics é capaz de monitorar proativamente a aplicação, criando notificações automáticas assim que algo começar a dar errado.

Regras de Saúde

AppDynamics permite configurar regras de saúde, como:

  • Uma dica visual mostrada no controlador para entender facilmente quais transações de negócios violaram quais regras;
  • É possível configurar ações, como o envio de um e-mail, quando alguma regra de saúde for violada, permitindo uma rápida reação ao problema detectado;

Monitoramento Contínuo

Antes mesmo de surgirem avisos de lentidão ou grandes problemas, é possível analisar quais são as partes mais lentas da aplicação e, portanto, candidatas a serem otimizadas.

Veja as principais funções do monitoramento contínuo:

Transações lentas

As transações mais lentas podem ser detectadas pelo AppDynamics.

Com a nossa tecnologia, você pode ter uma ideia de quais são as transações mais utilizadas, quais são as que consomem mais tempo e quais delas apresentam maior taxa de lentidão, travamentos e erros.

Essas últimas são as candidatas a serem revisadas, a fim de tentar otimizá-las.

Ainda sobre as transações que provocam lentidão, no AppDynamics é possível listar as 10 principais consultas mais lentas, para assim, analisá-las melhor e tomar as ações necessárias.

Erros

Além dos problemas de desempenho, o AppDynamics também pode ajudar a detectar e apontar erros no código.

Quando uma solicitação lança uma exceção ou registra uma mensagem com um nível de erro, a transação associada a essa solicitação é marcada como errada e uma sinalização é emitida.

Resolvendo problemas de desempenho

Quando são encontrados problemas de desempenho, a primeira etapa é detectar de onde vem as falhas. A degradação do desempenho pode ser causada principalmente por problemas de configuração, como:

  • Processos pesados executados em segundo plano durante picos de atividade. A solução seria programar a execução durante períodos mais silenciosos;
  • Fontes de dados lentas produzidas por varreduras completas em grandes tabelas. A solução seria adicionar índices corretos ou evitar a classificação e filtragem de terminadas tabelas.
  • Módulos de extensão. Os módulos instalados podem causar problemas de desempenho. Neste caso, os problemas devem ser relatados ao proprietário do módulo.

Em seguida, ao resolver os problemas encontrados e implementar a correção, é preciso comparar lançamentos e verificar se tudo correu conforme o planejado.

Comparar lançamentos

Após a implementação de uma correção de bug de desempenho ou após a atualização para uma nova versão, é possível comparar o desempenho de toda a aplicação ou de uma transação comercial concreta.

Aqui, os gráficos para dois intervalos de tempo diferentes podem ser comparados.

Portanto, como foi possível perceber ao longo deste artigo, é fundamental ter uma ferramenta como o AppDynamics para diminuir o tempo de resolução de problemas na sua aplicação. Caso contrário, a imagem da sua empresa estará em jogo – devido à má experiência do usuário, assim como o faturamento do seu negócio.

Assim, podemos afirmar com convicção: o AppDynamics possui ótimos painéis para mostrar em tempo real como o sistema está funcionando e oferecer, assim, todos os caminhos necessários para encontrar problemas de desempenho e resolvê-los rapidamente.