Quando trazemos à tona o tema DevOps, é natural que as pessoas sempre pensem em automações, pipelines e cloud, mas DevOps vai muito além disso. Dentro de DevOps, podemos dividir 5 grandes pilares, que foram comentados no artigo sobre Cultura DevOps, como Cultura, Automação, Lean, Medição e Compartilhamento. Hoje, nesse artigo, exploraremos o pilar de Medição e iremos refletir sobre como métricas e dados podem auxiliar toda a construção de um software.
No coração do DevOps estão as métricas, e entre elas as MTTx (Mean Time To X) são fundamentais. Vamos explorar o que são essas métricas e por que elas são tão importantes.
O que são as Métricas MTTx?
MTTx são indicadores que ajudam a medir a eficiência e a eficácia dos processos de DevOps envolvidos na fase de criação de um software. O “MTT” significa “Mean Time To” (Tempo Médio Para) e podemos medir diversos eventos que o processo do nosso desenvolvimento podem gerar para poder fazer esse tipo de cálculo. As mais comuns são:
- MTTR (Mean Time to Recovery): Tempo Médio para Recuperação.
- MTTA (Mean Time to Acknowledge): Tempo Médio para Identificação.
- MTTD (Mean Time to Detect): Tempo Médio para Detecção.
- MTTR (Mean Time to Repair): Tempo Médio para Reparação.
Métricas: imagine o uso de CPU e taxa de erros como termômetros do desempenho do seu sistema. As métricas são agregações numéricas de dados medidos regularmente ao longo do tempo que oferecem uma visão de alto nível do estado operacional. Métricas são dados conhecidos, ou seja pré-definidos, e capazes de ser mensuráveis ao longo do tempo.
Todas essas métricas são geradas em diferentes momentos e ferramentas do processo, até a execução de uma versão do sistema, e é de responsabilidade da pessoa que ocupa o papel de DevOps agrupar esses dados para tomada de decisão. Iremos explorar cada uma dessas métricas e onde elas impactam no processo do desenvolvimento de um sistema.
MTTA (Mean Time to Acknowledge): Tempo Médio para Identificação.
MTTA mede o tempo médio que leva para identificar a causa raiz de um problema após a sua detecção. Para que isso ocorra, o sistema deverá conter mecanismos e ferramentas de observação pró-ativa para gerar logs/telemetria sobre o comportamento do sistema e assim avisar, através de alertas, que o sistema está com comportamento inesperado ou que não corresponde aos sinais vitais comuns.
Benefícios do MTTA
- Agilidade na resolução de problemas, pois com processos e mecanismos de gerenciamento de incidentes, qualquer pessoa pode ser notificada a qualquer momento para ao menos ter conhecimento do que está acontecendo.
- Redução de impacto: quanto mais rápido um problema é identificado, o time pode adotar estratégias como rollback de deployment para mitigar os problemas do sistema.
MTTD (Mean Time to Detect): Tempo Médio para Detecção
É o tempo médio que leva para detectar o problema ocorrido, logo após a notificação do problema. Esta métrica é crucial para a quantificação de proatividade nos incidentes e também na capacidade de “troubleshooting” que o time tem para detectar a causa raiz de um problema. Dentro dessa métricas, podemos tirar lições aprendidas como: falta de treinamento e capacitação nas pessoas que suportam a operação, documentação defasada e falta de procedimento.
Importância do MTTD
- Detecção precoce de problemas: quanto mais cedo um problema é detectado, mais rápido pode ser tratado.
- Prevenção de grandes falhas: detectar problemas cedo pode evitar que eles se transformem em grandes falhas.
MTTR (Mean Time to Recovery): Tempo Médio para Recuperação
Mede o tempo médio que uma equipe leva para restaurar um sistema ou serviço após uma interrupção ou falha. O MTTR começa a ser contado a partir do momento em que a falha é detectada e termina quando o serviço está totalmente restaurado e funcional. Essa métrica força os times a criarem mecanismos de deployment resilientes e tolerantes a falhas como: blue-green, canary, hot-hot, etc.
Importância do MTTR
- Minimização do downtime: reduzir o tempo que um serviço fica indisponível é essencial para manter a satisfação do cliente e a continuidade dos negócios.
- Aumento da confiança do cliente: clientes confiam mais em serviços que são rapidamente restaurados após problemas, demonstrando a competência e a prontidão da equipe de TI.
MTTR (Mean Time to Repair): Tempo Médio para Reparação
Essa métrica mede o tempo médio necessário para reparar um sistema ou componente específico após a ocorrência de uma falha. O MTTR é calculado a partir do momento em que a falha é detectada até que o sistema ou componente esteja totalmente reparado e livre da última causa que tornou o sistema inoperante, assim tornando-se funcional novamente com a entrega que é necessária.
Importância do MTTR
- Aprendizado: a excelência dessa métrica é alcançar maturidade no processo ao ponto de que bugs sejam reparados em um espaço curto de tempo e que times como suporte e desenvolvimento possam juntos encontrar a solução de forma rápida para a entrega do que é desejável.
- Melhoria na satisfação do cliente: clientes e usuários finais são menos impactados por falhas quando os tempos de reparação são curtos, aumentando a confiança nos serviços oferecidos.
Acelere a sua carreira conosco!
A Mentoria DevOps é um programa de mentoria de 12 meses com encontros semanais ao vivo, com um grupo seleto e restrito, onde estaremos do seu lado para mantê-lo relevante e atualizado no mercado de tecnologia, aprendendo e implementando as melhores práticas e ferramentas de DevOps.
Clique aqui para entrar na prioridade pela melhor oferta de lançamento
Conclusão
Entender e monitorar as métricas MTTx é essencial para qualquer equipe de DevOps que busca melhorar a eficiência, a confiabilidade e a satisfação do seu software. Cada métrica oferece uma visão diferente e importante sobre como os processos estão funcionando e onde há espaço para melhorias. Aprender a gerar dados e medir todos esses pilares é sempre desafiador, mas são possíveis com as ferramentas existentes de mercado como Jira, pipelines ou ferramentas de monitoramento como OpenTelemetry.