PartnerSales


Imprimir

Opinião

Ciclo de vida de aplicação

Publicado em 02/05/2011 às 14:53


Christian Lewis é vice-presidente da unidade de Garantia de Serviços da CA Technologies para a América Latina

 

 Atualmente,  para exercer suas atividades e serem bem sucedidas, as organizações precisam garantir um alto nível de serviço em tecnologia da informação. O mercado é bastante dependente de tecnologia e sistemas, porém apenas o monitoramento de aplicativos e plataformas em produção não é mais suficiente. O grande desafio é trabalhar de maneira preventiva para descobrir e corrigir os problemas antes que a TI seja afetada ou interrompida.



As práticas e metodologias adotadas pelas grandes empresas indicam a necessidade do gerenciamento de aplicações críticas em produção, de forma a obter dados em tempo real para diagnosticar e agir na correção de problemas, antes que os usuários sejam afetados.



Este é o grande desafio enfrentado pelos administradores de ambientes de produção. Enquanto a necessidade de administração e prevenção é clara nestes ambientes, o uso de tecnologia de ponta para o monitoramento durante o ciclo de desenvolvimento de software ainda não é comum, apesar de também oferecer muitas vantagens.



Cada vez mais observa-se que as organizações precisam do mesmo nível de informação do ambiente produtivo durante todo o ciclo de desenvolvimento. O monitoramento  durante o processo de desenvolvimento pode melhorar substancialmente a qualidade e o desempenho das aplicações ao evidenciar problemas, falhas ou bugs, antes da promoção para produção.



Na gestão do ciclo de vida de aplicações, o monitoramento tem papel chave na prevenção de problemas no código e no aumento da produtividade da equipe de desenvolvimento. As ferramentas de troubleshoot (resolução de problemas) e de root-cause analysis (análise da causa-raiz) oferecidas no monitoramento encurtam o tempo para detecção e correção de bugs. Depois da correção, o monitoramento possibilita uma medição mais  detalhada da saúde da aplicação para evidenciar a melhoria de desempenho e de qualidade após a correção.



São recursos importantes do monitoramento, durante o ciclo de vida da aplicação:



Detecção de Mudanças



A detecção e o monitoramento de mudanças é uma ferramenta fundamental para o controle de qualidade e desempenho durante o ciclo de vida da aplicação. E para aumentar a eficiência do trabalho de desenvolvimento e suporte, o monitoramento de modificações de classes, configurações, pacotes e propriedades da aplicação é essencial.



No decorrer do ciclo de vida da aplicação, o controle das modificações pode evidenciar com precisão os componentes modificados em uma implementação que tenha sido entregue com defeito. Além disso, o acompanhamento de implementações e configurações fornecem informações para comprovar a melhoria ou a degradação causada por uma modificação na aplicação ou no ambiente. Perguntas do tipo: “Como a  última implementação afetou o tempo de resposta do servidor?”, ou ainda, “O consumo de memória diminuiu após a  última correção?” podem ser facilmente respondidas com o monitoramento de modificações.

 



Diagnóstico de Vazamento de Memória



Problemas de vazamentos de memória estão entre os mais complexos no diagnóstico e correção. As evidências raramente são conclusivas e a correção pode demorar dias ou até semanas para ser aplicada em produção.

                                

E ainda há o agravante de que os vazamentos de memória são quase invariavelmente descobertos apenas na fase da produção. São problemas que podem causar lentidão, perda de informação ou até a parada total de uma aplicação ou serviço.



Uma boa ferramenta de monitoramento deve oferecer subsídios que ajudem a evidenciar os vazamentos de memória, atuando no monitoramento dos objetos alocados na memória pela aplicação e na identificação dos possíveis “candidatos” ao vazamento.



Em ambiente produtivo, o monitoramento de objetos na memória auxilia a equipe de desenvolvimento no diagnóstico do problema, encurtando o tempo para aplicação da correção. Durante o desenvolvimento, a equipe pode agir de maneira preventiva, detectando e corrigindo problemas antes da promoção do código.



Rastreamento de Transações



O rastreamento de transações fornece uma descrição detalhada sobre as transações executadas pela aplicação. Isto permite a detecção de más práticas ou de ineficácia de codificação durante o desenvolvimento de um novo recurso ou lançamento.



No caso do desenvolvimento de códigos por terceiros, o rastreamento de transações também pode ajudar na análise do código que não foi desenvolvido por uma organização, auxiliando no controle da qualidade do produto (serviço ou software).



O monitoramento no decorrer de todas as fases do ciclo de vida da aplicação, com o uso de todos os recursos disponíveis (como nos exemplos citados), traz economia expressiva para os times de desenvolvimento, operação e suporte. A quantidade e a qualidade das informações disponibilizadas podem prevenir problemas na produção e aumentar a qualidade do software entregue/suportado pelos times.