Objetivo
Conhecer e aplicar 8 padrões maduros para construir serviços que rodam bem na nuvem: 12-Factor App, idempotência e retry, circuit breaker e padrões de resiliência, containers e orquestração, autoscaling e load balancing, API Gateway e Service Mesh, gestão de secrets e FinOps básico.
Pontos-chave
- 12-Factor App — manifesto base para apps cloud-native; foco nos fatores III (config), VI (processes stateless), VII (port binding), IX (disposability), X (dev/prod parity), XI (logs como stream).
- Idempotência — toda operação de escrita exposta na rede precisa ser idempotente; padrão
Idempotency-Keyem headers HTTP e UPSERT no banco. - Resiliência — combinar Timeout + Retry com backoff + Circuit Breaker (Closed → Open → Half-Open) + Bulkhead.
- Containers + Kubernetes — Docker para paridade dev/prod; K8s para scheduling, self-healing, autoscaling e service discovery.
- Autoscaling — HPA por CPU/RAM/métrica customizada; padrão scale by queue depth para absorver picos.
- API Gateway vs Service Mesh — Gateway na borda (north-south); Mesh entre serviços (east-west) com mTLS, retry e observabilidade transparentes.
- Secrets — nunca commitar; usar Vault/Secrets Manager/Key Vault com rotação automática.
- FinOps — entender pricing model (compute, storage, egress), spot/reserved/savings, alertas de budget e observabilidade de custo.
Atividade prática em sala (1h05)
Em grupo, cada equipe escolhe 3 padrões dos 8 vistos na aula. Para cada um: descrição em 3 frases, onde no projeto faz sentido aplicar e código/config de prova de conceito (snippet em YAML, C#, Dockerfile etc.). Atualizar o diagrama da arquitetura (evoluindo o da aula 3) marcando onde cada padrão entra e cruzar com os RNFs já listados. Entrega via Merge Request com docs/cloud-practices.md. Excelência ⭐: implementar 1 padrão de fato em código (ex.: Circuit Breaker com Polly funcionando + teste de integração que prova o break).
Conexão com a aula 10
A aula 10 fecha o módulo com monitoramento e logging. Sem observabilidade, todos os padrões vistos hoje são caixa-preta — você sabe que tem retry, circuit breaker e autoscaling, mas não tem como provar que estão funcionando em produção.
Bibliografia
- The Twelve-Factor App — Adam Wiggins (Heroku)
- Release It! — Michael Nygard (capítulo de Circuit Breaker)
- AWS Well-Architected Framework
- Microsoft Cloud Adoption Framework
- Polly docs — biblioteca .NET de resiliência