4 Key Metrics

Image: Infra as Code

Jovem, você já ouviu falar das 4 Key Metrics? Se nunca ouviu, essa é a oportunidade de incrementar a sua caixa de ferramentas DEVOPS e SRE.

Antes de irmos para os bits and bytes, é preciso nos situarmos e conhecermos de onde vem algumas coisas. O DevOps Research and Assessment (DORA) é uma empresa que tinha como objetivo principal realizar um programa de pesquisa para entender e conhecer as melhores práticas que movem as entregas de software e o desempenho das operações de TI. Os resultados dessas pesquisas foram materializados e publicados em documentos chamados de State of DevOps que podem ser encontrados aqui. Em dezembro de 2018 o Google adquire o DORA

Em seus relatórios a equipe DORA identificou quatro métricas principais que indicam o desempenho das equipes que adotam os modelos DevOps de trabalho, são elas:

  • Foco em velocidade

    • Deployment Frequency ou Frequência de implantação: frequência com que as mudanças são implantadas em produção. Isso inclui tanto as mudanças bem-sucedidas quanto as que dão errado.

    • Lead time for changes ou tempo de espera para fazer mudanças: tempo de espera que uma alteração de código leva para entrar em produção.

  • Foco em estabilidade

    • Change failure rate ou Taxa de falhas de alteração: é a porcentagem de alterações de código que requerem hotfixes ou outra correção após a produção

    • Mean Time to Restore MTTR ou tempo de recuperação: tempo que leva para restaurar o serviço ao normal após uma falha.

Essas métricas são indicadores de desempenho das práticas de DevOps. Elas ajudam os times a medirem a eficácia de suas práticas, identificar áreas que precisam de melhoria em termos de velocidade, desempenho e a qualidade de entrega de software.

Recentemente uma quinta métrica de desempenho foi incorporada, esta tem o foco em Confiabilidade, um conjunto de boas práticas de DevOps+SRE são avaliadas dentro dessa métrica

  • Reliability ou Confiabilidade: Identifica SLIs/SLOs e como elas afetam orçamentos de erro (Error Budget). Avalia o uso de automação para reduzir o trabalho manual. Verifica o uso de playbooks definidos para responder a problemas entre outras.

Calculando as métricas

As 4 Key Metrics têm sido adotadas pela comunidade DevOps e são frequentemente usadas em conjunto com outras métricas e práticas de DevOps. Para calcular essas métricas você precisa alimentar uma base de dados informando, registrando e atualizando a evolução dos seus projetos, coletando as métricas de todas as etapas do seu continuous integration (CI) / continuous delivery (CD). Você pode desenvolver um script para fazer esse coleta armazenar numa base e depois gerar os gráficos em um Grafana ou pode seguir por um outro caminho ao utilizar uma ferramenta já pronta, veja uma possibilidades:

Com o GitLab

A documentação do GitLabCI traz como a ferramenta gera e agrega as métricas DevOps, neste link é possível ver quais métricas são suportadas dependendo da versão.

Image: Infra as Code

Você pode consultar dados via API como apresenta a documentação e montar um dashboard, sem dúvida é uma alternativa.

 1curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/dora/metrics?metric=deployment_frequency"
 2
 3[
 4  { "date": "2021-03-01", "value": 3 },
 5  { "date": "2021-03-02", "value": 6 },
 6  { "date": "2021-03-03", "value": 0 },
 7  { "date": "2021-03-04", "value": 0 },
 8  { "date": "2021-03-05", "value": 0 },
 9  { "date": "2021-03-06", "value": 0 },
10  { "date": "2021-03-07", "value": 0 },
11  { "date": "2021-03-08", "value": 4 }
12]

Direcionando seus esforços

Agora que você já conhece as métricas, sabe como calcular, sabe coletar é hora de direcionar tempo, recursos e esforços disponíveis para melhorar algumas das quatro métricas :), achou que era só conhecer meia dúzia de palavrinhas e ficar de boa na sua cadeira gamer?!? Este é o momento de olhar para seus processos internos e definir o que pode ser melhorado?

Comece simples. Escolha uma aplicação da sua empresa, olhe para a tabela abaixo, e para cada métrica, responda honestamente, qual nível de maturidade melhor define a sua aplicação: Elite, High, Medium ou Low? Fez? Terminou? Ótimo!! Muito bem, agora você um backlog para trabalhar, seu papel a partir de agora, é mover a maturidade da esquerda para a direita até todas chegarem ao nível Elite. Já adianto, não vai ser fácil, vai dar trabalho, muitos desafio tecnológicos vão aparecer, Elite é tipo jogar na NBA #ficadica, mas sem dúvida vai valer o esforço.

Image: Google

Para ajudar nessa jornada você pode responder esse pequeno questionário no próprio site da Dora.dev.

Conclusão

E aí, curtiu?! Não se desespere não!! Tenha calma, passos firmes e curtos, sempre. Classifico o DORA como um excelente ponto de referência para onde devemos levar e por onde percorrer com nossos projetos sejam eles pessoais ou profissionais. Mas antes pegar o primeiro projeto que passar na sua frente e começar, recomendo a leitura de todos os relatório State of DevOps que podem ser encontrados aqui em especial o leia a versão mais nova do State of DevOps 2022, fazendo isso você vai construir e aumentar sua base de conhecimento sobre o tema, vai perceber a evolução de alguns temas e certamente vai partir de uma visão mais crítica e realista neste seu primeiro projeto.

Abraços!

Vida longa e próspera a todos!!

Referências


Eu adoraria ouvir suas outras histórias e situações semelhantes ao que acabei de escrever neste post, você pode me encontrar em @infraascode_br ou linkedin.com/in/leonardoml/ .

Te convido a ver os outros posts do blog Infra-as-Code garanto que tem coisas legais lá!!


--- --- IMPORTANTE --- ---
As opiniões aqui expressas são pessoais e de responsabilidade única e exclusiva do autor, elas não refletem necessariamente a posição das empresas que eu trabalho(ei) e/ou presto(ei) serviço.