O que é Application Performance Monitoring (APM – Monitoramento da performance da aplicação)?
O Monitoramento da performance da aplicação (APM) é o processo de usar ferramentas de software e dados de telemetria para monitorar a performance de aplicações críticas para os negócios. As empresas querem garantir que manterão os níveis de serviço esperados e que os clientes tenham uma experiência positiva com a aplicação. Elas usam ferramentas de APM para fornecer dados e insights em tempo real sobre a performance da aplicação. Assim, as equipes de TI, DevOps e engenheiros de confiabilidade do site podem identificar e solucionar rapidamente os problemas na aplicação.
Por que o monitoramento da performance da aplicação é importante?
O monitoramento da performance da aplicação (APM) eficiente é essencial para o sucesso de uma empresa. Ele ajuda a garantir que os serviços digitais estão sendo executados sem problemas, com o mínimo de inatividade, e que a experiência dos clientes sejam consistentemente positivas.
O monitoramento da performance da aplicação oferece vários benefícios aos negócios:
Satisfação do cliente
O APM é uma ferramenta eficiente para identificar onde os problemas ocorrem em uma aplicação. Ele também destaca problemas comuns na jornada digital dos clientes. Assim, você pode aprimorar a experiência do cliente, identificando as áreas que promovem o máximo de valor para os usuários finais. O APM é também eficiente em determinar se as alterações são benéficas. Por exemplo, se uma empresa introduz um novo bot de atendimento ao cliente, as métricas do APM podem medir quantos clientes tiveram soluções para suas consultas usando o bot.
Diagnóstico rápido
Alguns minutos de inatividade podem causar perdas financeiras e resultar em falha nas jornadas dos clientes. O APM pode diagnosticar rapidamente os problemas de performance da aplicação e direcionar as equipes de TI para o problema. Esse diagnóstico rápido ajuda a reduzir a inatividade. As equipes de tecnologia têm mais tempo para desenvolver novas aplicações, ao invés de corrigir as já existentes.
Custos operacionais reduzidos
As equipes de TI usam ferramentas de APM para determinar os recursos, a infraestrutura e a potência computacional necessários para manter as aplicações com a melhor performance. Isso mantém os custos operacionais reduzidos.
Desenvolvimento eficaz de produtos
As ferramentas de monitoramento da performance da aplicação podem fazer parte do processo de desenvolvimento de um produto. Implemente o APM em um ambiente de teste ou dinâmico, e use as ferramentas de APM para monitorar e analisar o tráfego sintético, revelar limitações e identificar erros. As equipes de desenvolvimento podem usar os insights práticos antes de uma aplicação ser disponibilizada, e corrigir bugs que antes só ficariam evidentes após o lançamento do produto.
Colaboração nos negócios
Compartilhe métricas e análises entre as unidades de negócios, o que pode levar ao aprimoramento da comunicação, a separação de silos, maior envolvimento dos funcionários e o aumento da produtividade.
Quais métricas são rastreadas pelo monitoramento da performance da aplicação?
O monitoramento da performance da aplicação (APM) rastreia as métricas comuns, como as seguintes:
Uso da CPU
As soluções de APM podem monitorar as métricas da CPU, como uso da CPU e demandas de memória. Isso garante que a aplicação receba os recursos necessários para operar de foma adequada.
Tempos de resposta
Os tempos de resposta são significativos para as empresas, uma vez que os usuários esperam poder acessar os serviços sem demora. As soluções de APM são avaliadas de acordo com uma performance básica aceitável em relação aos tempos de resposta e alertam você caso esse tempo estejam abaixo do limite.
Taxas de erros
O software de APM monitora a aplicação para registrar e relatar as taxas de erros. Um exemplo de um erro seria quando uma consulta da Web atingir o tempo limite ou uma consulta ao banco de dados falhar. O APM emitirá alertas quando a taxa de erros estiver acima dos parâmetros predefinidos, por exemplo, quando 5% das últimas 50 solicitações resultarem em erro.
Rastreamento de transações
O rastreamento de transações no APM fornece uma visão precisa de transações únicas executadas na aplicação. As informações capturadas no rastreamento das transações incluem chamadas funcionais, chamadas externas e chamadas do banco de dados. Elas monitoram a solicitação de transação do começo ao fim.
Instâncias
Uma solução de APM pode monitorar e relatar quantas instâncias do servidor ou da aplicação estão sendo executadas na aplicação. Ela pode alertar você para aumentar ou reduzir a escala verticalmente, a fim de atender a demanda do usuário.
Solicitações
O software de APM monitora quantas solicitações de usuários a aplicação recebe. Ao monitorar o tráfego, o software pode enviar alertas, caso detecte alguma anomalia. Por exemplo, ele pode alertar você sobre aumentos inesperados de solicitações, um grande número de solicitações do mesmo usuário ou um número excepcionalmente baixo de solicitações.
Tempo de atividade
O tempo de atividade é extremamente importante para que as empresas forneçam serviços on-line. Muitos acordos de serviço (SLAs) permitem uma pequena porcentagem do tempo de inatividade durante períodos predeterminados. O APM monitora a disponibilidade da aplicação e compara os níveis com aquele estabelecido pelo provedor de serviços e pelo cliente.
Quais são os casos de uso do monitoramento da performance da aplicação?
Abaixo mostramos alguns casos de uso do monitoramento da performance da aplicação (APM).
Monitoramento de usuário real
O monitoramento de usuário real, ou monitoramento da experiência do usuário, é a coleta e análise de dados do usuário para obter um entendimento dos níveis de performance de uma aplicação. Ao estabelecer um parâmetro de performance aceitável, você poderá prever de forma precisa quando uma aplicação apresentará problemas. Por exemplo, se o número de clientes que estiverem tendo problemas quando tentam verificar itens for acima do limite, o APM enviará um alerta às equipes relevantes.
O monitoramento pode ser feito de duas formas:
- O monitoramento sintético simula o comportamento do usuário para capturar problemas, antes de liberar a aplicação para produção
- O monitoramento sem atendente analisa o tráfego da rede sem a necessidade de instalar agentes de software em aplicações monitoradas
Criação de perfil de transações definidas pelo usuário
Use as soluções de APM para recriar interações comuns do usuário com as aplicações. Com isso, você entenderá melhor as condições sob as quais os problemas ocorrem com os serviços digitais. As equipes de TI normalmente usam a criação de perfis de transações definidas pelo usuário para solucionar problemas de aplicações e corrigir problemas comuns dos usuários.
Monitoramento de componentes
O monitoramento de componentes, ou o monitoramento detalhado de componentes da aplicação, rastreia de forma abrangente toda a infraestrutura de TI. A performance completa de uma aplicação é monitorada e analisada. Os recursos monitorados incluem o uso da memória, servidores, utilização da CPU e componentes da rede.
Monitoramento da infraestrutura
Use as ferramentas de APM para coletar dados da infraestrutura de TI, como servidores (monitoramento do servidor), contêineres (monitoramento de contêineres), banco de dados (monitoramento do banco de dados), máquinas virtuais (monitoramento de máquinas virtuais) e outros sistemas de back-end. Isso é feito para detectar problemas na performance e para encontrar a causa raiz dos erros na aplicação.
Leia sobre a infraestrutura como serviço (IaaS) »
Análises
Um APM eficiente fornece dados para análise que as empresas podem usar para corrigir ou aprimorar suas aplicações. Algumas ferramentas de APM usam o algoritmo de inteligência artificial e machine learning (IA/ML) para conduzir análises preditivas, diagnosticar as causas raiz de erros e vincular problemas complexos na performance da aplicação.
Leia sobre a inteligência artificial na AWS »
Monitoramento de SLAs
Os acordos de serviço (SLA) são essenciais para um contrato entre os provedores de serviços de TI e um cliente. Eles definem os níveis de serviço necessários estabelecidos pelas duas partes. O APM monitora as métricas de performance nas estruturas do SLA, o que ajuda os provedores a atender as expectativas. Ele também destaca as áreas nas quais os provedores correm o risco de caírem abaixo dos padrões estabelecidos no SLA.
Qual é a diferença entre o monitoramento da performance de aplicações e a observabilidade?
As aplicações modernas com arquiteturas complexas demandam mais do que o monitoramento de performance de aplicações (APM) para solucionar problemas. A observabilidade integra informações de toda uma pilha de TI em uma plataforma central na qual insights e business intelligence de alto nível podem ser acessados. O APM é um subconjunto da observabilidade. Enquanto o APM oferece uma visão agregada das métricas, a observabilidade usa várias outras ferramentas, como o rastreamento distribuído, para ter um entendimento abrangente do comportamento da aplicação.
Como escolher a solução de monitoramento de performance da aplicação adequada para a sua organização?
Vários fatores devem ser considerados antes de integrar uma plataforma de monitoramento de performance da aplicação (APM) e seu conjunto de ferramentas ao ambiente de TI.
Adoção
Garanta que sua equipe entenda a lógica e os benefícios pessoais da introdução do APM. É necessário encontrar uma solução que se ajuste aos sistemas e processos existentes, com os quais sua equipe já está acostumada.
Recursos
Existem várias ferramentas de APM disponíveis. A plataforma de APM que você introduzir deverá ter as ferramentas adequadas para suas aplicações e ser compatível com a linguagem de programação usada.
Requisitos de custo
A introdução do APM poderá demandar recursos de computação consideráveis, principalmente se você pretende monitorar várias aplicações. Verifique se o seu orçamento está adequado para cobrir os recursos computacionais e o custo do APM em si.
Propriedade
Considere quem supervisionará e terá responsabilidade pelo APM. Quais equipes serão responsáveis pela manutenção e administração?
Como a AWS pode ajudar com o monitoramento da performance da sua aplicação?
Com o Amazon CloudWatch Application Signals, você pode monitorar a integridade atual das aplicações e acompanhar a performance delas a longo prazo em relação aos seus objetivos de negócios, sem alterações de código ou configuração manual de agentes. O Application Signals fornece uma visão unificada e centrada nas suas aplicações, serviços e dependências e ajuda a monitorar e fazer a triagem da integridade das aplicações. O Amazon CloudWatch é um serviço de monitoramento e observabilidade que permite monitorar aplicações, responder às mudanças de performance, otimizar o uso de recursos e obter insights sobre a integridade operacional.
Você pode usar o AWS X-Ray para identificar gargalos de performance em suas aplicações e isolá-los usando métricas, logs e rastreamentos correlacionados. O AWS X-Ray fornece uma visão abrangente da sua aplicação. Com isso, você pode localizar os gargalos na performance e identificar os usuários afetados de foma mais eficiente.
Alguns exemplos do que você pode fazer com o CloudWatch:
- Definir alertas para o monitoramento do fluxo de trabalho de endpoints e da IU do acordo de serviço (SLA) e do objeto de serviço (SLO)
- Coletar dados no cliente sobre a performance da aplicação em tempo quase real
- Experimentar os recursos em toda a pilha de aplicações, avaliar a performance e as métricas de negócios e lançar os recursos com segurança
Comece a usar o monitoramento de performance da aplicação (APM) na AWS, criando uma conta gratuita da AWS hoje mesmo.
Próximas etapas do monitoramento da performance de aplicações
Obtenha acesso instantâneo ao nível gratuito da AWS.