Telemetria: Como identificar problemas rapidamente através da base da pirêmide SRE

Rogério Souza
4 min readJul 24, 2022
A imagem está relacionada ao artigo? Não, não, eu apenas amo estes companheiros de quatro patas :)

É natural que um software apresente falhas durante o processo de desenvolvimento, implantação, testes e assim por diante. Quando isso acontece, muitas equipes recorrem a uma solução clássica: a reinicialização de computadores e servidores.

É verdade que você pode resolver alguns pequenos problemas com esta solução.

No entanto, a grande maioria dos problemas que acontecem ao longo do desenvolvimento de um sistema, precisam de uma atenção maior.

Pequenos problemas causam grandes dores de cabeça

Como já mencionei em outro artigo, diversas falhas podem acontecer no ciclo de produção de um software. Algumas destas falhas podem ser bem pequenas — no entanto, se não forem identificadas e resolvidas de forma rápida, podem causar grandes estragos lá na frente. Em outras palavras, você pode enfrentar atrasos na entrega, experiências negativas dos clientes e, claro, prejuízos financeiros.

Por isso, é importante que as falhas sejam identificadas o mais cedo possível no ciclo de vida do software.

Mas uma pergunta que pode surgir é: o que ocasionou o problema?

Por exemplo, quando acontece uma interrupção. Será que esta falha aconteceu por causa de um problema no código? Houve alguma falha na rede? No servidor? Ou o problema está em outra camada?

Note que responder estas perguntas leva tempo.

É aí que entra a necessidade da telemetria.

O que é telemetria em SRE?

O conceito de telemetria na cultura SRE está diretamente relacionado com o monitoramento e observabilidade de todo o ciclo de produção de um software, de ponta a ponta. Trata-se do uso de tecnologias que permitem monitorar o desenvolvimento de um software em tempo real. Assim, caso aconteça alguma falha, a telemetria consegue apontar a raiz do problema.

Por este motivo, o monitoramento em um ambiente de desenvolvimento precisa ser bastante amplo. Por exemplo, em aplicações, redes, cloud pública, privada, e assim por diante. Somente assim será possível visualizar todos os pontos onde a falha pode ter acontecido.

No entanto, com tantas áreas precisando da atenção dos profissionais, como fazer para otimizar o tempo ao monitorar ambientes?

Em uma cultura SRE, o monitoramento faz parte das rotinas implantadas que ajudam a otimizar o tempo, reduzir e aprender com as falhas, além de entregar soluções de qualidade.

Como funciona a telemetria em SRE

A telemetria funciona a partir de registros do comportamento dos softwares. Assim, utiliza-se uma ferramenta que monitora o desenvolvimento do software de ponta a ponta e transforma todos estes dados em métricas. Também é possível transformar estas métricas em gráficos intuitivos, além de serem registradas em arquivos de logs.

Por exemplo, se acontecer alguma anomalia, como falhas na integração e entrega contínuas (CI/CD), isto é identificado de forma rápida pelos sistemas de monitoramento em um ambiente SRE.

A importância do monitoramento

Como mencionei, falhas no sistema custam caro e fazem com que todos saiam perdendo. E de pouco adianta sair recorrendo à velha “reinicialização de servidores”.

Na verdade, um sistema de telemetria para monitorar toda a produção é o que as empresas precisam para acompanhar métricas de desempenho em tempo real e encontrar onde estão os problemas quando eles surgem.

A partir daí, as equipes podem agir rapidamente para corrigir as falhas antes que os clientes sejam prejudicados.

De fato, adotar esta abordagem sistemática permite corrigir problemas de forma mais rápida e evitar muitas dores de cabeça no futuro.

Tecnologia para telemetria

Existem soluções de tecnologia que permitem aplicar a telemetria em um ambiente SRE.

Por meio delas, é possível que as equipes envolvidas consigam acompanhar em tempo real como está o desempenho dos sistemas em produção.

Dependendo da solução de monitoramento utilizada, é possível personalizar os painéis para visualizar em primeira mão o que mais interessa às equipes.

Telemetria exige análise de dados

No entanto, embora a telemetria envolva o monitoramento constante da linha de produção de um software, é importante destacar que cabe aos profissionais envolvidos determinar o que fazer em caso de problemas.

Ou seja, a telemetria não oferece as soluções prontas para cada problema. É preciso analisar os logs para decidir o que implantar no sistema de produção a fim de corrigir a falha que o monitoramento identificou.

Para facilitar este processo de identificação e resolução de problemas, em geral, é interessante agrupar as métricas de acordo com seu tipo. Por exemplo, é possível agrupar métricas na camada do aplicativo (como as exceções fatais), outros na camada do cliente (falhas nos dispositivos dos clientes) e assim por diante.

Este tipo de organização ajuda a otimizar o tempo na hora de definir resoluções para as falhas.

Concluindo

Como venho destacando, a cultura SRE encara os erros de um ângulo diferente.

Falhas devem ser identificadas de forma rápida. Além disso, cada vez que surge um problema, ele serve de aprendizado para correções na linha de produção e otimização do tempo.

Mas para que isso aconteça, é necessário identificar as falhas o mais cedo possível. O monitoramento com telemetria serve exatamente para este objetivo.

Desta forma, o time consegue otimizar os resultados, desde o desenvolvimento até o produto final entregue ao cliente.

--

--

Rogério Souza

Sou uma pessoa apaixonado pela cultura DevOps e com um bom instinto, sempre me apoio no terreno sólido com base em evidências e lições aprendidas.