Compuware DynaTrace

Ola pessoal,
    Na ultima semana de setembro de 2014 participei de um treinamento bem bacana na atual empresa que trabalho, tratava-se de uma ferramenta que seria utilizada para monitoramento de performance das aplicações em produção, e o mais legal de tudo, com suporte as principais plataformas do mercado: .Net, Java, Ruby e outras. Bem, apesar de já ter passado por vários problemas graves em produção com JEE, quase sempre eu recorria as ferramentas mais conhecidas como: JConsole, VisualVM, JProfiler ou ainda o YourKit, o que dica-se de passagem sempre resolvia meus problemas. Achei tao interessante os recursos que ela oferece que resolvi compartilhar um pouco sobre o treinamento.   
Primeiro dia

    O primeiro dia aconteceu de modo semelhante a outros treinamentos técnicos que participei, uma breve introdução e logo após aprendemos o passo a passo necessário para fazer a instalação do produto, um ponto interessante que gostaria de destacar neste primeiro dia é referente a aplicação exemplo que a compuware disponibiliza para fazer os testes, trata-se de uma aplicação web feita com as duas principais plataformas do mercado: .Net e JEE.
      Depois da instalação podemos conhecer um pouco mais sobre o funcionamento do produto, ele possui um conceito interessante, o de sensor !  Enquanto outras aplicações de mesmo fim existentes no mercado utilizam de um agente plugado diretamente na vm e que drena bastante recursos do computador alvo, o dynatrace por outro lado diminui bastante isso devido a sua arquitetura, primeiro que apesar de ter também um agente plugado na vm as informações coletadas são enviadas pela rede para um outro produto, chamado coletor, apos isso os dados são enviados para um servidor central que ira fazer a análise e deixar disponíveis para que a aplicação cliente, a que utilizamos para análise, possa ler e exibir de diversas formas.
Plataformas Suportadas

Arquitetura do Dynatrace
       Logo após uma análise sobre a arquitetura do produto podemos entender também um outro conceito importantíssimo chamado de “pure path”. Imagine ter a visão da requisição do usuário desde o browser até a consulta realizada no banco de dados, eu simplesmente fiquei maravilhado ao saber que isso era possível e que o dynatrace já fazia, conforme pode ser visto na imagem abaixo :

Pure Path
Segundo dia

     O segundo dia foi tão interessante quando o primeiro, neste podemos ver o que na minha visão é a principal função de um profiling, a instrumentacao ! Bem, como era de se esperar o dynatrace não só é fantástico nesse quesito como também deixa seus concorrentes comendo poeira.

    Por meio da visão de pure path, nos podemos chegar até a causa raiz do problema, seja ele um método que está demorando muito, pausas excessivas da garbage collector para fazer o full gc ou ainda um problema de hardware. Dito tudo isto, fica fácil saber o que fazer e ainda pensar numa tratativa em termos de escalabilidade, seja ela horizontal ou vertical.

Visão geral da Aplicação

 

   Visão por localidade do usuário
      Uma outra funcionalidade sensacional do dynatrace, mas que gera uma enorme polemica sobre sua real finalidade é a de relatórios, pois bem, é possível criar diversos dashboards e monitorar a saúde tanto do hardware quando das aplicações que estão sendo analisadas, até ai tudo bem, a polemica começa quando o dynatrace chega no nível de dizer, por exemplo, quantas transações de negocio o usuário fez por um determinado método, isso é uma mão na roda quando queremos ter a visão de negocio relacionada a aplicação, uma especie de BI.

Último dia

      O último dia foi para aplicar os conceitos aprendidos, dai podemos aproveitar a experiencia do instrutor e analisar uma aplicação de alta disponibilidade que possuímos no grupo, já com a visão melhorada sobre o que é a ferramenta e do que ela é capaz, diversos pontos puderam ser vistos e diversas melhorias já foram sugeridas.

Conclusão

     Em síntese,  posso dizer com um pouco da minha experiencia nesse tipo de software, que o dyantrace figura como uma das melhores ferramentas de APM existentes no mercado, altamente recomendável para empresas de grande porte que desejam aumentar a visão em torno dos problemas de performance que por ventura estejam passando.
    Por último, cabe ainda mencionar o fato de que esta ferramenta pode e deve ser utilizada em desenvolvimento, haja vista que existem problemas que podem perfeitamente serem resolvidos a contento, antes que se chegue em produção.
Abrcs
Natanael Fonseca

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s