OpenTelemetry em .NET: do código ao Grafana com Jaeger, Prometheus e Loki
OpenTelemetry em .NET 10 com Collector, Jaeger, Prometheus, Loki e Grafana: do deploy que deixou o checkout lento até o span culpado, com números reais.
Arquitetura de software, .NET, IA aplicada e cloud, direto de quem constrói. Todos os textos também saíram no LinkedIn; os vídeos estão no canal ForgeTechPit no YouTube; assine o RSS para acompanhar por aqui.
OpenTelemetry em .NET 10 com Collector, Jaeger, Prometheus, Loki e Grafana: do deploy que deixou o checkout lento até o span culpado, com números reais.
Um deploy deixa o checkout lento: como métrica por versão, log com trace id e trace distribuído em .NET 10 levam do alerta à causa.
Streaming da resposta do Claude com Server-Sent Events e tool use chamando código C# no ASP.NET Core 10, com três armadilhas e testes xUnit.
Como preparar uma API .NET 10 para o pico de fim de ano: cache aquecido, limite de concorrência, prazo, fila com limite e teste de carga, medidos antes e depois.
A mesma tarefa de IA em .NET 10 com o SDK da OpenAI, o Microsoft.Extensions.AI e o Semantic Kernel: function calling, troca de provedor, armadilhas e teste.
Pagou, mas o pedido falhou: como estornar com uma saga em .NET 10, com compensação idempotente, estado do pedido e cenários de falha reproduzidos em um exemplo.
Cache com Redis em microsserviços .NET 10: o padrão cache-aside, TTL, medições de consultas ao banco e as armadilhas que aparecem só depois do ganho de desempenho.
A ordem dos middlewares no ASP.NET Core muda o comportamento da API sem gerar erro: três regras (autenticação, exceções e CORS) e uma demonstração com cinco ordens.
C4, UML ou ArchiMate? Uma regra para escolher a vista certa de arquitetura e um modelo único em C# que gera as três como código, com testes, em .NET 10.
Como colocar uma API .NET 10 no Kubernetes e mantê-la de pé: Dockerfile chiseled, health checks, probes, graceful shutdown e rolling update, tudo medido em um cluster kind.
Assistente RAG em .NET 10 sobre a documentação de um time: busca, citações, avaliação e app WPF, local com Ollama ou no Azure AI Foundry trocando a configuração.
A diferença entre tolerância a falhas (redundância) e resiliência (timeout, retry, circuit breaker e fallback), com um exemplo em .NET 10 e a saída de quatro cenários.
Como proteger sua API de abuso e picos de tráfego com o rate limiting nativo do ASP.NET Core: 4 algoritmos, 429 com Retry-After e um exemplo em .NET 10.
Como expor ferramentas a modelos de IA com o Model Context Protocol: servidor e cliente MCP em .NET 10 com o SDK oficial, tools, JSON-RPC e erros comuns.
Kafka vs RabbitMQ em .NET 10: fila de tarefas contra log de eventos, com o mesmo contrato rodando nos dois brokers.
Saga Pattern em .NET 10: transações locais, compensações idempotentes, coreografia e orquestração, com um orquestrador de pedido que compensa a falha.
Como montar um monólito modular em .NET 10: módulos com contrato público, schema por módulo, comunicação por eventos e testes de arquitetura.
dotnetup, o novo gerenciador de toolchain do .NET (public preview): SDKs e runtimes sem administrador, canais, global.json e quando ainda usar os instaladores.
Como combinar API Gateway com YARP e BFF em .NET 10 para dar a cada cliente os dados certos, com autenticação e rate limiting centralizados.
O que vai em cada arquivo e pasta de um projeto Claude Code: CLAUDE.md, .claude/, .mcp.json, skills, agentes e permissões.
Parte 2: o kickoff de uma Minimal API em .NET 10 com testes, do pedido em modo plano à skill de revisão antes do commit.
Parte 1: instalar o Claude Code, escrever o CLAUDE.md, definir permissões e modos, dominar o ritmo pedir, iterar e confirmar, e criar skills.
Mapeamento manual de DTOs com invariantes, objetos aninhados, PATCH seguro, organização por feature e testes xUnit.
Records em C# para Value Objects, DTOs e mensagens: imutabilidade, igualdade por valor, with e pattern matching.
Organizar o código por features de ponta a ponta em vez de camadas: coesão, menos acoplamento e evolução incremental.
Minimal APIs no ASP.NET Core: roteamento, binding, validação, comparação com Controllers e quando a simplicidade vira armadilha.
Como monólitos e microservices funcionam no dia a dia, com custos operacionais, limitações e quando cada abordagem faz sentido.
Armazene em UTC e exiba em horário local: TimeProvider, contêineres com TZ=Etc/UTC e práticas para Azure, AWS e Kubernetes.
Quando a Clean Architecture protege as regras de negócio e quando só adiciona complexidade, com a regra da dependência na prática.
Um tour pelo .NET 10 (LTS) e pelo C# 14: JIT, NativeAOT, criptografia pós-quântica, a palavra-chave field, extension members e mais.
Os três lifetimes da injeção de dependência no .NET explicados com uma cafeteria: copos descartáveis, garçom e máquina de espresso.