A Automação dos Processos na Gestão da Performance das Aplicações        A redução dos custos de MIPS está associada ao us...
O processamento das aplicações atuais necessita de umcontingente de complexidade de difícil controle e                    ...
de controle minimiza a intervenção do usuário,                  •        Por aquelas que mudam de versãogarantindo o contr...
na documentação do fabricante para entender comoPasso 4 – Analise                                     cada parâmetro irá a...
da Aplicação.                5
Passo 7 – informe e Recompense                          Como disse uma vez um homem sábio, não existe a                   ...
Upcoming SlideShare
Loading in …5
×

A Automação dos Processos na Gestão de Performance das Aplicações por Gilberto Modollo

398 views
325 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
398
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

A Automação dos Processos na Gestão de Performance das Aplicações por Gilberto Modollo

  1. 1. A Automação dos Processos na Gestão da Performance das Aplicações A redução dos custos de MIPS está associada ao uso otimizado dos recursos computacionais necessários às linhas de negócios das empresas. As aplicações que ‘executam’ essas linhas, necessitam de métricas precisas e acompanhamento constante em todo o Ciclo de Vida da Aplicação – seja de forma preventiva ou reativa. A adoção de mecanismos de automação, com a menor intervenção do usuário, garante a administração dos recursos fornecendo dados simples e necessários para a identificação dos pontos críticos e das oportunidades de melhorias, mitigando o impacto no ambiente produtivo e garantindo a manutenção do negócio. “Não se pode gerenciar o que não se pode medir.” – Lord Kelvin “Automatizar os processos de medição é facilitar, aumentar e propagar os ganhos”.A crescente demanda dos negócios das grandesempresas as torna cada vez mais dependentes doprocessamento de suas aplicações no mainframe. Suas As mudanças efetuadas em suas aplicações para estaaplicações embutem um legado tecnológico ao mesmo resposta ao mercado, necessitam de constantetempo em que novas tecnologias e processos ágeis são monitoramento que nem sempre evitam os impactos deinseridos para a manutenção desses negócios. processamento no ambiente produtivo. A inserção da automação dos processos na Gestão da Apl. Distribuída Wireles Performance das Aplicações garante que as aplicações C Redução de O C/C++ zSerie s vitais sejam monitoradas desde a fase do Tecnologias WebSpheres Contenção de desenvolvimento até a fase de produção com a menor M Jav MQ 24 x US P a S E- 7 Fusões/Aquisiçõe intervenção do usuário. L Web- Enablement Conversões de E Geradores de Grandes Projetos Banco de Códigos Internet X PC Enclave s Sysple I “Tela x Consultoria SLM/SLA s Verde” CIC D DB s A COBO L IMS S 2 Negócios e TI Y2K D ELA Outsourcing Q E s TI vista como Custo TI vista como Patrimônio TI vista como Patrimonio Custoso 198 198 199 199 200 200 0 5* Não é uma escala de tempo histórica 0 5 0 7Esta tendência de complexidade e crescimentojuntamente com as fusões e aquisições de empresas,resultam em aumento da capacidade produtiva. Asaplicações acompanham este crescimento resultando noaumento do consumo de MIPS. Salários e benefícios dos Fornecedores empregados 4% 30% Serviços 13% Telecomunicaçõe s 11% Instalações e outros 1% Fonte “U.S. IT Spending and Staffing Survey, 2005,” Gartner 1
  2. 2. O processamento das aplicações atuais necessita de umcontingente de complexidade de difícil controle e Gestão da Performance da Aplicação:monitoração, devido à: Inserindo os Pontos de Automação • Aplicações de múltiplas camadas lógicas; P.A.=Ponto de Informe e Recompense • Aplicações novas interagem com o legado; Automação Meça novamente • Muitas são redesenhadas funcionalmente para Faça as mudanças uma resposta rápida aos negócios; P.A.=Ponto de Automação Analise • A disponibilidade é garantida com o aumento da P.A.=Ponto de Automação Meça os Candidatos capacidade de processamento; Escolha dos Candidatos • Ajustes no sistema surtem pouco efeito no uso Estabeleça os Objetivos dos recursos das aplicações; Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. • As aplicações tendem a ser resilientes, ou seja, voltam a consumir após a otimização; Passo 1 – Estabeleça os Objetivos • O processamento das aplicações transcende vários limites: “É tão difícil atingir um destino desconhecido, quanto o Múltiplas regiões de online; voltar de um lugar onde você nunca esteve” - Zig Ziglar o Múltiplas imagens de sistema: SYSPLEX; “Uma jornada de 1000 km deve começar com um o Múltiplas plataformas: Distribuído e simples passo” - Lao-tzu Mainframe. • O consumo de recursos é “pulverizado” e de Já foi dito, aqueles que falham em planejar difícil monitoração; planejam para falhar. Qualquer projeto de performance está fadado a falhar, no mínimo irá • Vários pontos vulneráveis X Vários Pontos de gerar menos resultados, se a equipe não definir Automação. objetivos concretos. Objetivos de performance Hoje: Complexidade = pulverização geralmente vem de uma das duas formas: 1) A meta de redução do consumo de CPU pela z/OS - SYSPLEX aplicação, ou 2) A meta de reduzir o elapsed time da aplicação. PRODUÇÃO TESTE A redução do consumo de CPU é usual em SYST1 SYST2 SYST3 situações onde o processador está sempre a Termi 99.999% (“cinco noves”) e um upgrade de CPU é CICSA1 CICSA2 CICSB1 CICSB2 CICSTE1 IMWEBT1 esperado em um futuro próximo. Eliminando ciclos CICSA3 CICST1 CICSB3 CICSW1 IMWEBT2 IMWEBT3 de CPU desnecessários pode-se adiar um upgrade JOBBA1 CICSW2 DB2TDIST Termi JOBBA2 JOBBA3 IMWEB1 DB2STOT1 a curto ou médio prazos, poupando a empresa de IMWEB2 DB2STOT2 VSAM1 OMVS DB2STxx IMSPRDx IMSTEST alguns milhares de reais em hardware e software. x WRKnnn PRO D Por outro lado, a redução de elapsed time pode ser o objetivo no caso de problemas sérios com o DB2TABn IMSVnn Adminstração Centrlal dos Recursos tempo da janela batch. Melhorias podem ser alcançadas principalmente com a redução daUm Projeto Modelo de APM quantidade de I/O.O que se segue é a sugestão de um projeto de Em muitos casos, os dois objetivos são desejados,APM, com exemplos de tarefas que precisam ser entretanto é mais importante que os objetivos sejamcompletadas. quantificados, específicos e bem documentados. Desta forma não haverá questionamentos sobre a eficácia do projeto. O melhor lugar para se registrar os objetivos é em um Project plan. Exemplos de uma meta específica podem ser: • Reduzir o consumo de CPU do programa X em 10%; • Reduzir o elapsed time do job ABC em 15 minutos. A adoção de mecanismos de automação nos pontos 2
  3. 3. de controle minimiza a intervenção do usuário, • Por aquelas que mudam de versãogarantindo o controle com a mesma resposta ágil às como resultado de manutenções nocrises de performance necessária aos seus código para adequar aos negócios,negócios. passando a consumir mais recursos e demorando mais do que elas deviam.Passo 2 – Escolha os candidatos A automação permite controlar ativamente todo o“Nem tudo que pode ser contado conta e nem tudo que desvio de comportamento das aplicações mitigandoconta pode ser contado” - Albert Einstein o impacto no ambiente e nos negócios, por:“Tudo deveria ser feito o mais simples possível, mas • Fornecer uma lista dinâmica dasnem um pouco mais simples do que isso” – Albert aplicações candidatas facilitando aEinstein administração; • Medir automaticamente os programas queO Princípio de Pareto, quando aplicado no APM, mudam de versão;nos mostra que 20% dos programas de aplicação • Iniciar a medição das transações onlineirão consumir 80% de todos os recursos. De forma quando os seus valores de consumoa conseguir melhorias, a equipe de performance ultrapassam o esperado pela Empresa;deve escolher os candidatos a serem medidos de • Alimentar o painel de controle (dashboard)forma a obter os maiores resultados. Estes para acompanhamento gerencial preventivacandidatos são conhecidos como “low hanging fruit”, e reativamente;e podem ser jobs batch ou regiões on-line. A equipepode determinar os candidatos utilizando vários • Medir os programas batchs que ultrapassam o seu consumo normal.métodos, incluindo dados de SMF, ou a indicaçãodo pessoal da produção, performance eplanejamento de capacidade. Um cenário de Automação: Mantendo o controle dos ofensoresA atualização automática desta lista de ofensores Análise comportamental: as que excedem o uso normal e/ou o tempo de resposta Aplicações que mudam de versãopermite identificar a dinâmica inerente das Novas aplicaçõesaplicações, favorecendo a pesquisa, filtro e Mecanismosclassificação por seus campos chaves. automatizadosPasso 3 – Meça os candidatos Produção Risco: 70% das aplicações Operação falham quando“Só quando você conseguir medir e expressar em vão para a Produção!números o assunto em estudo, você sabe algo sobre ele” Teste Desenvolvimento– Lord Kelvin AplicaçõesA performance de uma aplicação é difícil de serdescrita, mas pode ser conhecida pela experiência.Medir os candidatos escolhidos irá fornecer métricasimportantes que irão ajudar os analistas a efetuar asmelhorias necessárias. Você não pode controlaraquilo que não pode medir.Dada a dinâmica do ambiente produtivo, oscandidatos a medir são também dinâmicos e àsvezes, imprevisíveis e de difícil controle.Esta dinâmica é gerada por vários fatores: • Por novas aplicações que são colocadas em produção sem a devida métrica de performance; • Por aquelas que repentinamente excedem o consumo normal de recursos e o tempo de resposta afetando tanto o ambiente produtivo como os negócios; 3
  4. 4. na documentação do fabricante para entender comoPasso 4 – Analise cada parâmetro irá afetar a performance. Também existem papers procedentes de conferências comoUma vez que os candidatos foram medidos, o CMG e SHARE que podem auxiliar no ajuste deanalista pode rever os resultados. A métrica opções de compilação. Na maioria dos casos estasderivada do passo 3 irá mostrar onde e como um mudanças não necessitam de testes extensos jáprograma de aplicação está gastando seu tempo, se que, mais uma vez, o código das aplicações não éem módulos ou no acesso aos arquivos. Os diretamente modificado. Nestes casos foramresultados podem apontar também para o overhead observadas melhorias de performance com mais deexcessivo como uma oportunidade. 70% na redução do uso de CPU. [SHED02]Passo 5 – Faça mudanças O terceiro tipo de mudanças envolve pequenas alterações no código. Coisas como, a eliminação do“Pense em muitas coisas para fazer – faça uma” - uso ineficiente de tipos de dados, conversões deprovérbio Português dados causadas pela mistura desnecessária de tipos de dados, e inicialização ineficiente de grandes“Eles sempre dizem que o tempo muda as coisas, mas, estruturas ou tabelas, estão incluídos nestana verdade, você mesmo tem que mudá-las” - Andy categoria.Warhol Removendo uma subrotina, como data/hora de um loop também irá reduzir a demanda por recursos doSe você continuar a fazer o que sempre fez, você sistema. Pequenos testes são necessários depoisterá os resultados que sempre teve. A única de alterações como estas. De novo, a melhoria demaneira de melhorar a performance é fazendo performance pode ser extremamente grande. Forammudanças que irão reduzir as demandas de documentadas melhorias na casa dos 65%.recursos feitas pelas aplicações. As métricas [SHED02]geradas no passo 4 irá facilmente identificar aoportunidade – agora é a hora de fazer a mudança. Finalmente, uma grande alteração no código da aplicação pode ser necessária. Note que este tipoMelhorar a performance de uma aplicação é como de mudança é raramente requerida, refazerdescascar uma cebola; quando uma casca é totalmente os módulos de uma aplicação não éremovida, outra aparece (e pode causar lágrimas). usualmente necessário. Claro que uma análise doOs objetivos estabelecidos irão determinar quando custo benefício deve ser feita antes de grandesse pode parar e partir para outra aplicação. Sempre alterações para que se possa.irá existir alguma coisa a ser melhorada, maseventualmente, os retornos podem ser tão Passo 6 – Meça novamenteinsignificantes que farão com que as alteraçõessejam improdutivas – gerem pouco resultado. Neste “A coisa mais importante é não parar de questionar” -ponto a cebola é tão pequena quanto deve parecer. Albert EinsteinA história mostrou que existem quatro níveis de “Estude o passado se você quiser definir o futuro” -dificuldade na melhoria de aplicações, e Confúcioaproximadamente 80% de todas as mudanças caemno nível três. “Caia sete vezes, levante oito” – Provérbio JaponêsO primeiro nível inclui mudanças na buferização de Para se ter idéia do resultado obtido pelasarquivos, tamanhos de blocos, e outras alterações modificações feitas no passo 5, a equipe precisarásimilares que podem ser feitas diretamente no JCL. medir novamente a mesma aplicação. Os passos 4Tais mudanças resultam nos maiores ganhos, mas a 6 são interativos e devem ser executados até quenão requerem testes, já que a lógica das aplicações os objetivos sejam atingidos.não é alterada. São puramente ambientais masresultam em melhorias impressionantes. Melhorias Medir novamente é redefinir os mesmos candidatos.desta natureza são conhecidas por reduzirem em Não só medir para a comparação imediata entre as86% o consumo de CPU e o Elapsed Time em 95%. mudanças, como também continuamente observar[SHED02] o comportamento futuro da aplicação.O Segundo nível de mudanças inclui alteração de A automação permite grupar todos os componentesparâmetros de compilação, que resultam na das aplicações, sejam em teste unitário, de sistema,modificação das características do objeto e/ou testes paralelos e de carga, transferindo emódulo de carga resultante. Recomenda-se verificar permitindo as métricas na evolução do Ciclo de Vida 4
  5. 5. da Aplicação. 5
  6. 6. Passo 7 – informe e Recompense Como disse uma vez um homem sábio, não existe a bala de prata. Este processo oferece mais uma alternativa de aumento da produtividade utilizandoExistem dois grandes obstáculos para que um os dados disponíveis no próprio ambienteprojeto seja completado com sucesso, que são operacional, e a adoção da automação da APM visasempre esquecidos por não ter natureza técnica. O alcançar melhores resultados.primeiro é; não ter relatórios periódicos e precisosque documentem os resultados. Patrocinadores doprojeto APM, usualmente o alto escalão, querem ver Gilberto Modolloum sumário quantificado dos progressos. A falta denotícias não é uma boa notícia. Um projeto que não Maria Isabel Bendahanmantém os gerentes continuamente informados é Aldo Diniz da Cruz Jr.fadado a falhar por falta de apoio. Reportar osresultados periodicamente irá ajudar a garantir apoiocontinuado daqueles que controlam os recursos Referências/Bibliografiafinanceiros e de pessoal. Esteja sempre pronto aresponder à questão “Como está indo aquele [SHED02] Shediak, Tony; “Performance Tuningprojeto de performance?” Mainframe Applications Without Trying Too Hard”, CMG 2002O outro obstáculo é o baixo moral dos participantes,usualmente causado por falta de incentivo. Se aequipe envolvida no projeto não se sentir valorizada,o interesse e o esforço irão, eventualmente, cair Footnotesjunto com o moral. Baseado no texto de Craig Hodgins; “Zen and theQuase sempre os gerentes irão negligenciar a Artrecompensa dos esforços do pessoal envolvido. Of Application Performance Management”,Recompensando os casos de sucesso se está Technical Support, 2003encorajando esforços futuros e ajudando a elevar omoral. É parte da natureza humana desejar servalorizado. O custo de tais recompensas é sempremuito menor do que os ganhos alcançados com oprojeto de APM.Existem muitas formas simples de recompensarresultados excelentes. Nos livros mais novos sobrenegócios podemos encontrar boas idéias de comorecompensar a contribuição dos empregados.Reportar os resultados ou recompensar os esforçosé vital para manter em alta o projeto de melhoria deperformance.Sumário“O problema real não é se as maquinas pensam mas seos homens o fazem” - B.F. Skinner“Onde todos os homens pensam semelhante, ninguémpensa muito” - Walter LippmannEste paper tentou fornecer uma forma alternativa depensar no gerenciamento da performance daaplicação, e como seguí-lo. Acreditamos quepossamos ser mais produtivos com a inserção daautomação dos processos, favorecendo a elevaçãoaos mais altos estágios de maturidade e pró-atividade. 6

×