IT Ops

APM vs NPMD: monitoramento de performance e qualidade de operações de TI

APM vs NPMD: monitoramento de performance e qualidade de operações de TI

By zerum

Criado:
25 nov, 2019
5 anos atrás
Data da última atualização: 13/10/2022

TAGS:

< Voltar para o blog

Descubra as principais diferenças entre APM e NPMD, e como elas podem ajudá-lo a monitorar sua operação de TI.

Quando se trata de qualquer iniciativa digital, seja no setor público ou privado, muitos fatores podem atrapalhar os bons resultados. Problemas na operação de TI comumente levam à perda de receitas, desperdício de recursos, danos à imagem da instituição e fracasso de projetos.

Felizmente, existem soluções no mercado capazes de fornecer visibilidade sobre ambientes complexos, diagnosticar falhas e ajudar a garantir que aplicações de missão crítica sejam adequadamente suportadas pela infraestrutura. O problema é a quantidade de opções e os diversos nichos nos quais essas ferramentas se especializaram (ou não).

Neste artigo, vamos falar sobre as diferenças entre as duas principais categorias de produtos de monitoração de performance e qualidade: APM e NPMD.

Application Performance Monitoring (APM):
Ferramentas de Monitoramento de Performance de Aplicações medem constantemente o desempenho do seu código, dependências, tempos de transação e experiências gerais de usuários, com a ajuda de agentes de introspecção.

Network Performance Monitoring and Diagnostics (NPMD):
Soluções que combinam dados extraídos do tráfego de rede (em alguns casos até a camada 7) e inteligência artificial para monitorar o desempenho da infraestrutura como um todo, fornecendo exibições tanto históricas quanto em tempo real. Permitem a análise forense para identificar a causa raiz de problemas em rede, aplicações, servidores, storage, DNS, autenticação e outros, sem usar qualquer tipo de agente para isso.


Principais diferenças entre APM e NPMD

APM ou NPMD? Se o monitoramento e diagnóstico da operação de TI fazem parte da sua rotina como analista ou gestor, entender as principais diferenças entre as duas ferramentas é fundamental.

Ambas fazem parte de um grupo mais amplo de monitoramento de disponibilidade e performance e têm objetivos parecidos – a ideia de usar dados da operação de TI para apontar problemas em meio a um emaranhado de serviços e componentes. Contudo, APM e NPMD são ferramentas muito diferentes em cinco aspectos fundamentais:

  • Origem dos dados
  • Abrangência dos dados
  • Impacto na performance e capacidade do ambiente monitorado
  • Forma de implementação das ferramentas
  • Escopo

Vamos entender essas diferenças e o que elas significam na prática.

#1 – Origem dos dados

Talvez a principal disparidade entre ferramentas de APM e NPMD seja de onde vêm os dados analisados. O escopo e detalhamento desses dados, cujas análises não são excludentes, mas complementares, são completamente diferentes entre si.

APM:

O APM trabalha com informações extraídas diretamente do servidor de aplicação, usando um processo conhecido como instrumentação.

NPMD:

Já ferramentas de NPMD extraem seus dados diretamente do tráfego de rede, de forma passiva, com o uso de espelhamento ou “tap” de rede.

#2 – Abrangência dos dados

APM:

O APM monitora apenas aquilo que acontece dentro do servidor de aplicação. E todos os APMs do mercado trabalham com amostragem (sampling). Isso significa que apenas uma parte das requisições são analisadas (geralmente menos de 1%). A profundidade da análise é maior, mas o escopo é menor (apenas servidores de aplicação compatíveis com o APM escolhido).

NPMD:

Por outro lado, o NPMD busca analisar 100% das transações que recebe, ou seja, você tem acesso a todas as informações que trafegam pela rede. O escopo de análise é muito maior (todos os serviços em rede, em diversos protocolos), permitindo até ver o conteúdo das transações, mas não captura métricas dentro de cada servidor/cliente.

#3 – Impacto na performance e capacidade do ambiente monitorado

APM:

APMs usam agentes que competem com a aplicação a ser monitorada pelos mesmos recursos de CPU, RAM, disco e rede. Ou seja, quando o agente de APM está extraindo e analisando métricas de performance, ele consome recursos que poderiam ser utilizados pela aplicação. Em alguns casos isso causa a redução da performance da aplicação.

Portanto, é um mito dizer que APM não gera overhead para a aplicação. Na verdade, gera impacto para a infraestrutura como um todo, já que as informações coletadas nos servidores e nos clientes precisam atravessar a rede até o servidor que consolida esses dados. E é esse o principal motivo para que APMs trabalhem com amostragem. Vamos imaginar os recursos necessários para analisar 100% das transações. Quanto da sua infra estaria comprometida?

NPMD:

No caso do NPMD o overhead é zero, tanto para as aplicações quanto para a infraestrutura em geral. Espelhamento de tráfego é uma operação simples de cópia em memória e não causa redução de performance nos equipamentos de comutação de dados modernos.

Em alguns casos, chega-se a utilizar NPMD para monitorar o impacto de performance do APM. Por exemplo, chegamos a identificar 58% de tempo de processamento de servidor gasto com requisições sintéticas e instrumentação da aplicação para análise de experiência do usuário – um impacto gerado pelos próprios agentes de monitoramento do APM. Neste caso, como o problema da aplicação não eram os erros e sim os tempos de resposta, a solução foi justamente desabilitar os agentes de APM.

#4 – Forma de implementação das ferramentas

APM:

Para implementar ferramentas de APM no seu ambiente, você precisa instalar agentes. Esses agentes precisam ser específicos para cada servidor de aplicação: um para Python, outro para Java, outro para Node.js, outro para PHP e assim por diante. Esse processo é conhecido como instrumentação. Uma vez que o agente esteja rodando paralelamente à sua aplicação, já é possível analisar as informações recuperadas através de um servidor central de APM.

NPMD:

Já para o NPMD fazer a sua mágica, você precisa apenas enviar o tráfego de interesse para ele. É uma operação simples feita por exemplo no seu switch (físico ou virtual).

#5 – Escopo

Sobre a natureza dos dados, podemos dizer que ambas as soluções possuem abrangência e profundidade diferentes.

NPMD:

Por extrair informações do tráfego de rede, o NPMD faz análises sobre as transações que chegam e saem da sua aplicação. As informações extraídas são traduzidas em metadados que revelam métricas valiosas sobre a requisição, a resposta e até mesmo seus respectivos conteúdos.

Vale lembrar que sua aplicação não é uma ilha, mas faz parte de um mar de serviços, bancos e clientes que conversam entre si constantemente. Fornecer essa visibilidade capilarizada é a especialidade do NPMD.

O NPMD também é utilizado para identificar aplicações e serviços presentes no tráfego (com auto-discovery), para monitoração de dispositivos de IOT e aplicações “blackbox” e SaaS, onde não é permitida a instalação de agentes.

APM:

Já o APM só consegue enxergar aquilo que acontece dentro da aplicação onde seu agente está instalado, logo, conhece cada método, select e outros serviços que sua aplicação possa consumir. Assim, o APM consegue ser mais preciso para identificar um problema se ele estiver na aplicação.

No geral, o NPMD vai conseguir uma boa resolução de informações sobre tudo o que acontece no seu ambiente enquanto os dados atravessam a rede, ao passo que o APM consegue ir mais fundo, contudo, apenas no âmbito da aplicação.


Concluindo

Se você quer ampliar sua visibilidade sobre o ambiente de TI para identificar a causa de problemas e solucioná-los com mais rapidez, mas ainda está em dúvida sobre qual caminho seguir, vou te dar uma boa notícia: você não precisa escolher apenas APM ou NPMD.

Cada solução possui características únicas e que, combinadas, contribuem para uma monitoração mais abrangente. Por um lado, temos o NPMD que monitora tudo que trafega na rede e pode apontar problemas antes mesmo de chegar na sua aplicação. Por outro lado temos ferramentas de APM que, se usadas com o direcionamento correto, são aliadas importantes para corrigir problemas pontuais em aplicações.

Com o Zerum Valk você tem tudo que precisa para monitoração da qualidade e performance do seu ambiente, de forma integrada e com serviços especializados para monitoração fim-a-fim. Estamos preparados para ajudar o seu negócio com seus maiores desafios.


Este conteúdo foi útil para você? Compartilhe em suas redes sociais:


Sobre a Zerum

A Zerum é uma empresa de Data Science líder em inovação que fornece visibilidade e entendimento em tempo real sobre fluxos de dados complexos. Nossos produtos, serviços e tecnologias ajudam grandes organizações a reduzir gargalos operacionais, combater ameaças cibernéticas avançadas, detectar fraudes e manter comunidades seguras.


📝 Para saber mais, entre em contato através do formulário abaixo.








    Related articles

    Observabilidade na camada de Aplicação: Uma necessidade no cenário atual
    Observabilidade na camada de Aplicação: Uma necessidade no cenário atual

    As equipes de TI estão cada vez mais focadas na melhoria da segurança,...

    11 meses atrás

    By Zerum Team

    Superando desafios do BYOD com análise de performance e segurança cibernética
    Superando desafios do BYOD com análise de performance e segurança cibernética

    A adoção da política de “traga o seu próprio dispositivo”, do “Bring Your...

    1 ano atrás

    By Zerum Team

    Observabilidade: Além do monitoramento
    Observabilidade: Além do monitoramento

    A área de tecnologia da informação é repleta de sistemas complexos, frequentemente distribuídos,...

    1 ano atrás

    By Zerum Team