A observabilidade não é apenas uma função técnica dentro da engenharia de software, mas também um campo em expansão que desempenha um papel crucial na operação e no sucesso dos sistemas modernos. Este guia aborda os aspectos essenciais da carreira em observabilidade, explorando desde ferramentas e técnicas até o impacto cultural desta disciplina nas organizações.
Fundamentos de Observabilidade
A observabilidade é a arte e a ciência de tornar sistemas complexos transparentes e compreensíveis. Vai além do monitoramento tradicional, envolvendo a análise profunda do comportamento e da interação de sistemas de software em diferentes cenários. Profissionais dessa área têm a responsabilidade de antecipar problemas antes que afetem os sistemas, garantindo estabilidade e eficiência operacional. No entanto, como é impossível prever tudo, a chave para o sucesso está na instrumentação efetiva dos serviços em operação. Isso permite compreender seu comportamento real em tempo de execução e facilita o diagnóstico durante momentos de estresse.
Para isso, é necessário conhecer os elementos fundamentais da observabilidade: os sinais de telemetria. Saber quais são e quando utilizá-los é essencial. Também é importante compreender as diferenças entre os sinais e como são armazenados, pois muitas decisões do dia a dia estão relacionadas a esses detalhes, como alta cardinalidade, armazenamento colunar, indexação de dados, entre outros temas que fazem parte do repertório de uma pessoa engenheira de observabilidade.
Ferramentas e Tecnologias Chave
O arsenal de uma pessoa engenheira de observabilidade inclui ferramentas de métricas, rastreamento distribuído e logs. Além de conhecer ferramentas específicas utilizadas para o armazenamento desses sinais, como Prometheus, Jaeger, Loki, entre outros, é necessário também saber como esses sinais são gerados: quais bibliotecas de instrumentação podem ser utilizadas? Depois da instrumentação, temos que nos preocupar com as ferramentas de coleta e processamento, como o OpenTelemetry Collector.
A habilidade de implementar e otimizar essas ferramentas é crucial, permitindo a coleta, o processamento e a análise eficiente de dados de telemetria.
Abordagem Analítica e Resolução de Problemas
Profissionais de observabilidade devem possuir uma forte capacidade analítica. Além disso, é importante destacar que eles não são os principais responsáveis por operar serviços de negócios, mas desempenham um papel fundamental ao auxiliar e orientar outros profissionais da empresa, como SREs e engenheiros de software. Dessa forma, é essencial que eles saibam interpretar grandes volumes de dados e transformá-los em insights acionáveis, o que requer uma habilidade analítica apurada. Essa habilidade é vital, pois permite identificar rapidamente problemas e tomar decisões embasadas em evidências confiáveis. Portanto, a capacidade analítica é um atributo fundamental para o sucesso dos profissionais de observabilidade.
Aprendizado Contínuo e Adaptação
O campo de observabilidade ainda está em sua infância e constantemente vemos novidades surgindo. Novas ferramentas, práticas, conceitos e tecnologias estão emergindo regularmente. Para ter sucesso nessa área em constante evolução, é fundamental se manter atualizado por meio de eventos da comunidade, webinars, treinamentos e também por meio da leitura de artigos e pesquisas recentes. Além disso, é essencial estar aberto a novas ideias e experimentos, e praticar constantemente com o objetivo de aprendizado e aprimoramento contínuo. É importante também buscar oportunidades de colaboração com profissionais da área, participando de grupos de estudo e fóruns de discussão para trocar conhecimentos e experiências, como os canais OpenTelemetry BR e Dose de Telemetria no Telegram. Dessa forma, poderemos estar sempre preparados para os desafios e exigências cada vez maiores desse campo promissor.
Impacto Cultural e Educação Transversal
Um aspecto crucial da carreira em observabilidade é o impacto cultural dentro das organizações. Engenheiros de observabilidade desempenham um papel vital na educação de outras equipes, promovendo uma compreensão mais ampla da importância da observabilidade. Eles são os embaixadores desta disciplina, ajudando a integrar práticas de observabilidade em todos os aspectos do desenvolvimento de software e operações.
📚 Leitura recomendada
Distributed Systems Observability
Um dos livros mais influentes na área de observabilidade, apesar de já estar um pouco defasadoDistributed Tracing in Practice
Poderia ser mais “in practice”, mas ainda assim é um livro interessante para se entender rastreamento distribuídoCloud-Native Observability with OpenTelemetry | Packt
Livro focado em OpenTelemetry escrito por um mantenedor do projetoObservability Engineering
Provavelmente o melhor livro da atualidade nessa área, mas é um pouco dogmático demais em alguns aspectos. Leia com cuidado, filtre os interesses comerciais dos autores, e adapte os conceitos para suas necessidades.
Vídeo original
Falei sobre este tópico em um vídeo disponível no canal do Dose de Telemetria no YouTube. Você pode assistir ao vídeo aqui.