BLOG | ESCRITÓRIO DO DIRETOR DE TECNOLOGIA

Apache Arrow e OpenTelemetry: Como o código aberto alimenta a observabilidade

Miniatura de Lori MacVittie
Lori MacVittie
Publicado em 19 de abril de 2023

Há quinze zilhões de estatísticas sobre o quão difundido o software de código aberto é em empresas de todos os setores. Os aplicativos são compostos por mais de 80% de componentes de código aberto, e a Internet basicamente roda no software de código aberto, NGINX .

Mas também existem muitos padrões abertos. Padrões desenvolvidos e aprimorados usando uma abordagem comunitária de código aberto que produz ecossistemas incríveis de produtos, projetos e infraestrutura de suporte.

O OpenTelemetry é um desses esforços e se tornou o padrão para gerar, ingerir e processar dados operacionais, também conhecidos como telemetria . Quase um terço (32%) dos entrevistados do Observability Innovation Report 2023 indicam que “o suporte do OpenTelemetry é necessário e 50% dizem que é muito importante em produtos de fornecedores. Pouco mais de um terço (36%) dos entrevistados usam o OpenTelemetry em suas organizações.”

Padronizar a telemetria é fundamental porque a observabilidade depende de pontos de dados de toda a pilha de TI. Isso significa métricas de rede, logs de servidor e rastreamentos — tudo isso vem de tipos muito diferentes de infraestrutura e sistemas. Não há uma única fonte de verdade porque há muitas partes móveis até mesmo em um aplicativo simples para garantir que você possa reunir todos os dados necessários para observar o estado do aplicativo em um determinado momento. Padronizar a maneira como a telemetria é gerada é uma maneira de normalizar sinais digitais e garantir que a análise possa aproveitar todos os pontos de dados apropriados para fornecer insights precisos e acionáveis.

Mas mesmo a padronização da telemetria não resolve todos os desafios associados à obtenção do Santo Graal da observabilidade full-stack.

Um dos grandes problemas de lidar com dados operacionais é seu volume. Os sinais digitais nos quais as organizações confiam para se manterem a par de possíveis problemas de desempenho ou tentativas de ataques são gerados de forma mais rápida e furiosa do que qualquer outro tipo de dado. Sabemos disso em um nível próximo e pessoal porque na F5 adotamos o OpenTelemetry como padrão em todo o nosso portfólio. A natureza e a função de nossos produtos, como BIG-IP e NGINX, na entrega e proteção de aplicativos e serviços digitais significa que volumes significativos de dados, como métricas e logs, são gerados por vários motivos. Transportar e processar esses dados é uma parcela significativa do custo associado aos pipelines de telemetria.

Para enfrentar esse desafio, o distinto engenheiro Laurent Quérel se envolveu com o Apache Arrow e começou a trabalhar com o projeto OpenTelemetry para aumentar sua eficiência com altos volumes de telemetria.

Nossos resultados de benchmark mostram que o Apache Arrow oferece vantagens significativas para transportar e processar dados de telemetria, principalmente quando eles podem ser agrupados em lotes de centenas de entidades ou mais. A organização em colunas dos dados aumenta a compressibilidade, e esse layout de memória melhora muito a velocidade de processamento ao otimizar o uso de vários níveis de cache e instruções SIMD. Além disso, o ecossistema Arrow serve como um excelente complemento ao OpenTelemetry, aprimorando sua integração com mecanismos de consulta, pipelines de processamento de fluxo e formatos de arquivo analíticos especializados.

Você pode ler mais sobre o Apache Arrow e o trabalho de Laurent no primeiro de dois artigos sobre nossas experiências com a tecnologia no site do Apache Arrow.