Observability

OpenTelemetry: 5 pontos a considerar ao adotá-la

A observability vem mudando e sendo um desafio de novos patamares, com a modernização dos ecossistemas tecnológicos para uma arquitetura cloud-native e com expectativas ainda maiores de resiliência, segurança e performance. Uma das iniciativas que melhor vem respondendo a esse desafio é a OpenTelemetry.

A OpenTelemetry (OTel) é um framework de observability open source baseado em APIs, SDKs e um coletor para capturar e transferir telemetria de aplicações cloud nativas para plataformas que vão consumi-los em análises

Como tal, ela fornece um standard agnóstico para esse processo, substituindo a fragmentação das soluções existentes mas também o vendor lock-in.

Recentemente, sua versão 1.0 foi lançada com a fusão de vários projetos. Desde então a OpenTelemetry vem se expandindo rapidamente, tanto em desenvolvimento quanto em popularidade. Além de ter se tornado um projeto da CNCF – Cloud Native Computing Foundation, ganhou o apoio de grandes como Splunk, Microsoft, Google, Amazon e outros.

Mas adotá-la ainda é uma dificuldade. Há alguns motivos para isso, relacionados tanto ao fato de ser emergente quanto ao fato de ainda estar em pleno desenvolvimento e, portanto, de não ter o devido suporte.

Neste artigo, vamos dar uma olhada sobre o estado da OpenTelemetry, bem como trazer alguns pontos que você deve avaliar antes de se aventurar por ela.

Banner-Ebook-Observability

O estado da OpenTelemetry

Em termos de projeto, a OpenTelemetry é um dos mais ativos, perdendo apenas para o Kubernetes. Complexo, ele se modifica rapidamente. Falar aqui sobre o seu estado atual seria já estar atrasado em sua evolução. Para acompanhá-lo, veja o site oficial.

A grande virada de chave é permitir que as empresas não foquem mais tanto em viabilizar a coleta e envio de telemetria de acordo com as diferentes necessidades de seus diferentes times. Sabemos que um dos grandes custos associados à observability é instrumentalizar a aplicação para gerar telemetria e construir um pipeline para enviar os dados para análise, que envolve uma série de ferramentas cuja lista só aumenta.

A OpenTelemetry surge como a interface entre a aplicação e as ferramentas usadas para monitorá-la e observá-la, sendo receptáculo de dados nas linguagens mais populares – como Java, C#, Python, Go, entre outras – e definindo um standard para o envio de telemetria para as ferramentas de análise. Então, você escreve a sua instrumentalização uma vez, a instala uma vez, e está pronto para enviar dados a qualquer ferramenta de observability.

Simplificando esse processo, o framework permite que o foco seja precisamente no que interessa para a empresa, ou seja, na análise de dados, consequentemente na otimização do tempo de resolução (MTTR), da performance da aplicação e na melhora da experiência dos usuários.

 

O que considerar ao adotar a OpenTelemetry?

A OpenTelemetry está em seus primeiros estágios de evolução. Naturalmente, faltam paradigmas e cases a serem seguidos. Adotá-la ainda envolve risco

Um dos esforços do projeto é, inclusive, simplificar a implementação da OpenTelemetry em escala, dada a longa curva de aprendizado, por meio de suporte.

Que abordagem adotar, portanto?

Levantamos alguns pontos que você deve considerar antes de embarcar na implementação da OpenTelemetry.

1. Conheça seu stack

Mapeie componentes relevantes, como:

  • Quais são as linguagens de programação e frameworks: isso ajudará a determinar as libraries que você deverá usar e potencialmente os agentes para instrumentalizar os frameworks de programação que você vai usar em seu código.
  • Quais os tipos de dados e protocolos: você coleta logs, métricas e faz rastreamento? Eles vêm de sua aplicação via SDK ou por meio de outras fontes, como Kafka? Com essas respostas, você vai compreender quais os receptores de coletor de OpenTelemetry que você vai usar.
  • Quais as ferramentas de analytics no back-end: para onde os dados serão enviados? Jaeger? Splunk? Prometheus? Com essas análises você vai determinar quais serão os exportadores usados pelo coletor.

 

2. Conheça o status dos principais componentes da OpenTelemetry

Para delimitar as expectativas do seu projeto, você precisa saber qual é o status dos componentes do projeto OpenTelemetry

Para implementações disponíveis, geralmente busca-se um status de estável para rodar em ambientes de produção. Componentes de estágio experimental ficam limitados a atividades de não-produção como provas de conceito.

Considere o status por tipo de dado telemétrico, como a especificação da API; o status do SDK para a linguagem usada pela aplicação e o protocolo de apoio ao envio do dado da fonte para o seu destino.

 

3. Considere as limitações da OpenTelemetry em relação ao que você quer realizar

Compreenda quais são as limitações da OpenTelemetry que afetam o seu projeto e como. Priorize ou despriorize ações em função disso.

A funcionalidade escolhida tem suporte para ajudar você no planejamento e na tomada de decisão da implementação?

Da mesma maneira, considere a metodologia de instrumentalização. Há alguns tipos de libraries de instrumentalização disponíveis no projeto. A auto instrumentalização tem vantagens como a de ser no-code e rápida, mas também tem limitações como atender apenas rastreamento e linguagens de programação mais usadas como Java.

Lembre-se, também, que a OpenTelemetry não é uma plataforma de observability. Ela oferece os standards para gerar e coletar logs, métricas e fazer rastreabilidade, mas a visualização, alertas ou armazenamento desses dados.

 

4. Como a OpenTelemetry se encaixa em sua estratégia de observability

OpenTelemetry não tem a ver apenas com tecnologia. Ela tem que estar dentro da estratégia mais geral de observability. Portanto, saiba por que você precisa da OpenTelemetry e, a partir disso, trace objetivos.

Muitos subestimam esse ponto, por considerarem a OpenTelemetry um framework experimental. É gratuita, open source, funciona com a maioria das ferramentas de observability, não amarra a empresa a nenhum fornecedor…

Mesmo assim, garanta que a jornada tenha um propósito. Agora, não espere que o sucesso venha da noite para o dia. Esse é mais um ponto.

 

5. Persevere: nem sempre o sucesso será imediato

A implementação de iniciativas recentes como a OpenTelemetry estará repleta de percalços e falhas poderão acontecer, principalmente no começo. 

Desistir na primeira dificuldade é uma opção, mas talvez não seja a melhor escolha. Se o sucesso não vier imediatamente, continue, mesmo que tenha dificuldades de contar com o patrocínio.  

 

OpenTelemetry: esse é o seu caminho?

Projetos como a OpenTelemetry – que mostraram rapidamente o seu valor – entusiasmam a todos, e com razão. As coisas se complicam quando você começa de fato a implementá-la.

Listamos alguns detalhes a que toda empresa que inicia nesta jornada deve estar atenta, antes mesmo de colocar o pé na estrada.

Será a OpenTelemetry o seu caminho? Conte conosco para entender seu momento e iniciar esta jornada.

Explore conteúdos relacionados:

Observability

4 vantagens imediatas da observability para o negócio

Observability

Synthetic monitoring: 7 razões para considerar essa ferramenta