Blog Agility

Gerenciamento da experiência do usuário

Gerenciamento da experiência do usuário

Antigamente quando precisávamos comprar algum componente eletrônico ou periférico de informática por um preço melhor do que nas lojas convercionais de bairro e shoppings, normalmente procuravamos ir até o centro da cidade, em lojas especificas em busca de pechincha. Por exemplo, em São Paulo, na conhecidissima Rua Santa Ifigênia ou na Rua 25 de Março.

Iniciava-se a busca por melhores preços em diversas lojas, perdia-se no minimo uma manhã até encontrarmos o que era necessário a um preço interessante.

Ao longo dos últimos anos, com o aumento da facilidade de uso da internet, lojas virtuais foram criadas, nas quais o espaço físico e vendedores não são mais necessários. Apenas um portal web.

Em alguns casos, nem estoque é necessário. Devido a processos logísticos como o just in time, aplicado inicialmente na Toyota para redução de estoques e custos decorrentes, que determina que nada deve ser produzido, transportado ou comprado antes da hora exata. Não é necessario provisionar espaço físico para armazenamento dos produtos, quando fechado um novo pedido é feita uma solicitação sob de demanda ao fornecedor final da cadeia. Consequentemente com esse tipo de processo, o custo de produto acaba caindo para o cliente final.

Na prática, todos produtos que procuramos na web tem um preço igual ou mais competitivo do que em loja fisica, sem contar a facilidade de não ter que sair de casa.

A maior preocução dos portais web, é com a experiência de uso que seus clientes estão usufruindo no acesso. Devido a competitividade, provavelmente se um site estiver fora do ar ou apresentando lentidão, poderão ser encontrado ao menos cinco outros que vão oferecer o mesmo produto ou serviço. Iremos abordar sobre o seguimento de APM (Application Performance Management) que trata do gerenciamento e monitoramento da performance e disponibilidade das aplicações. Detectando e diagnosticando problema de performance na aplicação garantindo níveis adequados de SLA dos serviços.

Corpo do Artigo:

Gerenciar aplicações está se tornando cada vez mais desafiador, pois os componentes envolvidos estão se tornando cada vez mais distribuídos, as aplicações estão sendo desenvolvidas em plataformas multi-tier (em camadas), em arquitetura SOA, envolvendo diversos componentes, servidores, aplicações, web-service, banco de dados entre outros. As ferramentas de APM vem amadurecendo ao longo dos anos trazendo maior visibilidade neste tipo de ambiente distribuído.

O Gartner define APM como um ou mais componenters de software e hardware que facilitam o monitoramento para atender cinco principais funções:

  • Monitoramento da experiência de uso (EUM);
  • Descoberta de componentes em tempo de execução;
  • Perfis de transação definidos pelos usuários;
  • Componentes de monitoramento em contexto detalhado da aplicação;
  • Análises

Na pratica é monitorar e gerenciar a disponibilidade e performance das aplicações para garantir um nível de serviço adequado, com capacidade de olhar a experiência de uso na aplicação para os usuários e trazer maior visibilidade das transações e seus componentes envolvidos.

Abaixo maiores detalhes sobre os componentes envolvidos nas dimensões que abrangem o framework  do APM:

Monitoramento da experiência de uso

Medir o tempo de resposta da solicitação do usuário, tem duas abordagens: Ativa e passiva. O modelo passivo de monitoramento não utiliza agentes instalados nos componentes da aplicação. É baseado em espelhamento em uma interface de rede. Uma das principais caracteristica deste modelo é que ele suporta diversos tipos de protocolos, não se limitando apenas às aplicações web. O monitoramento ativo, consiste em acessos sintéticos, robôs que simulam acesso, para testar disponibilidade e tempo de resposta da aplicação.

Descoberta de componentes em tempo de execução

Solução de descoberta de aplicações e mapeamento de dependencia (ADDM), automatiza o processo de mapeamento de todos componentes que compõem uma aplicação. Irá trazer visibilidade de como os componentes interagem entre si, ajudando a verificar tempo de resposta entre os componentes e até detecção de erros na aplicação.

Perfis de transação definido pelo usuário ou Transação de Negócio

Coleta informações da transação que tenham algum significado de negócio, trazendo informações de tendência, valores, categorias sobre o tempo. Por exemplo, o produto do meu site vendeu mais na última semana.

Componentes de monitoramento em contexto detalhado da aplicação

Normalmente necessita de um agente instalado nos servidores nos quais rodam a aplicação. Mostra detalhes das chamadas realizadas entre os componentes trazendo compreensão entre os mecanismos e facilita, por exemplo, a identificação de bugs e exceções da aplicação ou lentidão numa consulta no banco de dados. 

Análise/Relatórios

Padronização das informações coletadas, facilitando responder questões sobre o ambiente de forma rápida.

Abaixo imagem do framework conceitual de APM.

APM_Framework

Em um mercado web no qual a preocupação está em disponibilzar um ambiente rápido, eficiente, seguro e cada vez mais concorrido,ferramentas de APM vêm se tornando cada vez mais adotadas para trazer visibilidade do funcionamento dos componentes que compoem a aplicação. Mapeam a satisfação dos usuários no acesso e aceleram a capacidade de corrigir problemas na arquitetura e código. Esse tipo de ferramenta apoia no amadurecimento do ciclo de vida de desenvolvimento das aplicações, apoia os times para resolução de problemas e traz visibilidade de negócio. Mostram informações como, localidade do acesso do usuário, tipo de dispositivo que está realizando o acesso, coeficiente de experiência, receita, produto ou serviço que está sendo mais vendido em tempo real, chegando em um nível de análise, no qual é possivel avaliar o impacto financeiro que uma parada ou lentidão no ambiente poderia gerar.

O conceito do APM completo, apoia no ciclo de vida da aplicação, desde o time de desenvolvimento, trazendo visibilidade e ferramental para estressar o código antes da liberação de uma nova release em produção, time de operações no dimensionamento da infraestrutura, bem como time de negócios acompanhando campanhas e coletando métricas de negócio.