A primeira edição de 2025 do Nubank Engineering Meetup já chegou trazendo um tema central para quem trabalha com arquitetura distribuída, microsserviços e confiabilidade de sistemas: a observabilidade. 

O evento, realizado em  Soluções da AWS Lucas Vieira fedeSouza da Silva e Luis vereiro, marcou o início da temporada de encontros técnicos do ano com a presença de Guto (engenheiro no Nu e host da noite), dos Arquitetos Tiani, e também da equipe de engenharia do Nubank. Os nossos representantes, Caio (Engineering Manager) e Otávio (Lead Engineer), compartilharam os bastidores da evolução da nossa stack de logs e a criação das plataformas Observability Stream e Alexandria.

O foco da apresentação foi discutir como integrar ferramentas Open Source com serviços gerenciados da AWS para criar pipelines de observabilidade escaláveis e eficientes. O meetup trouxe desde os fundamentos dos três pilares da observabilidade (métricas, logs e traces) até demonstrações práticas usando OpenTelemetry, Prometheus, Grafana e OpenSearch.

O que é observabilidade, afinal?

A pergunta que guiou o início da discussão foi simples e objetiva: o que significa tornar um sistema observável? A resposta passa pela capacidade de responder, com dados concretos, a perguntas sobre o comportamento interno de aplicações em produção. Para isso, usamos três tipos de sinais:

  • Métricas: são séries temporais numéricas, úteis para avaliar latências, uso de recursos e taxas de erro.
  • Logs: registros textuais estruturados que ajudam a entender eventos e fluxos com maior detalhamento.
  • Traces: rastreamentos que mostram como diferentes serviços interagem em uma requisição, permitindo identificar gargalos e relações de dependência.

Esses dados se complementam e formam a base para construir dashboards, criar alertas e realizar análises aprofundadas de comportamento.

Check our job opportunies

O papel do OpenTelemetry

Entre as ferramentas Open Source mais relevantes hoje está o OpenTelemetry. Trata-se de um projeto mantido pela CNCF que fornece:

  • Bibliotecas de instrumentação para várias linguagens, com opções manuais ou automáticas;
  • Collectors que atuam como agentes, recebendo, enriquecendo e enviando sinais de observabilidade;
  • Protocolo OTLP, que virou padrão de mercado para transporte de dados.

Com ele, é possível instrumentar aplicações, coletar sinais em diversos formatos (inclusive Prometheus), e enviá-los para vários destinos como OpenSearch, Prometheus ou outros.

Open Source é liberdade, mas com desafios

A CNCF mantém um verdadeiro ecossistema de ferramentas Open Source para observabilidade, desde ingestão até visualização. Mas montar e operar um stack 100% Open Source exige tempo, conhecimento e responsabilidade sobre infraestrutura, updates, escalabilidade e segurança.

Aqui entram os serviços gerenciados. A proposta da AWS é simplificar a operação mantendo o uso de tecnologias abertas. Em vez de gerenciar seu próprio Prometheus ou Grafana, você pode usar versões gerenciadas desses serviços, com integração facilitada e escalabilidade automatizada.

OpenSearch: do Elastic Search ao vector search

Um dos destaques foi o OpenSearch, fork do Elastic Search criado em 2021 e mantido sob a Linux Foundation. Ele é amplamente usado para:

  • Análise de logs e séries temporais;
  • Soluções de busca para e-commerce e plataformas complexas;
  • Busca vetorial para IA generativa.

A AWS oferece o OpenSearch em duas modalidades:

  • Provisionado: com instâncias, VPC e sizing gerenciáveis pelo usuário.
  • Serverless: escalabilidade automática, desacoplando computação e armazenamento.

O OpenSearch também inclui o OpenSearch Ingestion, baseado no Data Prepper, para transformar e enviar dados em formato JSON ao cluster.

Compondo uma stack gerenciada de observabilidade

A apresentação também abordou a integração entre vários serviços da AWS, formando uma stack robusta:

  • Amazon Managed Prometheus: coleta e armazena métricas, com suporte a alert manager e pricing serverless.
  • Amazon Managed Grafana: visualiza dados de diversas fontes (inclusive CloudWatch, RDS, OpenSearch), com autenticação via AWS Identity Center.
  • AWS Distro for OpenTelemetry: versão governada da AWS com integração facilitada para EKS, ECS e Lambda.

Demo prática: OpenTelemetry em um cluster EKS

Para tornar tudo mais concreto, Lucas apresentou uma demo real com a aplicação “OpenTelemetry Demo” rodando em EKS. A aplicação, com gerador de tráfego, emitia sinais processados por um OpenTelemetry Collector e enviados para Prometheus e OpenSearch.

A partir disso, o Grafana reunia métricas, logs e traces em dashboards correlacionados, permitindo:

  • Selecionar um microsserviço e ver seu histórico de latência e erros;
  • Explorar um trace específico com visualização waterfall e logs associados;
  • Utilizar datalinks para pular de um dashboard para outro ou abrir o OpenSearch direto via Grafana.

Tudo isso usando variáveis do Grafana combinando dados do Prometheus e do OpenSearch, facilitando a investigação de incidentes e o cruzamento de informações.

Reconstruindo a stack de logs do Nubank

Na segunda metade do meetup, Caio e Otávio trouxeram insights sobre a evolução da plataforma interna de observabilidade de logs do Nubank — uma jornada marcada por crescimento exponencial, desafios com vendors externos e decisões estratégicas para manter eficiência e controle sobre os dados.

O problema: crescimento de volume e custo com soluções terceirizadas

Com mais de 3 mil microsserviços e uma base crescente de clientes, o Nubank passou a lidar com volumes diários que chegaram a meio petabyte de logs. A estratégia original (baseada em um vendor externo) começou a mostrar limitações, especialmente em dois aspectos:

  • Custo: observabilidade em larga escala se tornou uma das maiores despesas da infraestrutura.
  • Confiabilidade: falhas na ingestão e falta de visibilidade sobre dados críticos impactavam diretamente na resolução de incidentes.

A solução encontrada foi ousada: construir uma plataforma interna, altamente escalável, resiliente e mais econômica.

Uma nova plataforma para ingestão de dados

A primeira etapa da reestruturação foi a criação da Observability Stream, responsável pela ingestão e processamento de dados de logs e, futuramente, de traces.

Requisitos técnicos

A equipe definiu quatro pilares fundamentais:

  • Baixa latência na ingestão (dados precisam estar disponíveis em até 3 minutos).
  • Escalabilidade e elasticidade para lidar com picos como Black Friday.
  • Tolerância a falhas, garantindo que nenhum dado seja perdido.
  • Eficiência de custos, alinhada à cultura de responsabilidade financeira do Nubank.

Arquitetura baseada em micro-batching

Para balancear performance e viabilidade técnica, foi adotado um modelo de micro-batching, com camadas de processamento desacopladas por filas (SQS). O fluxo envolve:

  • Coleta com Fluent Bit.
  • Acúmulo e transformação dos dados por serviços internos.
  • Armazenamento no Amazon S3.
  • Escalonamento automático com base no lag das filas.

Essa arquitetura proporcionou robustez e modularidade, preparando o terreno para o próximo passo: a busca.

Alexandria: nossa plataforma interna de busca de logs

Com todos os dados estruturados e armazenados, surgiu o projeto Alexandria, a plataforma de busca de logs usada por engenheiros e engenheiras do Nubank.

Busca escalável com Trino e Parquet

A arquitetura combina:

  • Dados armazenados em arquivos Parquet no S3, com compressão de até 95%.
  • Engine de consulta baseada em Trino, que lida com volumes massivos e alta concorrência.
  • Um serviço de compactação contínua para otimizar a performance e o uso de storage.

Resultados alcançados

  • 0,7 trilhão de linhas processadas por dia.
  • Mais de 600 TB ingeridos diariamente.
  • 14 mil buscas por dia escaneando 150 TB.
  • Redução de 50% nos custos comparado a vendors SaaS.
  • Tudo mantido por uma equipe enxuta de cinco engenheiros.

Observabilidade eficiente com open source e nuvem

O Nubank Engineering Meetup #11 trouxe um mergulho profundo e prático no universo da observabilidade com Open Source e AWS. Além de reforçar a importância de métricas, logs e traces, mostrou como montar uma stack de observabilidade moderna combinando o melhor do código aberto com a praticidade dos serviços gerenciados.

Com exemplos reais, arquitetura detalhada e demonstrações visuais, o encontro foi um recurso valioso para engenheiras, engenheiros e equipes de plataforma que buscam elevar a visibilidade e a confiabilidade de seus sistemas.

Fique ligado nas próximas edições do Nubank Engineering Meetup para mais conteúdo técnico aprofundado sobre os desafios e soluções na construção de produtos financeiros simples, seguros e inovadores.

Check our job opportunies