🎞️ Slides 📝 Material ← Módulo
Projeto 6 · Engenharia de Software Plano de Ensino

Aula 9 — Boas Práticas para Arquiteturas SOA na Nuvem

Plano operacional do dia: 8 padrões maduros para serviços cloud-native — 12-Factor, idempotência, circuit breaker, containers, autoscaling, gateway/mesh, secrets e FinOps — com atividade prática em sala consolidando 3 padrões no projeto do parceiro.

← Voltar ao Módulo

Identificação

Curso
Engenharia de Software
Módulo
Projeto 6 — SOA Mobile
Aula
9 de 10
Data
09/06/2026
Carga horária do dia
6h (2h + 2h + 2h)
Modalidade
Presencial · Metodologia ativa

Resumo

A aula 9 consolida o módulo 6 com boas práticas maduras para arquiteturas orientadas a serviço na nuvem. Saímos do "como modelar" (aulas 3-7) e do "como integrar" (aula 8) e entramos no "como rodar bem em produção": 12-Factor App, idempotência e retry, padrões de resiliência (circuit breaker, timeout, bulkhead), containers e Kubernetes, autoscaling e load balancing, API Gateway vs Service Mesh, gestão de secrets e FinOps básico.

O fechamento é uma atividade prática em grupo: cada equipe escolhe 3 padrões, documenta no repositório, evolui o diagrama de arquitetura da aula 3 e cruza cada padrão com os RNFs já listados. Não há ponderada — é prática boa que prepara a equipe para a entrega final do módulo.

Objetivos de aprendizagem

  • OA-1Identificar os 6 fatores mais críticos do 12-Factor App para serviços em containers e citar antipadrões comuns.
  • OA-2Aplicar idempotência via Idempotency-Key e UPSERT em endpoints de escrita.
  • OA-3Combinar Timeout + Retry + Circuit Breaker + Bulkhead para sobreviver a falhas de dependência.
  • OA-4Justificar o uso de containers e Kubernetes (paridade dev/prod, self-healing, autoscaling).
  • OA-5Diferenciar API Gateway (north-south) de Service Mesh (east-west) e dizer quando cada um se aplica.
  • OA-6Reconhecer antipadrões de secrets e propor cofre gerenciado (Vault/Secrets Manager/Key Vault) com rotação.
  • OA-7Avaliar trade-offs de custo cloud (compute, storage, egress, spot/reserved) e propor alertas.
  • OA-8Documentar 3 padrões aplicáveis ao projeto do parceiro com snippet de código e cruzamento com RNFs.

Pré-requisitos

  • Aula 3 concluída: arquitetura SOA do projeto desenhada e RNFs listados.
  • Aulas 5 e 8 concluídas: backend MVC + integração entre serviços.
  • Repositório do grupo com pasta docs/ ativa e diagrama de arquitetura versionado.

Cronograma do dia

📚 Bloco 1 · Autoestudo

10h00 — 12h00

Estudo individual orientado pelo material da aula 9.

  • Leitura completa do Material da Aula 9 (vocabulário do dia: 12-factor, idempotência, retry, circuit breaker, secrets, FinOps).
  • Estudar os 12 fatores em 12factor.net; anotar 3 que o backend do projeto já cumpre e 3 que ainda violam.
  • No backend do parceiro, escolher 1 chamada externa (DB, API, fila) e responder: o que acontece se ela falhar? O retry pode duplicar dados?
  • Caderno de bordo: anotar dúvidas concretas sobre custo cloud / rotação de secrets / circuit breaker.

📚 Leituras sugeridas:

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

14h00 — 16h00

Encontro síncrono com o professor especialista.

  • 14h00 — 14h15 · Daily.
  • 14h15 — 14h55 · Teoria + exemplos cloud (40 min): 8 padrões com snippets reais.
  • 14h55 — 16h00 · Atividade prática em sala (1h05) — cloud-practices.md em grupo.

🍴 Intervalo · Almoço

12h00 — 14h00

Janela livre.

🛠️ Bloco 3 · Desenvolvimento do projeto

16h00 — 18h00

Janela de continuidade da prática.

  • Finalizar docs/cloud-practices.md com os 3 padrões escolhidos pelo grupo.
  • Atualizar o diagrama de arquitetura (evolução do diagrama da aula 3).
  • Excelência: implementar 1 padrão de fato em código (ex.: Circuit Breaker com Polly + teste de integração que prova o break).
  • Abrir Merge Request feat(cloud): boas práticas SOA no repositório do grupo.

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

14h00
14h15

DailyDaily de abertura

Cada aluno apresenta em 1 minuto: 1 falha de rede que derrubou o serviço / 1 secret que quase vazou / 1 dúvida sobre custo cloud.

14h15
14h25

Talk12-Factor App + Idempotência

Visão geral dos 12 fatores, destaque para os 6 críticos em SOA cloud (III, VI, VII, IX, X, XI) e padrão Idempotency-Key com exemplo HTTP de pagamento.

14h25
14h40

TalkResiliência · Circuit Breaker e padrões

Diagrama de estados Closed → Open → Half-Open. Snippet C# com Polly. Combinação Timeout + Retry + Circuit Breaker + Bulkhead num único pipeline.

14h40
14h55

CodingContainers, autoscaling, gateway/mesh, secrets, FinOps

Walkthrough rápido com snippets reais (Dockerfile multi-stage, HPA YAML, ExternalSecret YAML). Diferenciar API Gateway de Service Mesh e introduzir 3 dimensões de custo cloud.

14h55
15h10

AtivaBriefing da atividade + escolha dos 3 padrões

Cada grupo escolhe 3 dos 8 padrões. Professor passa nas mesas validando escolhas (forçando diversidade quando todos escolhem só circuit breaker, por exemplo).

15h10
15h45

AtivaProdução em grupo · cloud-practices.md

Grupos escrevem o documento (descrição em 3 frases, onde aplica, snippet de prova), atualizam o diagrama de arquitetura da aula 3 marcando onde cada padrão entra e cruzam com a lista de RNFs.

15h45
16h00

AtivaApresentação rápida + síntese

Se houver tempo, cada grupo apresenta em 3 minutos os padrões escolhidos. Cada aluno escreve "a aula 9 me ensinou que...". Anuncia-se a continuidade na janela de dev (16h–18h) e a aula 10.

Estratégias de metodologia ativa

  • Padrão como contrato — equipes não saem com lista de padrões; saem com 3 padrões aplicados ao projeto, cada um com snippet e RNF correspondente.
  • Diversidade forçada — professor evita que todos os grupos peguem os 3 mesmos padrões; quem ataca FinOps ou Service Mesh expande o repertório coletivo.
  • Apresentação cruzada — o que um grupo produz vira repertório para os outros, ampliando aprendizado sem repetir conteúdo.
Princípio orientador

Boas práticas SOA cloud não são ideologia — são resposta a falha que já aconteceu. Cada padrão de hoje existe porque algum sistema caiu sem ele.

Recursos e ferramentas

CategoriaRecursoUso
Slidesslides/slide-lesson-9.htmlExposição na instrução PE
Materialmaterials/lesson-9-material.htmlAutoestudo
Linguagem/stackC# / .NET 8 + Docker + Kubernetes (YAML)Snippets de prova de conceito
BibliotecasPolly (resiliência .NET)Circuit Breaker, Retry, Timeout, Bulkhead
Documentodocs/cloud-practices.mdEntrega do grupo · 3 padrões aplicados
DiagramaDiagrama de arquitetura da aula 3 (evoluído)Marcar onde cada padrão entra

Verificação de aprendizagem

  • CR-1Cada grupo escolheu 3 dos 8 padrões e justificou aplicação no projeto do parceiro.
  • CR-2Documento docs/cloud-practices.md traz, para cada padrão, descrição em 3 frases + onde aplica + snippet de prova de conceito.
  • CR-3Diagrama de arquitetura atualizado (a partir do da aula 3) marcando onde cada padrão entra.
  • CR-4Cada padrão escolhido foi cruzado com RNFs já listados (referência cruzada com aula 3).
  • CR-5Merge Request feat(cloud): boas práticas SOA aberto até 18h00 com o documento e o diagrama atualizados.
  • CR-6 ⭐Excelência: 1 padrão implementado de fato em código (ex.: Circuit Breaker com Polly + teste de integração que prova o break depois de 5 falhas).
Critério mínimo

Grupo que sair às 18h sem 3 padrões documentados + diagrama atualizado + cruzamento com RNFs está em débito técnico para a aula 10 (observabilidade).

Conexão com a aula 10

A aula 10 fecha o módulo com Monitoramento e Logging — sem observabilidade, todos os padrões de hoje viram caixa-preta. Você sabe que tem retry, circuit breaker e autoscaling, mas não tem como provar se estão funcionando, nem detectar quando falham silenciosamente.

  • Cada padrão escolhido hoje precisa de uma métrica que prove sua eficácia (ex.: taxa de circuit-open, latência p99, fila absorvida pelo autoscaler).
  • Os RNFs cruzados na atividade de hoje viram SLOs mensuráveis na aula 10.
  • Logs em stream (12-Factor XI) são pré-requisito para a stack de observabilidade da aula 10.
Para o autoestudo da aula 10

Antes das 10h: ler o material da aula 10, listar 3 métricas que provariam que cada padrão escolhido hoje está funcionando, e revisar conceitos de logs estruturados, métricas e tracing distribuído.

Inteli Logo