Por Techopedia Staff, 6 de setembro de 2017
Takeaway: O anfitrião Eric Kavanagh discute o gerenciamento de desempenho da PeopleSoft com Matt Sarrel e Bill Ellis neste episódio da Hot Technologies.
Eric Kavanagh: Tudo bem, senhoras e senhores. Olá e bem-vindo de volta mais uma vez. É quarta-feira, às 4 horas da manhã, no leste dos Estados Unidos e, nos últimos anos, significa que neste mundo de TI e grandes empresas e dados, é hora de Hot Technologies. Sim, de fato, meu nome é Eric Kavanagh. Serei seu moderador no evento de hoje.
Nós vamos falar sobre os sistemas que administram negócios, pessoal; estamos falando do PeopleSoft, como gerenciar o desempenho de ambientes complexos. Eu sempre gosto de mencionar, você desempenha um grande papel nesses eventos, então, por favor, não seja tímido. Faça sua pergunta a qualquer momento; você pode fazer isso usando a janela de bate-papo ou as perguntas e respostas - de qualquer forma. Eu adoraria ouvir o que você quer saber e essa é a melhor maneira; você obtém o melhor valor pelo seu tempo. Arquivamos todos esses webcasts para ouvir posteriormente, portanto, lembre-se disso.
Se os sistemas estiverem funcionando lentamente, lembre-se de como era a vida. Essa foto é de 1968, cortesia de uma senhora chamada Danelle, e devo dizer que esse é realmente um lembrete de quanto as coisas mudaram. O mundo ficou notavelmente mais complexo e, é claro, as necessidades comerciais e a experiência do usuário tendem a andar de mãos dadas. Mas atualmente, há um pouco de desconexão. Há uma incompatibilidade, como costumamos dizer, e o fato é que as pessoas de negócios sempre querem as coisas cada vez mais rápido, as equipes de TI que precisam entregar são as que são pressionadas para realizar o trabalho e é um mundo intenso lá fora.
Devo dizer que a concorrência esquentou em todos os lugares. Se você apenas olhar para qualquer setor, poderá ver que há grandes desenvolvimentos hoje em dia - a Amazon comprando a Whole Foods, por exemplo. Você pode ter certeza de que o setor de supermercados está dando uma olhada nisso. Vemos isso em todo o lugar, por isso é realmente importante para os líderes empresariais garantir que eles descubram como - e aqui está a palavra da moda nos dias de hoje - transformar digitalmente, como ir além do quadro de distribuição antigo para sistemas muito mais novos e robustos. É sobre isso que falaremos hoje.
Um dos problemas que muitas organizações enfrentam, especialmente aquelas que já existem há algum tempo, são esses sistemas legados. Esse é um antigo mainframe da IBM da época. Existem sistemas legados em todos os lugares. Uma das piadas é que um sistema legado é um sistema em produção, ou seja, no momento em que entra em produção, tecnicamente é um sistema legado. Sempre haverá novas maneiras de fazer as coisas.
E há alguns desenvolvimentos muito interessantes nos últimos anos sobre encontrar maneiras de reconciliar virtualmente sistemas para não necessariamente melhorar apenas o desempenho de um sistema, mas para encontrar uma maneira de criar uma espécie de ramificação ou tática de descarregamento para lidar com desempenho. em outros caminhos. Hoje, falaremos mais sobre como melhorar o desempenho de um sistema como o PeopleSoft, que obviamente é incrivelmente complexo. Mas, quando bem feito, carregado, implementado e bem gerenciado, pode fazer coisas maravilhosas. Mas quando não é bem gerenciado, é quando você tem todos os tipos de problemas.
Então o que acontece? Você precisa ser realista sobre as coisas e em qualquer ambiente, se os usuários não conseguirem o que querem, mais cedo ou mais tarde eles vão para os sistemas sombrios. Isso acontece o tempo todo. Os sistemas de sombra podem ser muito produtivos, podem ajudar as pessoas a fazer o trabalho. Mas é claro que existem muitos problemas. Certamente, em toda a área de conformidade e regulamentação, os sistemas de sombra são um grande não-não. Mas eles estão por aí e acho importante lembrar que seus sistemas, se o sistema principal não estiver funcionando rapidamente ou com eficiência, mais cedo ou mais tarde haverá soluções alternativas e essas soluções podem ser muito difíceis de descobrir. pode ser difícil de pôr do sol porque acabam sendo críticos para os negócios. Eles podem ser difíceis de integrar, portanto, lembre-se de que existe e é apenas mais um motivo para melhorar o desempenho.
Recentemente, ouvi falar dessa expressão e tenho que divulgá-la: “a tirania da urgência”. Acho que ao ouvir que você provavelmente sabe do que estou falando e o que acontece na maioria das organizações, a carga de trabalho atinge uma massa crítica, e as pessoas estão fazendo o máximo que podem, e fica muito difícil mudar qualquer coisa. Você acaba sofrendo com a "tirania da urgência" - tudo precisa ser feito imediatamente. Bem, a atualização de um sistema não acontece imediatamente.
Qualquer pessoa que já tenha passado pela atualização de um ERP de uma versão para outra sabe que é um processo relativamente doloroso, portanto, lembre-se disso: se você o vê em sua organização, reconheça. Espero que você possa entrar em contato com alguém ou se você é uma pessoa sênior, como um CIO, CTO ou CEO, reconheça que esse é um cenário muito perigoso, porque quando você está atrás da bola oito, é realmente difícil sair por trás bola oito.
É como todo o enigma da maratona: se você parar muito atrás em uma corrida de algum tipo e todo mundo estiver à sua frente e você ainda estiver correndo, será muito difícil recuperar o atraso se você ficar muito para trás. Portanto, apenas tome cuidado com isso e lembre-se disso.
E com isso, vou entregá-lo a Matt Sarrel para nos dar algumas idéias sobre como lidar com a complexidade nos ambientes PeopleSoft. Matt, leve embora.
Matt Sarrel: OK, obrigado, Eric. Olá a todos. Então, vamos ver, vou começar dizendo por que acho que sou a pessoa certa para conversar com você sobre gerenciamento de desempenho. Então, eu tenho 30 anos de experiência em tecnologia. Eu meio que gosto de dizer que trabalhei como um hands-on, administrador de rede, diretor de TI, vice-presidente de engenharia de algumas startups. Então eu fiz essa transição para ser diretor técnico da PC Mag. Aqui está minha foto, mas basicamente eu pareço uma criança.
E depois foi jornalista em várias publicações diferentes, como a eWeek e InfoWorld, sendo analista da Gigahome, trabalhando em rede com o Bloor Group e executando uma consultoria também. E sou eu: essa foto à esquerda é como eu sou agora. Essa foto no meio é onde eu estou muito feliz - em uma sala cheia de fios e luzes piscantes, e onde está frio - deve estar muito frio e todo mundo precisa se sentir desconfortável para eu me sentir confortável com a temperatura- sensato. E há as minhas informações de contato, caso você tenha alguma dúvida.
Quero montar o palco aqui e apenas falar sobre performance, como Eric falou. Agora entramos neste mundo em que os usuários têm essa expectativa definida por aplicativos e sites de consumo. E as pessoas costumavam estar dispostas a ir trabalhar, sentar e esperar por seus sistemas, porque era disso que eles precisavam, e agora as pessoas não estão realmente dispostas a sentar lá. Portanto, é uma questão de saber se eles querem essa motocicleta voando pela pista. Eles provavelmente não querem o cara andando de bicicleta e carregando a filha para a escola. Mas o que você vai fornecer?
E é difícil porque - na verdade, eu fui generoso com esse período de um a três segundos - as pessoas também querem uma resposta imediata e querem acesso de qualquer lugar. Esse local pode estar em qualquer lugar do seu prédio ou campus, ou em qualquer lugar do mundo a qualquer momento, dependendo de como a sua empresa funciona. E acho que o que estou desenvolvendo é que, quando falamos de desempenho, é importante pensar sobre o desempenho do ponto de vista da experiência do usuário.
É importante definir metas de desempenho antes de medir e ajustar. Eu tenho essa imagem de um sintonizador e depois de um sintonizador. O homem que é um afinador, ele precisa saber o que está afinando ou não faz sentido colocar as mãos no piano e afiná-lo. Portanto, definir metas de antemão, isso meio que manterá a realidade, em vez de adaptá-las à situação atual. É importante monitorar as métricas ao longo do tempo e perceber como os sistemas mudam com o desempenho do aplicativo de carregamento do usuário, o que é afetado por cenas de recursos e padrões de uso.
É sempre importante correlacionar tudo isso com uma experiência do usuário ou incidentes de suporte, estabelecer uma linha de base para o desempenho que você espera obter e, quando estiver se aproximando de desvios dessa linha de base, ter alertas proativos para que você possa agir antes de atingirmos o status de "falhar baleia". E você sabe que isso requer a capacidade de determinar e resolver a causa raiz do problema de desempenho de maneira muito rápida e fácil. E, novamente, este é o mais cedo, melhor, certo?
Sabemos que, desde o passado, analisando os esforços de desenvolvimento, quanto mais cedo você encontrar e corrigir problemas de desempenho, melhor será. Se você esperar até que todo o seu código ou sistema esteja ativo para iniciar o teste de desempenho ou começar a descobrir problemas, não vou dizer que é tarde demais, mas, novamente, agora você é o cara que teve um mau começo na maratona e agora você está tentando recuperar o atraso em vez de pular para a frente e sair à frente. Então como você faz isso? Você antecipa sua média e seu pico de carga?
E você segue em frente e dimensiona seus servidores físicos ou servidores virtuais ou suas instâncias de nuvem ou seus contêineres e seus recursos de contêiner e, em seguida, executa uma prova de conceito e executa um piloto? Esses são os momentos em que isso acontece, o fim de onde você quer pegar algo, embora ainda seja melhor pegá-lo na produção do que ignorá-lo na produção. Mas, na verdade, quando você está no seu piloto, você já deve ter estabelecido sua metodologia e procedimentos para monitorar e melhorar continuamente.
OK, muitas empresas - falamos sobre transformação digital. DevOps, na revolução do DevOps, está desempenhando um papel enorme nessa transformação digital. E este é um processo de ponta a ponta que realmente nunca para. Então é como as duas mãos se desenhando, e isso é uma coisa boa. É um loop infinito entre essas duas mãos: planejar, codificar, construir, testar, liberar, implantar, operar, monitorar e voltar ao planejamento. Ele se alimenta e nós o automatizamos para ir rapidamente. Ele cria um ciclo de feedback de monitoramento de desempenho de produção e o utiliza para descobrir proativamente problemas de desempenho e corrigi-los antes que eles afetem toda a sua base de usuários.
E outra coisa, agora que você entende, os desenvolvedores de TI e a equipe de operações se movendo muito rapidamente e alinhados, você também pode alinhar facilmente esses esforços com a equipe de negócios. O desempenho do software corporativo é uma fera complexa. Pode-se compará-lo a um time de futebol sentado em frente a uma lousa, tomando direção, e tudo funciona separadamente e tudo funciona juntos. Eu sempre penso nisso como a velha história de quando peguei meu primeiro carro e consertei uma coisa. Eu consertei o ar condicionado e o que aconteceu foi que o resto do sistema de refrigeração falhou. Então você tem seus pontos negativos e tudo está indo junto e fazendo ajustes. Você precisa organizar tudo dessa maneira e criar os processos para que, ao fazer suas alterações, entenda como tudo afeta todo o resto.
E também tenha cuidado e verifique. Teste, invalide, implemente. E, novamente, chegamos a esta questão de criar programas contínuos de monitoramento e melhoria de desempenho. E este é, de fato, meu último slide. Enquanto falamos sobre essa complexidade, e é uma bela complexidade, assim como o interior deste relógio, temos muitas peças em movimento no PeopleSoft. Cada coisa afeta todo o resto da pilha. E há tantos lugares diferentes onde você pode procurar as chaves para os problemas de desempenho que você pode facilmente se perder sem a ferramenta certa e sem o processo certo. E, novamente, em tudo, em muitos casos, o que acho que aprendemos é que você pode solucionar problemas de infraestrutura, mas a grande variável será seu código de aplicativo personalizado. Portanto, ter os processos certos para testar e melhorar continuamente o código do aplicativo é o que será fundamental.
E esse é o fim da minha parte, e eu entregarei isso a Bill.
Eric Kavanagh: Tudo bem, Bill, deixe-me dar as chaves da WebEx aqui. Eu gosto dessa bela complexidade - essa é boa. Você fez algumas citações muito boas lá, Matt. Ok, Bill, leve embora. Vá para "início rápido" se desejar compartilhar sua tela. Todos vocês.
Bill Ellis: Obrigado, Matt, e obrigado, Eric. Só para confirmar, vocês todos podem ver minha tela agora?
Eric Kavanagh: Sim, de fato.
Bill Ellis: Então, falaremos sobre o produto da IDERA, Precise for PeopleSoft, e a visibilidade que eles podem fornecer para ajudá-lo a ter sucesso no gerenciamento da complexa pilha de aplicativos. Uma maneira de posicionar a dificuldade é que um aplicativo, no mínimo seis tecnologias, inúmeros usuários finais e torna muito difícil responder a perguntas simples. Um usuário final está tendo um problema? Quem é o usuário final, o que eles estão fazendo, qual é a causa raiz?
O que normalmente vemos é essa situação - e isso pode se aplicar ao PeopleSoft e a outros aplicativos ou PeopleSoft interagindo com outros aplicativos - está nos conjuntos de dados ou pode ser a nuvem atualmente, um usuário final não se importa realmente com essa complexidade. Eles só querem concluir a transação, abordagens, pesquisa de inventário, relatório de cartão de ponto, esses tipos de coisas. Se as coisas estiverem lentas ou indisponíveis, geralmente todas essas pessoas inteligentes e bem-intencionadas não têm conhecimento até o usuário final reclamar.
Essa é uma espécie de lacuna de visibilidade, e o que pode acontecer é que pode iniciar um processo demorado e frustrante, em que as pessoas podem abrir uma ferramenta e ver, infelizmente, apenas um subconjunto da pilha de aplicativos. Portanto, permanece o tipo de dificuldade em responder a essas perguntas básicas.
E muitas vezes pode haver um problema e você vai ao administrador do WebLogic e ele diz: “Bem, a memória e a coleta de lixo ficam ótimas. Realmente não acho que seja o WebLogic. ”Você vai ao administrador do DBA e eles dizem:“ Bem, o banco de dados está funcionando exatamente como estava ontem. Os dez melhores parecem bons. Talvez o administrador de armazenamento tenha encontrado algumas métricas como E / S por segundo ou taxa de transferência, que são métricas no nível de quadro e podem não refletir em seu aplicativo específico, muito menos no banco de dados ou processo específico. ”
E todos eles têm essas métricas que parecem mostrar que o problema está em outro lugar, mas esse usuário final está tendo um problema ou relatou um problema, mas como podemos resolvê-lo de uma maneira melhor? E a melhor maneira, a maneira precisa - ou esta é a maneira que estamos oferecendo - é medir as transações do usuário iniciando no navegador pela rede, no servidor da web, no Java Jolt, no Tuxedo, no banco de dados, incluindo o DB2 e finalmente no armazenamento.
E o que isso mostra é que o tempo total diz: “Bem, quem está tendo um problema?”. E então podemos identificar o usuário final pela forma como eles se conectaram ao PeopleSoft e também podemos capturar através da tradução do Tuxedo o que os painéis do PeopleSoft estão executando.
Portanto, os horários são inseridos em um repositório histórico que chamamos de banco de dados de gerenciamento de desempenho e isso se torna uma única peça de música que simplifica muito quem, o que, quando, onde e por quê. Precise também inclui recomendações. Provavelmente, o mais importante é que capturamos todas as informações o tempo todo - no nível da equipe técnica de TI - você pode medir o antes e o depois. Assim, você pode trazer medição por medida ou Six Sigma para toda a operação do desempenho.
Então, vamos dar uma olhada em "um dia na vida". Antes de tudo, você pode abrir a tela de alerta Precise e é aqui que você receberá um aviso prévio. O alerta mais importante é que você tem alertas de atividade. Então, isso é usuários exercendo transações e basicamente não estamos cumprindo nossos SLAs. Da mesma forma, temos um status quando a disponibilidade - e isso significa basicamente que uma parte da nossa infraestrutura de aplicativos não está disponível - para que possamos detalhar e realmente ver como as instâncias do Tuxedo no formulário e você pode realmente ver que um dos instâncias está inoperante. Toda a atividade está sendo enviada para essa instância e está tendo que lidar com isso. Basicamente, criamos um gargalo.
Agora, para a atividade que está sendo executada, é possível começar a descobrir que, embora tenhamos esse problema geral de infraestrutura, existem maneiras de melhorar a eficiência do processamento nessa JVM for WebLogic específica. E é aí que realmente existe uma coisa importante: muitas vezes as pessoas estão se movendo para uma nuvem e dizem: "Bem, quanto de CPU e quanta memória você precisa?"
Bem, o outro lado dessa moeda conhecido como capacidade é a eficiência do processamento. Se eu uso menos memória, se uso menos CPU, simplesmente não preciso de tanto. E, como Matt disse anteriormente, tudo está relacionado. Agora, o que posso fazer é abrir a tela de transações do PeopleSoft e, na tela, o eixo y é o tempo de resposta, o eixo x é o tempo ao longo do dia.
Temos aqui um gráfico de barras de pilha que mostra o tempo do cliente. Na verdade, esse é o navegador, servidor da web. O verde é hora do Java, o tipo de rosa é o smoking, o azul escuro é a hora do banco de dados. Este perfil não aconteceu por si só; aconteceu por causa dos painéis PeopleSoft específicos - eles foram executados e são apresentados a você pelo tempo de resposta. Na verdade, existe um tempo para cada etapa do aplicativo, além de um gráfico de barras da pilha que mostra o aplicativo aqui, painel por painel. Também posso pesquisar e encontrar um usuário específico ou classificar meus usuários.
Essa tela permite especificar um usuário específico pelo nome de login. Pense em quão notável ou poderoso isso é. Muitas vezes, não se trata apenas da infraestrutura e como ela é configurada, é como os usuários finais estão usando o sistema. Você pode ter um novo contratado ou alguém com uma nova função: Talvez ele não saiba como usar o aplicativo corretamente. Isso pode realmente ajudar a identificar oportunidades de treinamento.
O outro lado da moeda é se eu puder me concentrar em um usuário específico - aqui estou vendo esse usuário em suas transações particulares e no tempo de resposta que eles experimentaram - eu sou capaz de abordar diretamente a experiência do usuário de um determinado do utilizador. Não se trata mais de métricas genéricas no nível do sistema, é sobre a experiência do usuário final e isso é muito poderoso. Partes do seu ambiente certamente serão internas, RH, etc. Pode haver outras partes voltadas para o cliente. De qualquer forma, você deseja fornecer a melhor e mais produtiva experiência possível para o cliente.
Agora, para um painel específico, posso entrar e me aprofundar para responder a perguntas. Portanto, esse é o tipo de mergulho profundo que podemos fazer para descobrir o que está acontecendo e você pode fazer esse mergulho antes de ligar para um usuário final ou, se um usuário final ligar para você, você poderá iniciar um processo para diga: “Bem, onde exatamente está a causa raiz?” E não será como uma utilização de CPU e uma substituição, será no código do aplicativo que eles exercitam.
Vamos detalhar e dar uma olhada no gerenciamento de conteúdo e você pode realmente ver uma análise dessa transação: iniciando o navegador, ponto de entrada do servidor da Web no Java Jolt e na verdade estamos mostrando o código que está sendo executado no Painel do smoking, finalmente para a instrução SQL, em que o Precise revela o texto da instrução SQL que é executada por esse painel PeopleSoft específico.
Todo mundo com quem conversamos tem ferramentas, mas o que eles não têm é contexto. Conectar os pontos ou seguir a transação do navegador até a instrução SQL é um contexto. O que isso faz, como o seu DBA, é em vez de examinar as coisas em uma instância ou no nível do banco de dados, agora posso investigar no nível da instrução SQL.
Então, posso dizer: “Bem, quais são os gargalos para uma instrução SQL individual” e isso é extremamente poderoso. Por favor, considere que esta transação não pode ser executada mais rapidamente que a instrução SQL e todas as transações comerciais significativas interagem com o sistema de registro. O banco de dados, goste ou não, é a base do desempenho, e se eu puder ser tão granular a ponto de focar em instruções SQL individuais que são vitais para uma transação comercial, posso realmente levar meu jogo para o próximo nível.
Outra coisa que você pode notar aqui é que há um cálculo de contribuição percentual que o Precise fornece. O próprio navegador é na verdade uma parte significativa da pilha de aplicativos. Você tem execução JavaScript, tempo de renderização, componentes de página, GIFs, JPEGs. E você realmente acha que seu aplicativo pode se comportar de maneira muito diferente no Chrome e no IE e em versões diferentes. O Precise também poderá mostrar isso para você e pode haver momentos em que há realmente um gargalo ou uma contenção no navegador que pode causar coisas como o congelamento da tela.
Ser capaz de identificar isso permite que a TI não descasque a árvore errada, mas abordar a causa raiz básica de diferentes problemas que podem surgir. Agora, o que eu posso fazer é para uma instrução SQL específica, então posso analisar exatamente o que está acontecendo nessa instrução SQL. Então, aqui caímos para a visualização de especialista em banco de dados.
Uma das coisas que distingue o Precise no nível do banco de dados é que amostramos em uma base de segundos. Isso é comparado aos nossos concorrentes, que olham apenas uma vez a cada 10, uma vez a cada 15 minutos. Para que o nível de granularidade, o nível de resolução seja superior a ordens de magnitude que nossos concorrentes.
E mais uma vez, como o banco de dados faz parte de nossa base, permitiremos que o seu DBA realmente leve o desempenho ao próximo nível. Então, posso ver que essa instrução SQL realmente gastou 50% se está praticando o acesso ao subsistema armazenado, 50% do tempo usando a CPU. Clique no botão "Ajustar" e eu posso entrar e detalhar os planos de execução e exatamente o que levou esse padrão de uso.
Agora, uma citação de um de nossos clientes - se eles não estavam na Oracle Shop, eles usaram uma ferramenta Oracle chamada OEM e o OEM é realmente um tipo de banco de dados ou instância - são os DBAs que estão constantemente analisando quais são as 10 melhores listas? Mas, com o Precise, podemos conectar os pontos às instruções SQL individuais e, assim, a granularidade permite que o DBA realmente ajuste no nível da transação e não apenas no nível muito mais alto do banco de dados.
O segundo ponto que foi realmente vital para esse cliente é o Precise, traduzindo o que é complicado para o seu URL em um nome de painel do PeopleSoft - se eu estiver na TI e puder falar sobre gerenciador de árvores, gerente de conteúdo, uma página específica de RH, dessa forma, a pessoa que estou tentando ajudar sabe que estou realmente olhando e entendendo o que está vendo, porque não são mais esses hieróglifos, é o nome com o qual estão familiarizados.
Uma das perguntas que fazemos - parece o tempo todo, então pensei em responder proativamente às perguntas - como você captura esse ID de usuário PeopleSoft? Deixe-me passar pelas etapas. Aqui está uma tela de logon do PeopleSoft. Para acessá-lo, tive que navegar para o meu servidor da web e essa tela aparece. Quando o aplicativo é instrumentado com o Precise, essa tela realmente contém um script Precise e eu posso revelar clicando com o botão direito do mouse, para visualizar a fonte. E isso realmente me mostra o código que compõe a página subjacente e aqui no quadro da página é, na verdade, o código Precise for web e isso me permite capturar a tela de logon, o endereço IP, o tipo de navegador, um todo um monte de informações sobre renderização e a verdadeira experiência do usuário final. Então, quando eu coloco meu nome de usuário e clico em entrar, o Precise pode medir o que estou fazendo.
Eu abro, vou para o gerenciador de árvores, quero fazer uma operação de pesquisa, preenche o campo e clico em pesquisa. Um conjunto de resultados é apresentado a mim, portanto, percorri claramente toda a pilha de aplicativos até o banco de dados. Como o Precise mostra isso? Vamos em frente e dar uma olhada. Abra o Precise, entrei, posso ver a atividade, posso clicar na guia de atividades que abrirá essa tela. Esses são os URLs não traduzidos. Posso mostrar aos usuários e aqui está o meu ID de usuário em que acabei de entrar e aqui está a minha atividade.
Você pode ver que eu estava usando o Firefox versão 45 para trazer isso à tona. Eu exercitei o aplicativo 12 vezes e o abandono é basicamente quando alguém sai de uma página da Web antes de ser totalmente renderizada, o que sugere um problema de negócios. Foi assim que conseguimos pegar o ID do usuário final. É muito bom, as pessoas realmente apreciam quando você sabe exatamente o que estava acontecendo.
Agora queremos mudar de marcha um pouco estranho. Estávamos analisando a transação mais tarde. Fizemos um mergulho profundo em uma transação específica e analisamos suas instruções SQL. Agora, quero mudar de marcha e dar uma olhada em algumas das outras tecnologias na pilha de aplicativos PeopleSoft, começando com o WebLogic.
E aqui está uma instância do WebLogic e você pode ver a atividade ao longo do tempo. Você tem um relatório financeiro. Isso me diz logo de cara, a memória é usada quase no máximo. Uma das coisas que descobrimos é que a maioria das pessoas executa toda a pilha de aplicativos, ou pelo menos uma parte, em um ambiente compartilhado, frequentemente o VMware. Você precisa equilibrar a quantidade de recursos solicitados e a quantidade necessária. Você não quer ser um porco dos recursos. Da mesma forma, você não deseja colocar uma restrição de processamento ao não pedir memória suficiente neste caso.
A configuração também é vital para o gerenciamento de desempenho. Assim, podemos realmente entrar na coleta de lixo da memória e em todos os contadores JMX WebLogic, para que eu saiba exatamente a integridade do meu formulário WebLogic.
Agora no smoking. O smoking em muitas lojas é uma espécie de caixa preta e é uma parte muito importante do PeopleSoft. É o tipo de cola que mantém tudo unido, e eu quase penso nisso como uma extensão do sistema operacional. É algo que você usa e configura com muito cuidado. Aliás - essa é uma pequena observação - nos comentários de abertura que Eric mencionou "a tirania da urgência", e acho que isso realmente entra em jogo quando as lojas da PeopleSoft estão pensando em mudar da interface clássica para a interface fluida, porque você descubra que você está atrasado devido à maneira como a interface do usuário fluida exerce o ambiente PeopleSoft.
Agora você tem problemas no WebLogic, no Tuxedo, no banco de dados e no armazenamento aqui, apenas porque o HTML5 faz uma quantidade enorme de mensagens. Provavelmente é pelo menos 10 vezes o que a interface clássica faz e essas mensagens adicionais significam tráfego adicional. Portanto, a configuração do Tuxedo precisa ser modificada para acomodar o tráfego adicional. Algumas coisas dessa tela terminam no lado direito. Temos gráficos de tempo excedente para tempo de resposta ponderado, tempo médio de resposta e contagem de execução.
Por aqui, temos informações sobre todos os domínios do Tuxedo no ambiente. Dividimos os serviços, usuários, processos de servidor e IPs. Posso mudar isso para a contagem de execução e apresentá-los em ordem decrescente para que eu possa ver o que está sendo executado na maioria das vezes. Também posso rolar para baixo para revelar os domínios; a maioria das pessoas tem vários domínios em seu ambiente, basicamente para espalhar a atividade, e sou capaz de definir a conformidade com o SLA, portanto, alertas na camada do Tuxedo.
Se você tiver filas, há diferentes problemas que surgem devido à configuração. Você normalmente - porque é global em termos de impacto - normalmente não fará alterações em tempo real. Você deseja incrementar gradualmente o sistema como parte do processo de controle de qualidade, que volta ao ponto que Matt havia feito anteriormente sobre como resolver problemas de desempenho no início do processo. É muito melhor ter a configuração correta quando você vai para a produção do que para a produção e descobre que a configuração não corresponde aos padrões de uso. Eu realmente gosto da introdução que Eric e Matt fizeram hoje. Eu pensei que eles estavam realmente no alvo em termos dos desafios que você enfrenta no gerenciamento e na evolução do ambiente PeopleSoft.
Agora, eu disse isso uma vez antes - acho que vale a pena repetir: toda transação comercial significativa interage com o banco de dados. Então, vamos explorar como o Precise pode fornecer informações adicionais. Aqui está uma instância específica do Oracle. A mesma abordagem exata que vimos - o eixo y é o tempo de execução, o eixo x é o tempo ao longo do dia, mas agora os gráficos de barras da pilha são estados de execução no Oracle. Isso está nos mostrando quais são as restrições de processamento no sistema. Aqui, na verdade, há um relatório de descobertas que me diz que você tem esse alto buffer de refazer logs.
Também estou olhando para esta versão selecionada do PSVersion. Na verdade, está consumindo muitos recursos. Aliás, como estamos amostrando e fornecemos essa visão de alta resolução do que realmente está acontecendo no sistema, você pode se surpreender quais são os verdadeiros consumidores de recursos em seu sistema, porque se você está apenas olhando a cada 10 minutos, não é vai mostrar o que são esses consumidores de recursos. E, assim, sabendo quais são os verdadeiros consumidores de recursos, você pode realmente lidar com o verdadeiro processamento em gargalos ou no sistema.
Agora, aqui, pulamos para a guia Atividade e esta é a atividade. Você pode ver que estamos analisando CPU, subsistema de armazenamento, bloqueios de aplicativos, esperas de SO, RAC, commit, servidor Oracle, comunicação e agregação interna juntos. Este é o eixo y, é o tempo total de execução.
Abaixo, estão as instruções SQL que direcionaram esse perfil e uma das coisas que você vê são essas de baixa latência - dois milissegundos, mas com quase 4.500 execuções, significa que a instrução SQL é realmente o consumidor número um de recursos em seu sistema, e é bom conhecer. Também não está esperando um bloqueio ou uma espera. Está usando a CPU 100% do tempo. Isso não significa que não há coisas que eu não possa fazer sobre isso. Há muitas coisas que posso fazer sobre isso se souber quais instruções e objetos SQL estão sendo acessados. E, portanto, essas são algumas das maneiras pelas quais podemos ajudar.
Agora, aqui embaixo, há esse detalhamento e isso pode nos colocar no contexto dos programas PeopleSoft individuais, e cada um desses programas serve a um propósito diferente no PeopleSoft. Você pode começar a abordar no nível do banco de dados como o aplicativo está sendo usado.
E se eu selecionar um programa específico, então posso isolar as instruções SQL que o programa enviou para que eu possa ser muito mais focado em aplicativos do que em tecnologia de banco de dados quando eu estiver basicamente olhando e visualizando a otimização e configuração do banco de dados. Quero apenas chamar isso à sua atenção. Muitas vezes, muitas organizações grandes são divididas em DBAs de infraestrutura e DBAs de aplicativos. Precisamente, mostrando o aplicativo e o consumo de recursos, na verdade somos capazes de preencher a lacuna e essa solução é útil para os dois tipos de DBAs ativos no sistema.
Agora, essa parte realmente mostra o que podemos fazer no nível do banco de dados. E o que aconteceu aqui é que tivemos um congelamento da tela, houve uma seleção do PS_Prod e o que fizemos foi clicar neste botão de sintonia e o que isso faz é que ele nos leva a esse espaço de trabalho SQL. Agora, para vocês que não são DBAs, isso pode não parecer realmente empolgante. Para pessoas que são DBAs, você pode achar isso bastante interessante. O que estamos mostrando aqui é a duração dessa instrução SQL específica versus as alterações no sistema. E isso está mostrando quarta, quinta e sexta-feira, a duração é de cerca de 2/10 de segundo. Sábado e domingo, esta empresa não funciona - com sorte. Na segunda-feira, houve uma alteração: o plano de acesso foi alterado. O novo plano de acesso é repentino aqui em cima. Na verdade, é lento o suficiente, resultando em congelamento da tela.
Agora, se eu sou um DBA, preciso de informações adicionais para conhecer a verdadeira causa raiz. Preciso conhecer a escolha do otimizador de bancos de dados. Portanto, o Precise oferece essa comparação que mostra o plano de execução que era rápido e eficiente quando as coisas estavam indo muito bem, bem como o plano de execução que era lento e ineficiente. Essa junção de filtro é comum aos DBAs que executam o PeopleSoft. O que o filtro faz é procurar todas as linhas de uma tabela, observar todas as linhas da tabela de junção - isso requer muita CPU. É extremamente ineficiente porque não há como filtrar apenas o subconjunto de linhas necessárias, mas a instrução SQL e essa ineficiência resultam em um tempo de execução mais lento. Portanto, eles acabam retardando o painel do PeopleSoft no congelamento da tela e o Precise conseguiu chegar à verdadeira causa raiz que você nunca conheceria, a menos que tivesse uma ferramenta que revele o código do aplicativo, as instruções SQL e assim por diante.
Esse foi o tipo de mergulho profundo. Agora, vamos elevar a visualização para a visão de 10.000 pés quadrados de painéis. No Precise, os painéis não são realmente para a equipe técnica - é realmente para você compartilhar informações com operações, talvez com a equipe de aplicativos, talvez com sua cadeia de comando. Portanto, um conjunto de painéis pode mostrar os painéis PeopleSoft e o tempo do cliente para que você saiba qual é a experiência do usuário final. Outro painel pode ter sido configurado para operações e esse painel pode parecer: houve algum congelamento de alertas? Na verdade, temos alertas nos níveis de sistema operacional, web, WebLogic, Tuxedo e banco de dados. Não há alertas aqui, tempo médio de resposta. Você pode ver que estamos rodando cerca de um terço do segundo. Aqui, na verdade, posso olhar para a minha infraestrutura, mostrar todas as VMs do meu ambiente, começar a processar, balancear a carga e também os domínios do Tuxedo. Esse ambiente em particular possui seis domínios diferentes e, portanto, eu posso ver esses domínios e realmente posso entrar no balanceamento da web.
Agora, o repositório histórico da Precise, de que o PMDB, o banco de dados de gerenciamento de desempenho, possui toneladas de métricas. E, às vezes, alguém quer saber sobre a contagem de acessos do navegador ou você pode fazer a contagem de acessos pelo tipo de navegador ou desempenho pelo tipo de navegador. Há várias coisas que podem ser feitas para fornecer visibilidade adicional no seu sistema.
Aqui, na verdade, estamos analisando o uso da memória do WebLogic e você vê esse belo padrão de serra, o uso da memória. Há a coleta de lixo, ele recupera as des-referências. Ele volta e, portanto, esse é um padrão muito bom que você gosta de ver. Portanto, isso é meio que olhar para o ambiente PeopleSoft como uma coleção de subsistemas e isso seria apropriado para operações. A pergunta mais básica é: "Bem, o que está acontecendo no servidor?" O Precise tem toda essa visibilidade. Ele também fornece as métricas do servidor. E, portanto, aqui você pode realmente medir CPU, memória, E / S, servidor, usuários no sistema e ter essa visibilidade total. E essa é uma maneira - combinada com as tendências de longo prazo - é como as pessoas usam o Precise para o planejamento da capacidade.
E eu só quero dar uma pequena nota lá. Normalmente, uma loja terá muito orçamento para hardware, servidor e muito orçamento para a equipe. Como você vai investir, onde fará suas apostas? Usando o Precise, você obtém uma vantagem porque vê como o subsistema de armazenamento está sendo usado. Se você faz muitas E / S aleatórias, o Precise mostra isso. Isso ajudará a justificar o investimento em armazenamento de estado sólido. Isso pode ser mais importante para a sua loja do que comprar CPU adicional se a utilização da CPU for baixa.
Você deseja investir onde estão os verdadeiros gargalos de processamento, onde pode realmente ter um retorno. E, abordando tudo com precisão, desde a eficiência do processamento de codificação de aplicativos até a capacidade, permitimos avaliar e documentar onde estão essas necessidades com números.
Agora, a última peça está alertando e, na verdade, é assim que tudo começou. Lembre-se disso? Vimos um alerta de que havia um SLA de desempenho e vimos que uma instância do WebLogic estava inativa. Então, vamos dar uma olhada na interface de alerta. E mais uma vez, o que está acontecendo? Uma das coisas que quero destacar nessa visão é que o Precise não apenas possui esses alertas de desempenho e status sobre disponibilidade, como também temos alertas de tendências. A razão pela qual os alertas de tendências são importantes é que, se o seu sistema estiver ocioso ou tiver um ou dois usuários, provavelmente tudo funcionará bem. Não é até você começar a adicionar usuários e eles começarem a realizar mais e mais atividades que você começa a disputar por dados, recursos no nível do Tuxedo, no nível do WebLogic, no nível da rede, no nível do banco de dados. E essa disputa resulta na degradação do desempenho e, finalmente, você pode cruzar uma linha e isso é um alerta de desempenho, e basicamente você não está atingindo as metas de SLA para a organização. E, portanto, esses conjuntos de alertas são muito bons.
A camada da Web, no lado esquerdo, mede a experiência do usuário final e, em seguida, você entra nas tecnologias na pilha de aplicativos subjacente. Esse é o tipo de tela de nossa arquitetura de como fazemos tudo isso. Idealmente, você gostaria de ter um servidor Precise independente do ambiente ou ambientes monitorados. Um servidor Precise pode lidar com vários aplicativos.
Para PeopleSoft e para o banco de dados Oracle e DB2, exigimos um agente local. Se o seu ambiente PeopleSoft for finalizado pelo SQL Server, há uma opção para fazer sem agente. Também temos sem agente para o Sybase. O coração do nosso modelo de segurança é que os dados são coletados por aqui, enquanto os usuários do Precise se autenticam no Precise. São processos totalmente separados, credenciais separadas, autenticação separada e isso faz parte do nosso modelo de segurança. E há detalhes adicionais.
Eu acho que isso é o suficiente para uma introdução à arquitetura por enquanto. Se houver alguma dúvida, pergunte, como Eric havia mencionado.
Assim como uma rápida recapitulação, esta solução foi projetada para produção de 24 por 7. É altamente recomendável que você nos use no controle de qualidade. Se você faz desenvolvimento interno, comece a nos usar no desenvolvimento. Nós estamos indo para traduzir a URL complicada, URI em um nome de painel PeopleSoft. Quando falo sobre produção, temos uma sobrecarga extremamente baixa, para que você tenha visibilidade, sempre saiba o que está acontecendo, identificando o usuário final.
Não precisei definir essas transações - existem apenas pontos de conexão naturais do navegador, a URL, os pontos de entrada, a conexão do servidor da Web no WebLogic, o contexto de convite até o qual fornece a instrução SQL. Então, podemos capturar a instrução SQL e o que ela está fazendo. O Precise é inteligente em banco de dados e acho que esse é um fator distintivo para nós e permite que seu DBA colabore, aprimore a visibilidade do aplicativo.
O ponto final é que estamos sempre ligados, sempre coletando, você sempre pode medir o antes e o depois e quantificar a melhoria ou, no raro caso de você ter alterado o desempenho, você saberia disso e poderia rolar volte imediatamente. A maioria de nossos concorrentes, o que eles fazem é que, se você precisar ver informações adicionais, precisará ativar uma visibilidade adicional e, normalmente, essa visibilidade adicional impõe muita sobrecarga. Com o Precise, você sempre tem visibilidade e sempre pode resolver o problema. Portanto, se você for ao site Precise, verifique qualquer um dos produtos Precise, seja o Precise for Oracle. Estamos listados como Precise Application Performance Platform e há um botão para solicitar uma demonstração.
Na verdade, se eu compartilhar minha tela, acho que posso navegar até lá para mostrar como é a aparência, para que você possa ver isso logo de cara. Aqui está o site da IDERA. Você vai aos produtos. Posso escolher qualquer um desses componentes Precise e só quero vê-lo em ação. Isso iniciará nosso processo de compartilhamento de informações adicionais que podem ser importantes para o seu site. Ou, se você quiser saber mais sobre a migração para a interface do usuário fluida, entre em contato.
E que Eric, eu gostaria de passar o bastão de volta para você.
Eric Kavanagh: OK, bom negócio. Devo dizer mais uma vez - uma apresentação bastante abrangente e impressionante, Bill. Você mencionou um monte de coisas que eu gostaria de perguntar. Não temos muito tempo - cerca de nove minutos - e eu gostaria que Matt tivesse a chance de fazer algumas perguntas também e ter pelo menos uma ou duas da platéia.
Mas você mencionou algo que achei muito interessante no que diz respeito ao modo como o Precise pode ajudar nas compras para a equipe de TI, porque, como você pode apontar, pode argumentar com quem toma a decisão de que o que você precisa é mais sólido armazenamento, por exemplo, ou o que você precisa é de melhorias na rede ou qualquer que seja o caso. Mas isso é grande coisa. Você costuma ver empresas reconhecendo isso e usando isso ou você está tentando evangelizar isso um pouco mais?
Bill Ellis: Bem, na verdade ambos, e o fato é que os padrões de uso, mesmo para um aplicativo de pacote como o PeopleSoft, os padrões de uso são distintos em cada site. Tive a sorte de fazer uma migração do PeopleSoft em um banco, e os bancos usam o sistema de contabilidade de maneira muito diferente da maioria das organizações. Na verdade, era possível ter transações individuais feitas em uma filial, todas elas lançadas no Razão.
Portanto, em vez de publicar dezenas ou centenas de livros de contabilidade, você está publicando centenas de milhares. E foi assim que me envolvi no Precise, por causa dos padrões de uso e isso nos permitiu abordar, mas as necessidades do aplicativo, tanto no nível do código, no nível da configuração, quanto no nível da infraestrutura. Então, absolutamente, acredito muito e quero evangelizar isso também, porque você não deve tomar decisões de hardware simplesmente com base na utilização. Você deve basear-se nas necessidades do seu ambiente.
Eric Kavanagh: E há uma pergunta de um participante e, em seguida, Matt, entrego a você uma ou duas perguntas. Bem, essa é boa e engraçada porque é uma resposta grande e longa que você poderia dar. O participante pergunta: "Como você coleta a métrica de desempenho no final do usuário após a implantação e durante o teste?"
Eu acho que você fez um bom trabalho ao mergulhar na profundidade e na riqueza dessas métricas de desempenho. Você falou em menos de um segundo para algumas dessas coisas em comparação a cada cinco minutos ou 10 minutos. É quando você obtém o nível de detalhe necessário para encontrar suas respostas, certo?
Bill Ellis: Sim, então o crucial é que os coletores individuais das informações de desempenho sejam baseados em tecnologia. Portanto, quando fazemos uma implantação, precisamos saber como a pilha de aplicativos é criada, começando com o sistema operacional, sua versão, qual versão do Tuxedo, WebLogic, qual versão das ferramentas People que você está executando.
E é realmente o design desses agentes que faz isso, a coleta de dados que nos permite revelar que o nível de visibilidade que o Precise fornece. E essa visibilidade, acho, às vezes pode ser um pouco intimidadora para as pessoas. Mas se seu objetivo é realmente melhorar, melhorar o desempenho e levar o desempenho para 11, esse é realmente o nível de visibilidade que você gostaria de ter. E se a Precise pode fornecê-lo e sua sobrecarga é baixa, a questão é por que não? Por isso, acho que é uma ótima pergunta e entre em contato conosco se desejar discutir mais sobre isso.
Eric Kavanagh: OK, bom. E Matt, você tem alguma pergunta?
Matt Sarrel: Eu acho que estou bem. Quero dizer, eu tenho lidado com o WebEx caindo por aqui.
Eric Kavanagh: Oh não. Precisamos do Precise para entender exatamente o porquê.
Matt Sarrel: Sim, eu acho que a pergunta que eu pensei enquanto você falava, Bill, era se você poderia discutir um pouco sobre como várias equipes podem entrar na mesma página ao solucionar problemas de desempenho, porque eu sei que isso é algo que surge repetidamente: quem é responsável por quê e como todos podem trabalhar juntos para oferecer a melhor qualidade aos funcionários.
Bill Ellis: Sim, então a equipe de TI tende a ser cara. Na maioria das lojas, você se divide em equipes baseadas na tecnologia, dada a complexidade da tecnologia. Uma das grandes coisas que acontece é que há um problema de desempenho e muitas vezes o conflito, a sala de guerra se reúne. E é aí que todos têm as métricas para exonerar sua camada de alguma forma porque não têm o contexto. Eles estão observando o que está acontecendo no nível do WebLogic e não o que está acontecendo no nível do código de transação. Ou eles estão olhando no nível do banco de dados, e não na instrução SQL individual da transação.
E, ao poder identificar a camada do problema e o código do problema nessa camada, o que faz é liberar as outras equipes para não irem ou gastarem tempo em recursos procurando um problema que não esteja dentro de sua área. Se for um problema no banco de dados, vá para o DBA com as informações necessárias para solucionar o problema. Eles ficarão felizes em fazê-lo.
Da mesma forma, não desperdice o Tuxedo, a equipe de assistência da WebLogic, focada nos problemas do banco de dados. Da mesma forma, se o problema estiver na configuração do WebLogic, não gaste o tempo do DBA em algum tipo de sala de guerra tentando se defender. Basta ir e corrigir o problema no WebLogic.
Concluímos que a equipe de TI aprecia a Precise por causa da economia de tempo, porque normalmente essas salas de guerra não são incluídas no orçamento para o plano de tempo de cada organização de ETI. É como um tempo adicional. E, portanto, ser capaz de lidar com esses problemas com mais eficiência é realmente vital. E para a organização que implementou a interface do usuário fluida, ser capaz de escalar na produção e resolver os problemas que eles realmente enfrentam na produção foi realmente vital não para a equipe ou equipes individuais, mas para o gerenciamento de TI em geral, porque teria sido uma má notícia. se eles tivessem que reverter. Então, ótima pergunta, porque não é apenas a tecnologia. É realmente sempre sobre as pessoas.
Matt Sarrel: Certo, são as pessoas e os processos. Sim, essa foi a única pergunta que surgiu para mim durante a demo. Se houver outros da platéia?
Eric Kavanagh: Sim, eu vou jogar um último em você, Bill, e Matt falou sobre isso brevemente em sua apresentação. Começamos a ver esse crescimento. Ainda é muito prospectivo, mas os contêineres e o uso de contêineres e Docker e coisas dessa natureza, qual o tamanho de uma bola curva isso gera para vocês?
Bill Ellis: Então a palavra significa coisas diferentes, dependendo de tecnologias diferentes. Portanto, estamos desenvolvendo nossos produtos para cuidar de contêineres no nível do banco de dados e no nível do aplicativo. E como parte disso, é o tipo de ambiente inteiro com os movimentos, a nuvem, e nós operamos dentro da nuvem. Mas há um processo de descoberta e, portanto, dependendo de como esses aplicativos - incluindo o PeopleSoft - estão evoluindo, estamos desenvolvendo nossa solução de monitoramento para que possamos fornecer o nível de profundidade que foi tão valioso no passado.
Eric Kavanagh: Sim. E devo dizer que, toda vez que vejo essas demos, fico impressionado com a granularidade que você tem e é isso que você precisa para reunir um entendimento e você precisa ter alguma educação sobre qual é a situação normal, o que é padrão.
E vocês oferecem muito conteúdo a esse respeito - ajudando as pessoas a identificar o que é normal, o que não é normal. Você falou sobre alertas de tendências, por exemplo, esses são todos os mecanismos que você pode usar para entender melhor algo errado, algo errado e, é claro, a partir daí, é preciso pesquisar detalhadamente para encontrá-lo, mas você tem todos os dados.
Bill Ellis: Sim, e isso é uma coisa realmente importante; Eu acho que Matt falou sobre isso. O que é normal? Ambientes diferentes têm um nível diferente de normal. Se você estiver executando com hardware de ponta, lógica e dados Oracle, o que é normal em sua loja ou o que pode ser alcançado em sua loja será diferente do que se você estivesse executando em uma infraestrutura menos poderosa. Portanto, a primeira coisa é descobrir o que é normal, comece a calcular essa linha de base e assim você poderá começar a fazer melhorias a partir daí.
Eric Kavanagh: OK, esse é um bom ponto. Temos uma última pergunta, parece. Apenas uma última pergunta que vou fazer para você, Bill. Existe alguma diferença entre o monitoramento de desempenho do SQL e do banco de dados do ponto de vista dos dados no nível do sistema e no nível do aplicativo? Qual é a diferença entre monitorar o desempenho do SQL e do banco de dados, na sua perspectiva?
Bill Ellis : Bem, nada acontece em um banco de dados até que sua instrução SQL seja executada. A contenção da instrução SQL é o que - controla o bloqueio, a espera, a contenção de recursos no nível de dados e no SQL Server. E, portanto, se consigo ver o driver da instrução SQL e seu impacto no sistema, causei um efeito; Sou capaz de vincular o que o DBA do aplicativo se importa com o que o DBA da infraestrutura se importa até que eu possa realmente tirar o máximo proveito da ferramenta Precise.
Se eu sou um DBA de infraestrutura e estou olhando para coisas como utilização, estou realmente meio que gerenciando com um pincel amplo versus se consigo visualizar uma instrução SQL individual e minimizar os recursos consumo - seja CPU, memória, E / S - sou capaz de abordar os dois lados da mesma moeda.
Eric Kavanagh: OK, pessoal. Queimamos pouco mais de uma hora. Muito, muito obrigado aos nossos amigos da IDERA. Um grande obrigado a Matt Sarrel por se juntar a nós hoje. Nós arquivamos todos esses webcasts para visualização posterior, portanto, sinta-se à vontade para voltar e, geralmente, em apenas algumas horas o arquivo aumenta. Portanto, verifique isso e tudo o que tenho a dizer é que amo essas coisas, amo Precise, amo poder entrar no mato. E eu não conheço nenhuma outra ferramenta que permita que você procure todas as partes e partes diferentes da pilha de aplicativos além daquelas que essas pessoas têm no IDERA com Precise.
Com isso, nos despedimos, pessoal. Obrigado novamente, falaremos com você na próxima vez.