MELT

MELT: Os pilares da Observabilidade

Falar em observabilidade de sistemas modernos pode às vezes se tornar um pouco paradoxal, afinal ao mesmo tempo que é óbvio que todo sistema deve gerar saída, nem toda saída é essencial ou trás alguma resposta útil, especialmente quando se trata de manter a confiabilidade e a performance em um ambiente dinâmico e complexo. Na prática, a observabilidade é a capacidade de medir o estado interno de um sistema apenas com base nas informações que ele gera, mas afinal, como saber se essas informações são realmente úteis?

Apresento-lhes: MELT!

O framework MELT é uma das bases da observabilidade, que por sua vez tem seus pilares em métricas, eventos, logs e traces. O MELT descreve auxilia nos primeiros passos para criar uma observabilidade pró-ativa e informativa, abaixo, iremos aprofundar em alguns exemplos sobre cada pilar:

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.

Eventos: são os batimentos cardíacos do seu sistema. Cada login de usuário ou notificação de alerta é um evento, marcando ocorrências discretas que podem indicar mudanças significativas ou problemas emergentes. Em outras palavras, eventos são ocorrências discretas com carimbo de tempo e valores numéricos, que nos permitem rastrear eventos cruciais e detectar possíveis problemas relacionados a uma solicitação do usuário. Esses eventos são algo que aconteceu em um sistema em um determinado momento. Os principais tipos de eventos são Logs e Traces.

Logs: os diários de bordo do seu sistema, detalhando o que aconteceu e quando. Desde um registro textual simples até estruturas complexas como JSON, os logs são indispensáveis para a depuração. Um log de evento é um registro imutável que possui um carimbo contendo data/hora de eventos discretos ao longo do tempo.

Traces: os rastreadores das jornadas de request, mostrando o caminho completo que uma transação ou pedido faz através dos serviços distribuídos. Eles são cruciais para entender latências, gargalos e falhas no sistema.

4 Golden Signals: transformando MELT em informação!

Agora que sabemos o que precisamos extrair de informação dos sistemas, iremos aplicar um dos conceitos primordiais da teoria de sistemas na engenharia de software: transformar dados em informação!

O Google diz que se você não sabe o que monitorar em seu sistema, inicie pelos 4 sinais de ouro do monitoramento e observabilidade. Os 4 Golden Signals, ou 4 sinais dourados da monitoração, fornecem uma bússola para guiar os engenheiros de software através de:

  • Latência: o tempo de resposta de uma solicitação. É o primeiro indicativo de uma experiência de usuário degradada. Muitos sistemas de telemetria como o New Relic armazenam informações sobre o tempo de execução de uma query. Através desses dados de Logs ou Trace de uma query, podemos criar respostas básicas para o nosso sistema em relação ao tempo de latência.
  • Tráfego: a demanda sobre seu sistema. Monitorar o tráfego ajuda a identificar padrões de uso e antecipar escalonamentos necessários. As Métricas de CPU e Memória são essenciais para nos guiar quanto ao tráfego de um sistema e quão ocupado ele se torna.
  • Erros: a taxa na qual as solicitações falham. Uma alta taxa de erros pode indicar problemas. Através dos Eventos gerados por uma aplicação, podemos criar cálculos estatísticos sobre o comportamento do sistema para entender padrões de erros.
  • Saturação: quão “cheio” seu serviço ou recurso está. Monitorar a saturação é essencial para evitar degradação do desempenho e falhas do sistema. Podemos fazer uma quantificação de Eventos por Métricas de desempenho para poder entender os limites físicos de nossa aplicação.

Por que aprender sobre MELT ?

Segundo o livro de Site Reliability Engineering oficial do Google, a base para o desenvolvimento de um produto com excelência é o monitoramento do mesmo. Dentro desse pilar de monitoramento, o MELT é o primeiro passo de alguns para a construção de mecanismos que podem tornar seu software resiliente a falhas através de monitoramento pró-ativo e preventivo.

Source: Google

O domínio do MELT e dos 4 Golden Signals, junto com uma compreensão profunda de outras teorias como: SLXs, Error Budget, Postmortem, Incident Response são pedras angulares para qualquer profissional dedicado a manter sistemas robustos e resilientes. Essas práticas não só garantem a satisfação do usuário final mas também promovem uma cultura de inovação responsável dentro das empresas.

Para aprofundar mais nessa jornada do mundo do monitoramento e observabilidade, continue acompanhando nosso blog para aprofundar mais em cenários e práticas de mercado!

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