O que é APM (application performance management)?

pessoa gerenciando aplicativos através do celular com uma solução APM

Autores

Chrystal R. China

Staff Writer, Automation & ITOps

IBM Think

O que é APM (application performance management)?

APM (application performance management) é um processo para gerenciar o desempenho de aplicações através de ferramentas de software, análise de dados e processos de gerenciamento de aplicações para ajudar as organizações a otimizar o desempenho, a disponibilidade e a experiência do usuário em aplicações empresariais.

O APM (gerenciamento de desempenho de aplicações) é o precursor das soluções de observabilidade, oferece às equipes de TI a capacidade de antecipar, prevenir e resolver problemas de desempenho de aplicações antes que eles impactem negativamente os usuários.

APM também é um acrônimo para Application Performance Monitoring, ou monitoramento de desempenho de aplicativos, em que as ferramentas de monitoramento coletam continuamente dados sobre métricas de desempenho, como tempos de resposta, taxas de erro, utilização de recursos e atividade dos usuários. Os termos são frequentemente usados de forma intercambiável; no entanto, o monitoramento de desempenho é apenas um componente de uma estratégia abrangente de gerenciamento de desempenho de aplicações.

O APM vai além do monitoramento ao incorporar análise de dados (para detectar padrões, anomalias e gargalos de desempenho), protocolos automatizados (que incluem a análise de causa raiz e a correção de problemas) e ferramentas de otimização (voltadas para mitigar a queda de desempenho e garantir maior eficiência dos aplicativos para os usuários).

As soluções de APM também podem ajudar as equipes de TI a identificar quais aplicativos e serviços são mais essenciais para os usuários e como problemas de desempenho podem afetar a produtividade deles.

Ferramentas eficazes de APM, juntamente com soluções avançadas de observabilidade, podem ser inestimáveis para organizações que dependem de aplicações de software para oferecer serviços aos usuários finais.

Vista aérea de rodovias

Fique por dentro da nuvem 


Receba o boletim informativo semanal do Think para ver orientações especializadas sobre a otimização das configurações multinuvem na era da IA.

Como funciona o APM

As ferramentas de APM auxiliam os desenvolvedores a manter a integridade e o desempenho das aplicações empresariais, especialmente quando o portfólio de aplicativos da organização está distribuído em ambientes de TI (como nuvem híbrida e multinuvem). Embora a configuração exata de um sistema de APM varie de empresa para empresa (e de ferramenta para ferramenta), a maioria das principais ferramentas de APM opera dentro de cinco dimensões principais (originalmente publicadas pela Gartner Research).

Monitoramento da experiência do usuário final (EUEM)

Ferramentas de EUEM (End user experience monitoring), tanto passivas quanto ativas, avaliam como os usuários estão vivenciando e interagindo com um aplicativo. O monitoramento passivo refere-se à coleta contínua de dados dos usuários (de sensores, tráfego de rede e logs de erro) a partir de usuários reais.

O monitoramento ativo simula a atividade do usuário para entender e prever melhor o comportamento situacional do software (como um aplicativo pode se comportar durante um pico inesperado de tráfego, por exemplo).

As ferramentas de monitoramento de experiência dentro do software de APM podem, por exemplo, executar scripts de comportamento (ou trajetórias) para simular experiências de clientes com o processo de checkout em um site de e-commerce. Depois, o software pode monitorar os scripts para entender quão rapidamente o aplicativo processa pagamentos e como ela gerencia o fluxo de checkout.

Descoberta e modelagem da arquitetura de aplicações em tempo de execução

O monitoramento da arquitetura de aplicações em tempo de execução oferece visibilidade sobre a arquitetura subjacente de uma aplicação. Ele permite que as equipes de TI compreendam como diferentes componentes e dependências do aplicativo (como bancos de dados, servidores, dispositivos de rede e Máquinas Virtuais) interagem para dar suporte a aplicação.

As ferramentas de APM automatizam o processo de modelagem, mapeando dinamicamente a topologia de aplicativos, serviços, componentes de infraestrutura e interações dos usuários, abrangendo idealmente data centers locais (data centers), nuvem privadanuvem pública (incluindo soluções de SaaS) e ambientes de nuvem híbrida. Os mapas de topologia do APM ajudam as equipes de TI a identificar rapidamente gargalos de desempenho e oportunidades de otimização.

Perfil de transação definido pelo usuário

Também chamado de gerenciamento de transações de negócios, o perfil de transações oferece uma abordagem mais específica para monitoramento. As funcionalidades de perfil traçam transações específicas dos usuários enquanto percorrem o stack de aplicações, desde o dispositivo do usuário até cada componente ou recurso da aplicação envolvido na transação.

Essa abordagem de monitoramento fornece aos desenvolvedores insights detalhados sobre funcionalidades e funções críticas de aplicativos, permitindo que solucionem componentes problemáticos ou de baixo desempenho antes que afetem a experiência do usuário.

Monitoramento profundo de componentes (DDCM)

O DDCM se concentra em componentes individuais de aplicativos (como servidores web e servidores de aplicativos), monitorando seções específicas de código, chamadas de serviços externos, consultas a bancos de dados e outros elementos no nível do código.

Analisar componentes específicos do aplicativo permite que as equipes identifiquem rapidamente a causa raiz dos problemas de desempenho e façam melhorias pontuais sem afetar partes não relacionadas.

Análise de dados e relatórios

O software de APM coleta grandes volumes de dados, e as funcionalidades de análise de dados e relatórios presentes nas ferramentas de APM são essenciais para transformar esses dados em insights praticáveis.

As plataformas de APM agregam os dados coletados de cada ponto de monitoramento para criar relatórios, dashboards e visualizações fáceis de serem compreendidos, permitindo que as equipes de TI identifiquem tendências de desempenho e tomem decisões informadas sobre soluções e otimizações.

Vale destacar que, desde então, a Gartner Research reduziu suas cinco dimensões para três. O monitoramento da experiência do usuário final agora é chamado de monitoramento da experiência digital (DEM). A dimensão de descoberta, rastreamento e diagnóstico de aplicações (ADTD) abrange três funções que antes eram separadas, mas interligadas: descoberta da arquitetura em tempo de execução e criação de perfil de transações definidas pelo usuário. A dimensão de relatórios e análises permanece uma função independente.

IBM DevOps

O que é DevOps?

Andrea Crawford explica o que é DevOps, seu valor e como suas práticas e ferramentas ajudam você a migrar suas aplicações por todo o pipeline de entrega de software, desde a concepção até a produção. Conduzido pelos principais líderes da IBM, o conteúdo foi concebido para ajudar os líderes empresariais a adquirir o conhecimento necessário para priorizar os investimentos em IA que podem estimular o crescimento.

APM: diferença entre application performance management e application performance monitoring

As ferramentas de monitoramento de desempenho de aplicações se concentram exclusivamente no monitoramento e representam apenas um aspecto da APM.

As soluções de monitoramento tradicionais utilizam pequenos componentes de software, chamados “agentes,” implementados em todo o ambiente da aplicação e na infraestrutura de suporte para coletar amostras de métricas de desempenho e relacionadas a desempenho (ou telemetria) em intervalos regulares, com frequência de até um minuto. Soluções mais modernas utilizam monitoramento sem agentes para uma abordagem não intrusiva de coleta de dados, baseando-se na análise do tráfego de rede para obter dados de desempenho de aplicativos.

O gerenciamento de desempenho de aplicações é, em muitos aspectos, a próxima etapa natural do ciclo de vida de manutenção de aplicativos (depois do monitoramento).

Os sistemas de gerenciamento de desempenho de aplicativos extraem insights dos dados de desempenho de aplicações e dos processos de monitoramento para ajudar os desenvolvedores a otimizar o desempenho e a disponibilidade de aplicações empresariais.

Diferença entre APM e observabilidade

As soluções de APM oferecem ferramentas padronizadas para capturar dados detalhados e análises de serviços dentro de uma aplicação. Eles tornam a arquitetura da aplicação observável. Embora a abordagem APM tenha sido suficiente para o gerenciamento de aplicações de alta qualidade, ela não está bem equipada para gerenciar aplicativos e serviços distribuídos com múltiplos tempos de execução e várias camadas.

As aplicações de hoje dependem de serviços e microsserviço, geralmente executados em clusters Kubernetes conteinerizados. Isso significa múltiplos tempos de execução, com cada um gerando logs em diferentes locais dentro da arquitetura. Para acomodar múltiplos tempos de execução com APM, os desenvolvedores precisariam implementar várias ferramentas de APM. Eles também precisariam usar um serviço de transmissão de logs ou outra ferramenta de agregação para consolidar os dados de log de cada local. 

À medida que as empresas adicionam mais serviços e microsserviços à arquitetura, elas introduzem maior complexidade, dificultando o rastreamento de solicitações quando algo dá errado.

As soluções de observabilidade superam as ferramentas de APM ao adotar uma abordagem abrangente e nativa da nuvem para registro e monitoramento de aplicações. Elas oferecem automação de processos integrada e trabalham com dados contextuais históricos para ajudar as equipes a otimizar melhor as aplicações empresariais.

Com ferramentas de observabilidade, as equipes conseguem entender melhor como os serviços interagem entre si (usando gráficos de dependência, por exemplo) e como se encaixam na arquitetura geral. Elas também podem usar soluções de observabilidade para agregar e validar dados de aplicações e obter insights praticáveis a partir desses dados.

Funcionalidades do APM

As ferramentas de APM atuais são versáteis e oferecem diversos recursos personalizáveis que ajudam as empresas a adotar estratégias de APM sob medida. Cada funcionalidade pode ajudar as equipes de TI a obter Full Stack Observability em seus ecossistemas de aplicações. Alguns exemplos incluem:

  • Monitoramento de aplicações: as ferramentas de APM monitoram todo o stack de aplicações, incluindo o framework do aplicativo (como Java ou .NET), o sistema operacional, o banco de dados, quaisquer interfaces de programação de aplicativos (APIs), middleware e o servidor de aplicações web.
  • Rastreamento de erros: as soluções de APM podem agrupar erros relacionados do aplicativo em conjuntos de problemas, oferecendo às equipes mais contexto para compreender os erros do sistema e aumentar a eficiência no processo de resolução.
  • Monitoramento de infraestrutura: com os protocolos de monitoramento de infraestrutura da solução APM, as equipes podem coletar dados sobre a utilização de CPU, espaço em disco e desempenho da rede.
  • Rastreamento distribuído: as ferramentas de APM permitem que os desenvolvedores acompanhem as solicitações de dados enquanto atravessam a rede, do front-end aos serviços de backend, ajudando as equipes a monitorar dependências de cada solicitação e isolar erros específicos.
  • Monitoramento de banco de dados: As plataformas APM ajudam as empresas a visualizar métricas de desempenho em nível de host e de consultas (como principais usuários, programas e objetos) e a avaliar procedimentos SQL para determinar como o design do banco de dados e a saturação de recursos afetam o desempenho das aplicações.
  • Perfil de código: com as ferramentas APM, as equipes podem capturar instantâneos do desempenho do código para identificar quais componentes do aplicativo estão muito lentos ou utilizando muitos recursos.
  • Monitoramento da experiência digital: as ferramentas de APM podem implementar monitoramento de usuários reais (RUM) e monitoramento sintético para coletar dados de desempenho (tempo de carregamento, tempo de resposta, latência, tempo de atividade e downtime) de dispositivos dos usuários, bots e outros componentes de software não humanos.
  • Monitoramento da Internet das Coisas (IoT): os usuários geralmente acessam aplicativos por dispositivos móveis, resolver problemas de aplicativos pode se tornar um processo complexo e demorado. Os recursos de monitoramento de IoT nas soluções APM oferecem às equipes uma visão unificada das aplicações em dispositivos conectados.

IA e AIOps: o futuro do APM

Assim como muitas outras práticas e soluções de operações de TI (ITOps), as ferramentas de APM mudaram significativamente com a proliferação da inteligência artificial (IA) e a evolução da computação em nuvem.

O método de amostragem periódica das ferramentas tradicionais de APM atendia bem ao gerenciamento de aplicativos monolíticos e aplicações distribuídas tradicionais (em que o lançamento de novos códigos é periódico e fluxos de trabalho, dependências, servidores e recursos associados são conhecidos ou simples de rastrear).

Mas, atualmente, à medida que as empresas adotam práticas modernas de desenvolvimento de aplicações e tecnologias nativas da nuvem (como metodologias ágeis e DevOps, microsserviços, contêineresDocker, Kubernetes e funções serverless), as empresas implementam novos componentes de aplicações com tanta frequência, em tantos idiomas e ambientes diferentes, que não podem mais depender de estratégias de monitoramento tradicionais.  

Além disso, as técnicas tradicionais de APM monitoram a execução do código para diagnosticar problemas. Mas as aplicações SaaS baseadas em nuvem de hoje abrangem milhões de linhas de código, frequentemente distribuídas em contêineres.

É por isso que as principais ferramentas de APM utilizam instrumentos de monitoramento de ponta que permitem a full-stack observability e contam com tecnologias de IA e aprendizado de máquina (ML) para correlacionar e analisar dados em tempo real.

As ferramentas APM orientadas por IA podem operar em ambientes de TI complexos e distribuídos, implementando algoritmos de IA que rapidamente analisam grandes volumes de dados de desempenho, correlacionam esses dados com informações contextuais e identificam a causa raiz dos problemas de desempenho.

Os sistemas APM modernos também utilizam modelos de ML para gerar análises preditivas de dados e prever tendências de desempenho. E com recursos de processamento de linguagem natural (NLP), o software APM pode analisar dados de desempenho de forma metódica e oferecer às equipes insights em linguagem simples.

As tecnologias de IA não estão isentas de desafios; explicabilidade, privacidade e segurança de dados são preocupações comuns em ferramentas de TI baseadas em IA. No entanto, o software de APM orientado por IA pode acelerar significativamente o monitoramento e a resolução de problemas, ajudando as empresas a tomar decisões mais inteligentes e proativas sobre seus portfólios de aplicações.

Casos de uso do APM

O APM ajuda a garantir que as aplicações de software corporativo permaneçam eficientes e confiáveis. Eles também facilitam:

Planejamento da capacidade

Com base nos dados históricos de desempenho, as ferramentas de APM conseguem prever necessidades futuras de recursos, permitindo um planejamento de capacidade mais eficaz e ajudando as empresas a expandir sua infraestrutura conforme a demanda aumenta.

Integrações de DevOps

O APM pode facilitar o feedback contínuo durante o ciclo de vida de desenvolvimento de software. Equipes podem monitorar aplicativos em ambientes de preparo e produção, ajudando os desenvolvedores a criar uma cultura de feedback contínuo.

Conformidade com os acordos de nível de serviço (SLAs)

Os SLAs definem os padrões de desempenho para a maioria das aplicações empresariais, e os serviços de APM fornecem os dados necessários para manter a conformidade com os SLAs. Métricas de conformidade também podem ser utilizadas em relatórios para stakeholders, a fim de demonstrar a aderência aos SLAs.

Monitoramento de API de terceiros

Para aplicações que utilizam APIs externas, as ferramentas de APM podem monitorar os tempos de resposta das APIs e as taxas de erro, permitindo que as organizações identifiquem problemas em serviços de terceiros que possam impactar o desempenho de suas aplicações.

Benefícios do APM

As ferramentas de APM podem ajudar a facilitar:

  • Experiência do usuário aprimorada. As ferramentas de APM ajudam as empresas a manter altos níveis de satisfação e engajamento dos usuários, elementos essenciais para a retenção de clientes e a gestão da reputação.

  • MTTD e MTTR mais rápidos. O APM permite que as equipes identifiquem e resolvam problemas de desempenho e gargalos rapidamente, reduzindo o tempo médio para detectar (quanto tempo uma organização leva para identificar um problema) e o tempo médio para reparo (quanto tempo uma organização leva para corrigir um problema).

  • Melhor utilização de recursos. Monitorar e analisar os dados de desempenho permite às organizações otimizar a alocação de recursos, aumentando a economia de custos e simplificando as operações.

  • Maior agilidade dos negócios. As ferramentas de APM auxiliam as metodologias ágeis ao oferecer feedback em tempo real sobre o desempenho das aplicações, permitindo ajustes rápidos e aprimoramentos constantes.

  • Migrações mais suaves. As funcionalidades de rastreamento distribuído e mapeamento de serviços podem ajudar a garantir que migrações para a nuvem e modernizações ocorram sem problemas e não introduzam erros na rede.

  • Melhor colaboração entre os funcionários. Com os recursos de rastreamento de ponta a ponta do APM, as equipes de front-end e back-end podem acessar os mesmos dados simultaneamente, facilitando processos mais colaborativos de solução de problemas e otimização.
Soluções relacionadas
Monitoramento de desempenho de aplicativos (APM)

Observe, monitore e corrija automaticamente toda a sua pilha de aplicações com o IBM Instana Observability.

Explore o monitoramento de desempenho das aplicações
Serviços de gerenciamento de aplicações

Ofereça desempenho máximo e alta satisfação do usuário em seu portfólio de aplicações personalizadas.

Explore serviços de gerenciamento de aplicações
Software e soluções de gerenciamento de desempenho de aplicações

Conecte a observabilidade full stack com o gerenciamento automatizado de recursos de aplicações para resolver problemas de desempenho antes que afetem a experiência do cliente.

Explore soluções de gerenciamento de desempenho de aplicações
Dê o próximo passo

Com o IBM Instana Observability, obtenha observabilidade completa da empresa, com visibilidade rápida, automatizada e contextualizada sobre a integridade e a disponibilidade de todo o seu ambiente de aplicações.

Explore o Instana Observability Experimente sem custo