🎞️ Slides 📝 Material ← Módulo
Projeto 6 · Engenharia de Software Plano de Ensino Aula 10 de 10 · Última aula

Aula 10 — Monitoramento e Logging para Serviços em Nuvem

Plano operacional do dia: observabilidade dos 3 pilares (logs, métricas, traces) aplicada ao Recommendation Service. Última aula do módulo — fechamento + retrospectiva.

← Voltar ao Módulo

Identificação

Curso
Engenharia de Software
Módulo
Projeto 6 — SOA Mobile
Aula
10 de 10 · Última aula
Data
16/06/2026
Carga horária do dia
6h (2h + 2h + 2h)
Modalidade
Presencial · Metodologia ativa
Pré-aula
Autoestudo guiado
Avaliação
Sem ponderada · prática em sala

Resumo

A aula 10 fecha o módulo trazendo o tema de observabilidade: o sistema construído ao longo de 9 aulas precisa, agora, conseguir se explicar em produção. Estudamos a diferença entre monitoring (saber o que perguntar) e observability (descobrir a pergunta certa quando a falha é nova) e detalhamos os 3 pilares: logs estruturados, métricas (RED + USE) e traces distribuídos.

A prática é em grupo: ligar Serilog com saída JSON na API .NET, expor 3 métricas custom via OpenTelemetry e instrumentar 1 endpoint do Recommendation Service com 1 trace de 3 spans. Documentamos tudo em docs/observability.md e abrimos um Merge Request por equipe. Não há ponderada — a tarde é fechada com a retrospectiva do módulo.

Objetivos de aprendizagem

  • OA-1Distinguir monitoring de observability e justificar por que arquiteturas SOA exigem observability.
  • OA-2Explicar os 3 pilares (logs, métricas, traces), citando granularidade, custo e uso típico de cada um.
  • OA-3Implementar logs estruturados em JSON com Serilog, incluindo enriquecimento com TraceId e MachineName.
  • OA-4Implementar métricas custom RED (Rate, Errors, Duration) usando OpenTelemetry no Recommendation Service.
  • OA-5Instrumentar um endpoint com trace distribuído de pelo menos 3 spans, usando ActivitySource.
  • OA-6Definir SLO/SLI realistas para o MVP e listar pelo menos 3 alertas de sintoma (não de causa).

Pré-requisitos

  • Aulas 1–9 concluídas: Recommendation Service rodando como serviço SOA na nuvem (aula 9).
  • API .NET com endpoints de recomendação funcionando localmente.
  • Acesso ao repositório do grupo com permissão de criar branch e abrir MR.
  • Docker Desktop instalado (necessário para a Excelência ⭐).

Cronograma do dia

📚 Bloco 1 · Autoestudo

10h00 — 12h00

Estudo individual orientado pelo material da aula 10.

  • Leitura completa do Material da Aula 10.
  • Listar 3 perguntas operacionais que hoje o MVP do grupo não consegue responder em 1 minuto.
  • Ler o capítulo de SLO do Google SRE Book e anotar a definição de error budget em uma frase própria.
  • Caderno de bordo: dúvidas concretas sobre instrumentação em .NET.

📚 Leituras sugeridas:

🎓 Bloco 2 · Instrução PE — Aula em metodologia ativa

14h00 — 16h00

Encontro síncrono com o professor especialista. Última aula do módulo.

  • 14h00 — 14h15 · Daily.
  • 14h15 — 14h55 · Teoria de observabilidade · 3 pilares · stack canônica.
  • 14h55 — 16h00 · Atividade prática em sala (1h05) · grupo no repositório do projeto.

🍴 Intervalo · Almoço

12h00 — 14h00

Janela livre.

🛠️ Bloco 3 · Continuidade da prática + Retrospectiva do módulo

16h00 — 18h00

Janela final do módulo.

  • 16h00 — 17h00 · Continuidade da atividade prática · merge dos MRs · ⭐ Excelência (stack docker-compose com Prometheus + Grafana + Jaeger).
  • 17h00 — 18h00 · Retrospectiva do módulo 6: o que funcionou nas 10 aulas, o que ficou de débito técnico, o que cada aluno leva para a Sprint Review do parceiro Aventura.

Detalhamento da instrução PE (14h00 — 16h00)

14h00
14h15

DailyDaily de abertura · último da trilha

Cada aluno em 1 minuto: 1 incidente que vivi (no projeto ou em estágio) / 1 métrica que sinto falta no MVP / o que tem hoje no projeto pra debugar?. A equipe que mais sofreu no módulo abre.

14h15
14h25

TalkMonitoring × Observability

Exposição (10 min) sobre a diferença entre monitoring (perguntas conhecidas) e observability (qualquer pergunta, sem deploy). Exemplo motivador: bug novo em SOA. Citação do livro Observability Engineering (Charity Majors).

14h25
14h40

TalkOs 3 pilares · Logs · Métricas · Traces

Tabela comparativa (granularidade, custo, retenção, uso típico). Logs estruturados em JSON com Serilog · Métricas RED+USE com OpenTelemetry · Distributed tracing com OTel + Jaeger.

14h40
14h55

TalkDashboards, alertas e custo

SLO/SLI/error budget · alerta de sintoma vs. causa · cardinality explosion · sampling de traces · retenção em camadas (hot 7d / warm 30d / cold 1y) · header W3C traceparent e correlação log×métrica×trace.

14h55
15h05

AtivaBriefing da atividade prática

Apresentação dos 4 critérios da prática (Serilog JSON · 3 métricas RED via OTel · 1 trace de 3 spans · docs/observability.md com prints) e da Excelência ⭐ (docker-compose com Prom + Grafana + Jaeger). Cada grupo divide tarefas entre devs em paralelo.

15h05
15h55

CodingAtividade prática em grupo

Trabalho síncrono no repositório do projeto. Cada dev pega 1 dos 3 pilares. O professor circula entre as mesas atendendo dúvidas pontuais. Branch feat/observability, MR aberto antes do fim.

15h55
16h00

AtivaSíntese · "a aula 10 me ensinou que..."

Cada aluno escreve em uma frase o que leva da aula. Anuncia-se a continuidade às 16h e a retrospectiva do módulo às 17h.

Estratégias de metodologia ativa

  • Observabilidade aplicada ao próprio MVP — em vez de exemplo abstrato, o grupo instrumenta o Recommendation Service que vem construindo desde a aula 1. O sistema vira o laboratório.
  • Divisão por pilar dentro do grupo — cada dev pega 1 dos 3 pilares (logs, métricas ou trace). Trabalho paralelo + integração no MR força a comunicação entre as instrumentações.
  • Retrospectiva com lente de produção — o fechamento do módulo acontece com o sistema observável: durante a retrô o grupo já consegue ver o próprio MVP em 3 dimensões, o que muda o tom da reflexão.
Princípio orientador

Sistema sem observabilidade não é produto — é maquete. A diferença entre rodar e funcionar em produção é poder responder uma pergunta nova em segundos, sem deploy.

Recursos e ferramentas

CategoriaRecursoUso
Slidesslides/slide-lesson-10.htmlExposição na instrução PE
Materialmaterials/lesson-10-material.htmlAutoestudo
LinguagemC# / .NET 8API e Recommendation Service
LogsSerilog.AspNetCore + JsonFormatterLogs estruturados em JSON
MétricasSystem.Diagnostics.Metrics + OpenTelemetry.Exporter.Prometheus.AspNetCoreMétricas RED custom
TracesOpenTelemetry.Trace + OpenTelemetry.Exporter.JaegerDistributed tracing
Stack ⭐docker-compose · Prometheus · Grafana · JaegerVisualização local (Excelência)
Documentodocs/observability.mdComo rodar local + prints + alertas

Verificação de aprendizagem

Esta aula não tem atividade ponderada. A verificação é feita pela qualidade do MR de grupo e pela participação na retrospectiva.

  • CR-1Habilitou Serilog com saída JSON estruturada na API .NET, com TraceId e MachineName enriquecidos.
  • CR-2Adicionou pelo menos 3 métricas custom (RED) via OpenTelemetry em pelo menos 1 endpoint.
  • CR-3Instrumentou 1 endpoint do Recommendation Service com 1 trace de 3 spans com tags úteis.
  • CR-4Documentou docs/observability.md com prints (1 de log, 1 de métrica, 1 de waterfall) e 3–5 alertas de sintoma sugeridos para o MVP.
  • CR-5Abriu Merge Request feat/observability no repositório do grupo antes das 17h00.
  • CR-⭐(Excelência) Subiu stack local com docker-compose (Prometheus + Grafana + Jaeger) e exportou 1 dashboard JSON.
Critério mínimo

Grupo que sair às 18h sem ao menos logs JSON + 1 métrica + 1 trace mergeados no repositório do projeto está em débito técnico para a Sprint Review do parceiro Aventura.

Conexão com o módulo 7 / próxima sprint avaliativa

O módulo 6 termina aqui. Próxima parada: Sprint Review final do parceiro Aventura. Tudo o que foi construído em 10 aulas — da matemática da filtragem colaborativa (aulas 1–2) à arquitetura SOA (aulas 3, 9), passando por banco (aulas 4–5), mobile (aula 6), POO + TDD (aulas 7–8) e observabilidade (aula 10) — precisa virar uma demo de 5 minutos que conta uma história completa.

  • O Recommendation Service de hoje é o coração do que será apresentado.
  • Os logs, métricas e traces que vocês ligaram nesta aula tornam a demo robusta: dá para mostrar o sistema funcionando e mostrar como ele se comporta sob carga.
  • No módulo 7 (próximo trimestre) o foco sai do produto único e passa para integração entre múltiplos serviços — observabilidade vai ser pré-requisito, não diferencial.
Reflexão final do módulo

O recomendador saiu da matemática e virou produto observável em produção. Saímos do "isso roda?" e chegamos no "isso aguenta?". Boa Sprint final — façam a demo curta, façam a demo honesta.

Inteli Logo