As arquiteturas de microsserviços permitiram que os desenvolvedores construíssem e lançassem aplicações mais rapidamente e com maior independência, pois não estavam mais sujeitos aos elaborados processos de lançamento associados às arquiteturas monolíticas.

À medida que esses sistemas agora distribuídos foram escalados, tornou-se cada vez mais difícil para os desenvolvedores ver como seus próprios serviços dependem ou afetam outros serviços, especialmente após uma implantação ou durante uma interrupção, onde a velocidade e a precisão são críticas.

Ta, mas qual o papel do OpenTelemetry nessa história?

Então o que realmente é esse OpenTelemetry?

O que o OpenTelemetry pode fazer por mim?


Principais componentes do OTel

Porque usar um Collector ao invés de enviar os dados diretamente para o Vendor?


Instrumentação

A instrumentação é a maneira que voce lida com o que está na sua aplicação pra que a partir do comportametos você consiga gerar dados e enviar para o seu Vendor, seja diretamente ou usando um coletor.

A Instrumentação pode acabar sendo complexa de ser implementada, isso porque sua aplicação está consumindo CPU, memória, I/O, além disso tem code start, possue funções com difentes tempos de execução e entre outros fatores que podem ser observados com o intuido de gerar dados. Então, instrumentar de forma manual pode acabar sendo um desafio, e aqui entra o OTel.

O OTel forneçe bibliotecas para que possamos fazer uma instrumetação automática, ou seja, altomaticamente ele vai pegar os dados de tudo que ta acontecento na aplicação e enviar para seu vendor.

Mas nem tudo é so flores, hoje o OTel não possue instrumetação altomática para todas as linguagens e para algumas delas é possivel que nunca tenha suporte, no entanto, o OTel fornece a possibilidade de você fazer a instrumentação da sua aplicação de forma manual. Ou seja, você irá instrumentar o consumo de CPU, Memória, tempo de execução do seu software de forma manual e etc.., mas utilizando ainda as especificações do OTel e não ficando preso a um Vendor específico.

Referências

What is OpenTelemetry?