Documentação, ADRs e o projeto que fecha entrevista
Objetivos desta aula
- Escrever README que sustenta uma conversa técnica
- Registrar decisões com ADR
- Preparar a narrativa da entrevista
Projeto sem documentação não conta como experiência, porque ninguém consegue avaliar. O README precisa responder em dois minutos: o que é, qual a arquitetura, como rodar, como implantar, como observar, como reverter, quanto custa e quais decisões foram tomadas — com o porquê.
ADR (Architecture Decision Record) é um documento curto por decisão: contexto, opções consideradas, escolha e consequências. Ele demonstra exatamente o que entrevista técnica procura: capacidade de comparar alternativas e assumir trade-off consciente.
Para a entrevista, prepare três histórias de dois minutos: um incidente que você diagnosticou (com evidência), uma automação que reduziu tempo ou risco (com número) e uma decisão de arquitetura com trade-off. Com o CloudShop, você tem material real para as três.
1. O README que recrutador lê
Em 30 segundos: o que é, diagrama de arquitetura, como rodar em um comando, decisões principais e resultados (tempo de deploy, SLO, custo).
2. ADR: decisões registradas
Um Architecture Decision Record curto: contexto, decisão, alternativas consideradas e consequências. Em entrevista, mostrar que você escolheu ArgoCD em vez de Flux e por quê vale mais que usar ambos.
3. Runbooks
Para cada alerta: o que significa, como confirmar, como mitigar e quem escalar. Um runbook bom permite que alguém novo resolva o incidente.
4. Diagramas como código
Mermaid ou diagrams.net versionados no repo mantêm a documentação viva junto ao código.
Na prática
Estrutura do README do CloudShop
markdown
# CloudShop Platform
Catalogo e pedidos de produtos 3D. Projeto de engenharia de plataforma end-to-end.
## Arquitetura
Vue (S3 + CloudFront) -> ALB/Ingress -> API Node (Kubernetes) -> PostgreSQL (RDS)
Observabilidade: Prometheus, Grafana, Loki, OpenTelemetry. Entrega: GitHub Actions + ArgoCD.
## Como rodar localmente
docker compose up -d # http://localhost:8080
## Como implantar
Merge na main -> CI (lint, testes, build, scans) -> imagem no GHCR ->
PR automatico no cloudshop-gitops -> ArgoCD sincroniza staging.
Producao: PR de promocao com aprovacao.
## Observabilidade
- Dashboard: grafana/cloudshop-overview
- SLO: 99,9% disponibilidade / 95% abaixo de 500ms (janela 30 dias)
- Runbooks: docs/runbooks/
## Rollback
git revert do commit de versao no repositorio GitOps (RTO medido: 4 minutos).
## Custo
Ambiente de estudo: ~18 USD/mes. Otimizacoes aplicadas: desligamento noturno de dev,
right-sizing do RDS, VPC endpoint para S3 (reduziu NAT).
## Decisoes (ADRs)
- ADR-001: Kubernetes em vez de ECS — motivo e consequencias
- ADR-002: GitOps com ArgoCD em vez de deploy por pipeline push
- ADR-003: RDS em vez de PostgreSQL autogerenciadoModelo de ADR
markdown
# ADR-002: GitOps com ArgoCD em vez de deploy push pelo pipeline
- **Status:** aceito (2026-09-20)
- **Contexto:** precisamos de rastreabilidade do que roda em cada ambiente e rollback rapido,
com apenas uma pessoa operando a plataforma.
- **Opcoes:**
1. Pipeline push com kubectl/helm — simples, porem estado do cluster nao e auditavel no Git.
2. ArgoCD com repositorio de manifests — reconciliacao continua e rollback por revert.
- **Decisao:** opcao 2.
- **Consequencias:** mais um componente para operar e curva de aprendizado;
em troca, drift detectado automaticamente, historico de deploy no Git e rollback em minutos.
- **Revisao:** reavaliar se o time crescer acima de 15 pessoas ou se surgir necessidade multi-cluster.Modelo de ADR
markdown
# ADR-004: GitOps com ArgoCD
Data: 2026-03-10 | Status: aceito
## Contexto
Deploys via kubectl no CI exigiam credencial de admin do cluster.
## Decisão
Adotar ArgoCD em modelo pull com repositório cloudshop-gitops.
## Alternativas
Flux (menos interface visual), push via Helm no CI (credencial exposta).
## Consequências
+ auditoria e rollback por Git - mais um componente para operarPor que isso importa
Na entrevista, quem documenta consegue provar; quem não documenta precisa que acreditem.
Erro comum
README com apenas instruções de instalação, sem arquitetura, decisões nem custo.
Dica de produção
Escreva o ADR no momento da decisão: reconstruir o raciocínio depois nunca sai igual.
Pergunta de entrevista
Conte uma decisão de arquitetura sua, as alternativas e o trade-off assumido.
Glossário
- ADR
- Registro curto de uma decisão de arquitetura, com contexto e consequências.
- RTO
- Recovery Time Objective: tempo alvo para restaurar o serviço.
- ADR
- Documento curto que registra uma decisão de arquitetura e seu porquê.
- Runbook
- Procedimento passo a passo para responder a um alerta ou tarefa.
Conexão com o CloudShop
Escrever o README final e os três ADRs principais do CloudShop.
Quiz da aula
1. O que um ADR registra?
2. O que um ADR deve conter além da decisão?
Minhas anotações
Salvo automaticamente neste navegador.