Ferramentas para gerenciamento de desempenho de aplicativos corporativos (APM)

Os aplicativos corporativos precisam de alta escalabilidade para atender a uma grande base de usuários finais. Os principais problemas enfrentados pelas equipes de TI nessas organizações são monitorar o tempo de atividade e garantir o bom desempenho de seus aplicativos de negócios. Para resolver esses problemas, as empresas precisam fazer investimentos estratégicos em ferramentas de APM (Application Performance Management / Gerenciamento de Desempenho de Aplicativos) de ponta a ponta que podem capacitar a equipe de operações de TI para fornecer aplicativos de negócios que atendam às expectativas do cliente.

Tipos de aplicativos usados ​​por empresas

A movimentação de aplicativos essenciais para os negócios, como CRM, gerenciamento de contatos, rastreamento de pedidos, etc., para a nuvem é uma tendência que está crescendo muito rapidamente, especialmente por causa de seus benefícios de produtividade para uma força de trabalho móvel. As grandes empresas também começaram a consolidar sua infraestrutura e adotaram esse modelo de entrega.

Tradicionalmente, muitos ISVs também fornecem aplicativos SaaS para organizações de terceiros (ASPs). Esses eram aplicativos voltados mais para o mercado de pequenas e médias empresas, onde a adoção devido ao custo e menos problemas de manutenção foram os principais fatores de condução. Também há uma tendência de mover esses aplicativos para uma arquitetura amigável em nuvem (mover online), de modo que seja dimensionado para grandes organizações e possam reduzir os custos de manutenção e suporte.

Aplicação típica: Aplicação de gerenciamento de despesas corporativas

Vamos dar um exemplo de um típico aplicativo Enterprise Expense Management usado pela ZOHO Inc que é usado por uma força de trabalho móvel. Um aplicativo de gerenciamento de despesas ajuda a força de trabalho a estar em conformidade com as políticas da empresa sobre despesas com viagens e também os ajuda a relatar adequadamente. Além disso, para a organização, é uma forma eficaz de controlar as despesas de viagem ou outros custos de serviço ao cliente.

Os relatórios em intervalos regulares de tempo ajudam a equipe financeira a estar em conformidade com a lei e também os ajudam a compreender o impacto de várias políticas no padrão de despesas de seus funcionários. Porém, por trás dessa facilidade de uso, está uma infraestrutura complexa.

Problemas típicos enfrentados por um usuário final

John é um consultor de vendas que trabalha para a ZOHO Inc e viaja muito para encontrar clientes. Ele usa um aplicativo de gerenciamento de despesas fornecido por sua equipe de TI. No ano passado, no final do quarto trimestre, ele teve uma reunião com um cliente importante em Nova Jersey. Após a reunião, a caminho do aeroporto, ele tenta acessar o aplicativo e atualizar os dados de faturamento. No entanto, às 10:10 ele está preso a um aplicativo extremamente lento. O motivo pode ser qualquer coisa, desde um caso isolado de um problema de conectividade de seu dispositivo a um problema no datacenter onde o aplicativo de gerenciamento de despesas está hospedado.

Ele registra o problema imediatamente com o Help Desk por meio de uma chamada telefônica. O help desk identifica que este é um problema que os usuários relatam regularmente, porém, eles não têm uma solução em mãos.

Resposta típica da equipe de operações

A equipe do aplicativo diz que não há problema com o servidor de aplicativos que hospeda o aplicativo e que vários parâmetros de configuração são adequados. Os administradores Oracle também encontram tudo no lugar. Este é um problema típico para as equipes de operações. Aparentemente, não parece haver um problema no que diz respeito às várias equipes de aplicativos, no entanto, os usuários finais não estão satisfeitos.

O administrador do WebLogic, entretanto, sabe que se eles reiniciarem todos os servidores de aplicativos, o problema desaparece. Portanto, eles reiniciam os servidores de aplicativos e mantêm os dedos cruzados. Este é um problema típico para muitos aplicativos SaaS.

As ferramentas tradicionais de monitoramento de rede não são boas o suficiente

Por que esses aplicativos são tipicamente complexos?

Um aplicativo destinado a um grande público normalmente seria desenvolvido usando a tecnologia Java EE ou Microsoft .NET. Normalmente, são aplicativos da web para facilitar o acesso e também multicamadas para garantir alta escalabilidade. Abaixo está um diagrama de arquitetura para um aplicativo da web típico usando o modelo de entrega SaaS.

Camada da web

A camada da web está normalmente presente para servir conteúdo estático e outro conteúdo avançado. Também ajuda a reduzir a carga na camada do aplicativo, movendo funções especializadas para o melhor software da categoria. Normalmente Apache, IIS, IBM HTTP e etc., normalmente desempenham a função de um servidor da web devido à sua natureza robusta.

Camada de aplicativo

A camada de aplicativo consiste na lógica de negócios e cuida da interação com os mecanismos de armazenamento de dados. Ele também consiste na camada de apresentação em uma arquitetura MVC. A escalabilidade dessa camada depende de quantas sessões de usuário podem ser atendidas pela camada do aplicativo. Para o Expense Management Application, a organização usa um Oracle WebLogic 9 Application Server como o componente de middleware.

Camada de banco de dados

Normalmente consiste em um RDBMS como Oracle, SQL Server ou bancos de dados como MySQL, que são bastante populares para implantações de SaaS. Os bancos de dados normalmente são agrupados para formar uma arquitetura de grade que ajuda a garantir alta disponibilidade e escalabilidade horizontal.

Um exemplo de desafio de tecnologia

O aplicativo de gerenciamento de despesas é construído de forma que haja dois clusters de banco de dados que trabalham juntos para armazenar os dados. Cada cluster possui um servidor de banco de dados master e um servidor de banco de dados slave. Há também um Free Node que assume como servidor de aplicativos ou servidor de banco de dados conforme a necessidade. Portanto, praticamente, se um desses clusters de banco de dados estiver inativo, quase 50% dos usuários serão afetados, pois os dados são segmentados em dois clusters de banco de dados.

Da mesma forma, a camada do servidor de aplicativos possui dois tipos de servidores. Um grupo de cinco servidores de aplicativos faz trabalhos de back-end como agendar relatórios, mineração de dados, etc. Enquanto outro conjunto de três servidores de aplicativos serve o cliente web aos usuários. O monitoramento deve ser feito por meio desses servidores de aplicativos Web Client para garantir que os tempos de carregamento da página sejam aceitáveis ​​para os usuários finais.

Identifique os padrões de problema

O que pode ser feito? Bem, a solução óbvia é garantir que a equipe de operações tenha as ferramentas certas para monitorar primeiro o desempenho. Eles também precisam estar equipados com as ferramentas corretas de solução de problemas para verificar o servidor, o servidor de aplicativos, o servidor de banco de dados e a rede. Ao monitorar o desempenho do aplicativo de maneira proativa, as empresas podem garantir que sua força de trabalho tenha melhor experiência e maior produtividade, o que as ajudará a tomar melhores decisões.

Qual é o significado de APM (Application Performance Management)?

O gerenciamento de desempenho de aplicativos (APM) trata do fornecimento de aplicativos de negócios que atendam à satisfação do cliente por meio de monitoramento profundo, solução rápida de problemas e rastreamento da experiência do usuário final. Para fazer isso, a equipe de Operações de TI também deve estar no controle de todo o processo de entrega do aplicativo. Eles devem ser capazes de tomar decisões informadas e resolver problemas rapidamente e fazer o melhor uso de seu tempo. Tudo isso no final resulta em clientes satisfeitos, operações de TI executadas com eficiência e melhor ROI.

Principais problemas enfrentados pelos usuários finais:

  • A aplicação é lenta durante certos períodos do dia ou da semana.
  • Erros graves de aplicativo que corrompem dados.
  • Resposta inadequada do Suporte L1 sobre o motivo do problema.
  • Problemas anteriores recorrentes e dificultam a capacidade dos usuários de usar o aplicativo.
  • Baixa moral do usuário final e perda de produtividade.

Principais problemas enfrentados pela equipe de operações na entrega de aplicativos:

  • Falta de ferramentas adequadas para solucionar problemas de tempo de inatividade.
  • Ferramentas não integradas tornam a solução de problemas demorada.
  • Falsos Alertas.
  • Incapacidade de compreender o impacto real de um tempo de inatividade no aplicativo.
  • Mudança de responsabilidade entre várias equipes de tecnologia, como equipe de rede, equipe de servidor, equipe de administração de servidor de aplicativos, equipe de banco de dados, etc…
  • Falta de dados acionáveis, mesmo com tantas ferramentas de monitoramento.
  • Identificar a causa raiz de um problema devido ao grande número de recursos monitorados.
  • Falta de recursos qualificados que entendam várias tecnologias.

Principais atividades desempenhadas pela equipe de operações:

  • Tomada de ações corretivas e garantir o tempo de atividade dos aplicativos.
  • Planejamento de capacidade.
  • Garantir a experiência do usuário final.
  • Lidar com reinicializações e backups de aplicativos.
  • Manutenção de sites de recuperação de desastres e sites de alta disponibilidade.

Esses problemas podem ser solucionados com o processo e as ferramentas corretas.

O que você precisa:

As ferramentas tradicionais de monitoramento de rede não são boas o suficiente. Você precisa examinar mais a fundo o aplicativo para saber o impacto real das arquiteturas de serviço e das cargas em tempo real na experiência do usuário final.

Gestão de desempenho de infraestrutura

Consiste em rastrear as métricas de desempenho de aplicativos e servidores para garantir o uso ideal dos servidores. As ferramentas de monitoramento tradicionais fazem verificações simples de tempo de atividade ou parada com o monitoramento da utilização da CPU ou da memória do servidor. No entanto, conforme a infraestrutura se torna complexa, é essencial monitorar os aplicativos nesses servidores e suas métricas de desempenho para entender melhor onde está o gargalo. Com as arquiteturas de aplicativos da N Tier, vem a complexidade. Portanto, também é essencial monitorar o tempo de atividade e o desempenho das várias camadas, como servidores de banco de dados, servidores da web, servidores de correio e outros serviços da web.

Por exemplo, para verificar se um servidor está ativo, podemos fazer ping no servidor. Da mesma forma que para verificar a disponibilidade do banco de dados, fazer ping no servidor não é suficiente. Precisamos executar uma consulta SQL para garantir que o banco de dados esteja realmente funcionando. Além disso, para saber o desempenho de um banco de dados Oracle, também precisamos monitorar métricas como taxas de acertos do cache, uso do espaço de tabela, etc., que são específicas para o recurso que está sendo monitorado. Isso é semelhante ao monitoramento da utilização da CPU do servidor. A vantagem de monitorar essas métricas é melhor visibilidade sobre o uso desses bancos de dados, recursos de solução de problemas mais rápidos e uso ideal de seus servidores.

Monitoramento da experiência do usuário final ou gerenciamento de desempenho do aplicativo

O monitoramento da utilização da CPU e da utilização da memória são úteis para garantir o lado da tecnologia dos recursos. No entanto, falta uma capacidade principal. Sabendo que o servidor que executa seu servidor de e-mail ou da web tem menos de 20% de utilização da CPU, isso não dá a você a visibilidade do tempo de resposta real que o usuário final experimenta ao usar seus serviços.

O monitoramento da experiência do usuário final é um acréscimo inestimável ao monitoramento do desempenho da infraestrutura porque o ajuda a fornecer melhor qualidade de serviço aos usuários do serviço.

Alguns indicadores-chave de desempenho para medir a experiência do usuário final são métricas como:

  • Quanto tempo leva para sua página da web carregar.
  • Quanto tempo leva para executar a transação de checkout.
  • Quanto tempo leva para enviar um e-mail via servidor de e-mail etc.
  • Quanto tempo leva para fazer uma solicitação de pesquisa LDAP.
  • Quanto tempo leva para baixar um anexo de 1 MB por meio do FTP site.

O monitoramento da experiência do usuário final ajuda a provar para a linha de negócios que você está garantindo os SLAs prometidos em palavras e atos.

Solução de problemas de desempenho

Depois que um problema é relatado, quanto tempo leva para identificar a causa raiz do problema? Horas, semanas ou meses? O problema deve ser notificado ao administrador do banco de dados, equipe do servidor de aplicativos ou equipe de desenvolvimento? Com uma infraestrutura heterogênea, isso se torna muito tedioso.

As ferramentas de solução de problemas de aplicativos ajudam a descobrir a causa raiz de um problema relatado. Por exemplo, uma ferramenta Java Transaction Monitoring poderia entrar nos detalhes das transações Java em execução de um servidor de aplicativos e ajudar a identificar quais consultas SQL estão demorando para serem executadas ou quais métodos na classe Java estão tornando o aplicativo mais lento. Isso ajuda a economizar um tempo precioso para que sua equipe de aplicativos resolva um problema.

No longo prazo, também ajuda a garantir um melhor desempenho de aplicativos que não apenas são escaláveis, mas também são confiáveis, facilitando a vida das operações de TI.

Applications Manager da ManageEngine para APM – Application Performance Management

APM-Saas

Monitore um Datacenter Heterogêneo

O Applications Manager fornece monitoramento em profundidade para servidores, servidores de aplicativos, bancos de dados, ERPs como SAP, serviços da web, serviços de rede e uma variedade de outros recursos de gerenciamento de aplicativos que ajudarão os administradores de TI a gerenciar seus recursos.

Monitore um Datacenter Heterógeno

O monitoramento profundo ajuda você a planejar a capacidade, solucionar problemas rapidamente e visualizar relatórios de utilização para seus vários aplicativos. É fácil de configurar e usa uma abordagem sem agente para monitoramento.

O suporte pronto para uso para vários aplicativos ajudará sua equipe de TI a rastrear problemas de desempenho em um único console, tornando mais econômico e fácil para seus técnicos trabalharem em um problema.

Agrupando recursos para uma melhor tomada de decisão

O Applications Manager ajuda a agrupar seus recursos de TI e mapeá-los para o Serviço de Negócios que ele impacta. Isso garantirá que a equipe de TI saiba quais eventos são mais críticos do que os outros. Isso também ajudará as operações a terem uma imagem melhor do farm de servidores. Por exemplo, saber quais servidores pertencem ao Aplicativo da Loja Online e qual deles pertence à Folha de Pagamentos, ajudando a priorizar os problemas de produção. Também ajuda a garantir o uso ideal de tempo e recursos.

Gestão de Alarme

Muitas ferramentas de monitoramento díspares sem qualquer forma de integração podem criar muito ruído. Alertas falsos podem deixar a equipe de TI complacente, mesmo quando um alerta genuíno é emitido. Portanto, é essencial garantir que existem técnicas adequadas de correlação de eventos em vigor. Investir em um aplicativo integrado, servidor, banco de dados e ferramenta de monitoramento de serviço de rede ajuda a gerenciar a infraestrutura de forma mais simples. O mapeamento de aplicativos e serviços de rede também ajuda a aumentar a proporção de eventos válidos para alarmes. Além disso, o Applications Manager da ManageEngine também oferece suporte à correlação de eventos para aplicativos em cluster e arquiteturas de alta disponibilidade de forma inteligente.

Telas Gráficas que ajudam a equipe de Operações a ter uma visão geral sobre seu ambiente

O agrupamento de recursos relevantes como serviços de negócios e o recurso de gerenciamento de alarmes pode ajudar a fornecer um mapa de topologia do aplicativo em uma visualização de plasma. Isso pode ajudar a equipe de operações a entender o panorama geral de como a infraestrutura funciona. Isso é inestimável, especialmente quando há uma emergência.

Em vez da equipe de operações ir para servidores diferentes e usar ping, correr atrás de senhas, etc, uma representação gráfica da rede, status de várias rotas, servidores e aplicativos pode ajudar a equipe a realizar suas tarefas rapidamente.

Panorama geral do ambiente

Planejamento de capacidade

O planejamento da capacidade é importante para garantir que a equipe de TI provisione os servidores a tempo para atender às necessidades dos negócios. Diferentes aplicativos e tecnologias têm diferentes métricas que ajudam no planejamento de capacidade. Por exemplo, se a tecnologia usada for Java EE, as métricas de desempenho críticas para o funcionamento eficaz são o uso de memória JVM, memória livre, etc. Essas métricas ajudam a entender a carga no aplicativo e garantem uma boa escalabilidade do aplicativo.

O Applications Manager ajuda no planejamento da capacidade, encapsulando a complexidade do monitoramento dessas métricas e fornece relatórios fáceis de usar para um planejamento eficaz.

Planejamento de capacidade

As empresas precisam de uma arquitetura de alta escalabilidade para atender às suas necessidades de negócios. Essas arquiteturas tornam complexo para os administradores de TI o gerenciamento usando as ferramentas tradicionais do NSM. Além disso, a pressão de entregar mais com menos recursos força as empresas a fazer o uso ideal do hardware disponível sem comprometer a experiência do usuário final.

O Applications Manager ajuda o CIO a garantir que seus investimentos em aplicativos de missão crítica estejam funcionando conforme planejado na produção. Além disso, ajuda a conhecer os tempos de inatividade do aplicativo, o planejamento da capacidade e a solução de problemas rápida ao encapsular a complexidade do monitoramento de uma TI heterogênea.

Faça já o upgrade ou inicie sua avaliação gratuita de 30 dias do Applications Manager da ManageEngine, contando sempre com o apoio da equipe ACSoftware.

ACSoftware revenda e distribuidora ManageEngine no Brasil. – Fone / WhatsApp (11) 4063 9639.

PodCafé da TI – Podcast, Tecnologia e Cafeína.

SpotifyApple PodcastsGoogle PodcastsDeezerYouTube

Deixe um comentário

Blog ACSoftware - ManageEngine