Certificações oficiais DevOps

Treinamento escrito de DevOps

Como criar um monitoramento (telemetria) para gerenciar o ciclo de vida do software em DevOps?


Pela sua experiência em TI, você sabe que, quando algo dá errado, identificar a causa-raiz pode ser difícil. O problema pode estar nas aplicações, nos ambientes ou em outros componentes com os quais eles se integram.

Nos últimos 50 anos de desenvolvimento de plataformas relativamente complexas de clientes e servidores, uma situação se repetiu com frequência. Quando um servidor fica lento, começa a gerar erros ou deixa de entregar o esperado, alguém o reinicia na esperança de resolver o problema. Às vezes, reiniciar contorna temporariamente um problema que ninguém chegou a entender. Se isso não funcionar, o próximo passo costuma ser culpar os desenvolvedores pela entrega e os testadores por não terem encontrado o problema. Esse caos afeta a satisfação dos clientes e prejudica o ambiente de trabalho.

Organizações DevOps de alto desempenho raramente reiniciam servidores para corrigir problemas. Elas usam abordagens sistemáticas de identificação e resolução. Recorrem à telemetria de produção para entender as causas-raiz e os fatores contribuintes antes de tomar medidas. Seu tempo médio de recuperação (MTTR) é 96 vezes menor que o de outras organizações. Em outras palavras, elas resolvem problemas em produção 96 vezes mais rápido que uma empresa média. Uma de suas principais práticas técnicas é incorporar telemetria ao software e às aplicações.

O que é telemetria?

Em termos simples, telemetria é o processo de registrar o comportamento dos sistemas.

Para isso, projete o software, os ambientes de produção e pré-produção e o pipeline de implantação de modo que gerem registros de telemetria continuamente. Seu objetivo é ter telemetria suficiente para confirmar que os serviços funcionam corretamente em produção. Quando surge um problema, os registros ajudam você a entender rapidamente o que aconteceu e a tomar decisões informadas para corrigi-lo.

A telemetria também ajuda a comparar o que você acredita estar acontecendo em produção com o que de fato acontece. Assim, fica fácil verificar se as duas coisas correspondem.

Crie sua infraestrutura de telemetria

Para ter telemetria, você precisa de dois componentes principais:

  1. Registro de métricas de telemetria Organizações DevOps de alto desempenho registram continuamente centenas de milhares de métricas em todas as camadas das aplicações, dos ambientes e do pipeline de implantação. Alguns exemplos são eventos de negócio, como o número de vendas, e verificações de integridade da plataforma de servidores, como o monitoramento de sistemas operacionais, bancos de dados, operações de entrada e saída de disco e de rede, RAM, CPU e segurança.
  2. Uma plataforma central para gerenciar métricas de telemetria A plataforma armazena métricas e eventos. Permite visualização, análise de tendências, amostragem, alertas e detecção de anomalias. Converte logs em métricas, como o número de exceções fatais em uma aplicação. Também deve registrar eventos do pipeline, como commits, reversões, instalações, desinstalações e resultados de testes automatizados nos ambientes de produção e pré-produção.

Você, a equipe DevOps e as demais partes interessadas que trabalham com ela devem poder consultar a plataforma de telemetria por meio de APIs e interfaces gráficas de autosserviço, sem precisar abrir chamados para pedir acesso às informações.

Todas as informações de telemetria devem estar 100% acessíveis a toda a organização, com exceção de métricas que possam violar a privacidade ou comprometer a segurança dos clientes.

Tipos de métricas de telemetria

  1. Métricas da camada de negócio Resultados de testes A/B, lucro, receita, número de novos usuários, duração média das sessões, número de pedidos concluídos e número de finalizações de compra abandonadas, por exemplo.
  2. Métricas da camada de aplicação Tempos de resposta das aplicações, duração das transações, quantidade de core dumps e número de exceções fatais, por exemplo.
  3. Métricas da camada de infraestrutura Tráfego dos servidores, operações de entrada e saída de disco e de rede, uso de RAM, CPU e disco, por exemplo.
  4. Métricas da camada de cliente Tempos de resposta e erros em aplicações cliente, como aplicações web, móveis, JavaScript e outras, por exemplo.
  5. Métricas da camada do pipeline de implantação Envios de código, prazos e frequências de implantação, estado dos ambientes e resultados em verde, amarelo ou vermelho após os testes automatizados, por exemplo.

Organize as métricas hierarquicamente em categorias e subcategorias para que a equipe DevOps consiga interpretá-las com facilidade.

Torne fáceis de entender os registros das aplicações que depois serão convertidos em métricas de telemetria. Assim como você agrupa os logs por categoria de evento, agrupe as métricas. Um exemplo são os níveis Debug, Info, Warn, Error e Fatal.

Use a telemetria para orientar a resolução de problemas

Se sua organização tem uma cultura de culpa, ninguém quer dar visibilidade plena às mudanças em produção nem mostrar a telemetria. Nesse ambiente, raramente se identificam corretamente as causas-raiz e, pior, a organização não aprende.

Para usar a telemetria na resolução de problemas, faça de sua criação uma tarefa diária de toda a equipe DevOps. Crie bibliotecas fáceis de usar, de modo que uma única linha de código gere um registro de telemetria.

Crie também registros de telemetria para eventos de escrita no controle de versão e nos ambientes em execução. Assim, ficará fácil visualizar a relação entre as mudanças nos sistemas e seus efeitos sobre os clientes.

Por exemplo, no gráfico abaixo, fica claro que uma das últimas implantações da noite de quinta-feira é uma provável causa-raiz do aumento de falhas nas compras durante a finalização do pedido.


Gráfico de implantações e principais eventos de negócio

Compare as implantações bem-sucedidas e malsucedidas com a atividade do negócio ao longo do tempo.

Gráfico de implantações e principais eventos de negócioVeja o diagrama original ↗
Aumento das falhas e redução da taxa de sucesso nas compras entre duas implantações
(Fonte: Measure Anything, Measure Everything, DevOps Handbook)

A telemetria ajuda a comunicar problemas em detalhe. Você e suas equipes DevOps não têm nada a esconder uns dos outros nem das partes interessadas. Por isso, monitoram e apresentam continuamente gráficos como o acima em tempo real, para identificar problemas rapidamente e visualizar possíveis relações de causa e efeito entre implantações e eventos importantes para o negócio. As áreas de negócio passam a entender melhor o trabalho da equipe e ganham transparência. Os desenvolvedores e os engenheiros de operações DevOps também conseguem ver a relação entre incidentes e implantações.

A telemetria permite enxergar problemas quando ainda são fáceis e baratos de corrigir, antes que se espalhem e deem origem a outros.

Com telemetria, a equipe DevOps pode identificar padrões nas principais métricas de negócio e de tecnologia e criar alertas para anomalias. No início, os limites de alerta podem estar incorretos e gerar falsos positivos. Isso é normal. Mantenha a calma e não deixe que desvalorizem o esforço e o investimento na infraestrutura de telemetria. Assim como em outros aspectos de sistemas complexos, você aprenderá a ajustar os limites de alerta para atender à equipe, aos clientes e ao negócio.

CONCLUSÃO

Organizações DevOps de alto desempenho medem o impacto dos problemas com métricas de negócio, como número de clientes perdidos ou perda de receita. Assim, todos passam a dar mais atenção à telemetria em produção e pré-produção. Essas organizações investem tempo e recursos para criar e usar telemetria e se apoiam nela para identificar e corrigir erros rapidamente.



Garantimos que nosso treinamento on-line gratuito vai preparar você para passar no exame de certificação DevOps!

  1. 01

    Faça sua inscrição on-line

    Escolha sua certificação Accredited e conclua a inscrição.

  2. 02

    Receba seu código de acesso

    Seu código pessoal de acesso ao exame chega imediatamente por e-mail.

  3. 03

    Prepare-se e faça o exame

    Estude com o treinamento gratuito e responda a 50 questões de múltipla escolha on-line.

  4. 04

    Conquiste sua credencial vitalícia

    Receba um certificado com validade mundial e um selo digital verificável.

Amostra de Certified DevOps Generalist™
Inscreva-se para a certificação

A SUA FORMAÇÃO PREMIUM GRATUITA ON-LINE

Receba a terceira edição de DevOps Revealed

Criamos seu treinamento com um grupo de líderes de negócios e de pessoas, coaches, mentores, especialistas e autoridades reconhecidas em DevOps dos principais setores. Qualquer visitante do site da International DevOps Certification Academy™ pode acessá-lo. Encontre os materiais pelos links Seu livro gratuito sobre DevOps e Seu treinamento premium gratuito de DevOps do menu principal.

Estes materiais são propriedade intelectual da International DevOps Certification Academy™ e estão protegidos por direitos autorais. Nós os disponibilizamos gratuitamente a todos porque compartilhar nossa experiência ajuda os profissionais de DevOps e promove o desenvolvimento da área.

Seu exame de certificação é composto de questões de múltipla escolha. Estude o conteúdo do treinamento on-line para adquirir os conhecimentos necessários para passar no exame e conquistar a certificação DevOps.

Garantimos que nosso treinamento on-line premium e gratuito vai preparar você para passar no exame de certificação DevOps!