v1.0 · Owner: Ueslei C. Nascimento · Revisão trimestral · Junho 2026


Todos os exemplos

Exemplo Preenchido: Solution Architecture Document (SAD)

Projeto fictício para servir de referência de preenchimento do template-sad.md. Os números são ilustrativos. Mesmo projeto de referência dos demais exemplos (SAP-Peças). Repare que cada seção consolida conteúdo dos artefatos anteriores (coluna “Origem” do template): o SAD não reescreve nada do zero.

Identificação

CampoValor
ProjetoPortal de Autoatendimento de Solicitação de Peças (SAP-Peças)
ArquitetoPaula Andrade
Aprovador (Tech Lead Aprovador)Carlos Menezes
Versão / Data1.0 / 08/07/2026

1. Visão Geral

Portal web de autoatendimento para 480 concessionários solicitarem peças de reposição, substituindo o fluxo manual por telefone/e-mail (3h20 por pedido) por autoatendimento 24/7 (< 15 min). Integra-se ao ERP de Pedidos (estoque e criação de pedido) e ao IdP corporativo (SSO). Fora do escopo: pagamento online e logística. (Origem: BRD §1-3.)

2. Requisitos e Restrições

Requisitos com impacto arquitetural: RNF-001 (busca P95 < 800ms, que motiva o cache), RNF-002 (99,5% em 6h-22h, que motiva multi-AZ), RF-002 (disponibilidade em tempo real, limitada pelo ERP, ver spike), CA-002 (pedido no ERP < 1 min, que motiva a outbox com retry). Restrições: API atual do ERP imutável nesta fase (limite ~60 req/s, evidência do spike); orçamento de infra ≤ R$ 8k/mês. (Origem: BRD §5-6, §9; Spike.)

3. Decisões Arquiteturais (ADR)

ADRDecisãoStatus
ADR-001PostgreSQL 16 (RDS) como banco principalAceita
ADR-002Cache Redis para catálogo e disponibilidade (mitigação do limite do ERP)Aceita
ADR-003Autenticação via IdP corporativo (OIDC), sem identidade localAceita
ADR-004Busca com PostgreSQL full-text (sem Elasticsearch)Aceita
ADR-005Notificações por AWS SESAceita

4. Visão Arquitetural

Monolito modular (Catálogo, Pedidos, Integração-ERP, Auth) servido por SPA React. Diagramas: C4 L1 e L2 no HLD; C4 L3 no LLD [links no Confluence]. Interação crítica: busca atende do cache (hit ~95%); confirmação de pedido valida estoque direto no ERP e grava na outbox para entrega garantida. (Origem: HLD §1-3, LLD §1.)

5. Infraestrutura e Deploy

VPC em 2 AZs (sa-east-1); ALB → ECS Fargate (2-8 tasks) → RDS multi-AZ + ElastiCache; CloudFront na SPA; VPN site-to-site para o ERP. IaC em Terraform. Pipeline CI/CD: build + lint + testes + secrets scan + SAST/SCA → deploy rolling com health check; rollback por redeploy da imagem anterior. (Origem: HLD §6, §10; Bootstrap.)

6. Segurança

OIDC no IdP corporativo; autorização por papel com escopo por CNPJ (principal ameaça do STRIDE: acesso entre concessionários; controle: claim no token + filtro na camada de dados). TLS em trânsito, criptografia em repouso (RDS/ElastiCache). Segredos no AWS Secrets Manager. LGPD: coleta apenas contato do operador; RIPD aprovado pela DPO. (Origem: HLD §8; LLD §5; baseline de segurança.)

7. Observabilidade

SLISLOAlerta
Latência de busca P95< 800msP95 > 800ms por 10 min
Disponibilidade API (6h-22h)≥ 99,5%Error budget 50% consumido
Pedido portal → ERP< 1 minoutbox_pendentes > 50 ou pedido > 5 min
Erro integração ERP< 0,5%Taxa > 0,5% em 15 min

Logs estruturados com trace_id; traces OpenTelemetry; dashboard único do serviço. (Origem: HLD §11; LLD §7.)

8. Estratégia de Dados

Catálogo replicado do ERP (carga noturna, staleness máx. 26h); pedidos como fonte de verdade local até confirmação no ERP (erp_numero). Classificação: Interno. Retenção: pedidos 5 anos (fiscal); logs 90 dias. Backup RDS com PITR (RPO 1h). Dados pessoais limitados a nome/e-mail do operador (minimização LGPD). (Origem: BRD definições; LLD §2.)

9. Riscos e Mitigações

Consolidação; registro completo em exemplo-registro-riscos-preenchido.md.

IDDescriçãoProb.ImpactoMitigaçãoResponsável
RISK-001ERP não suporta volume de consultasMédiaAltoCache (ADR-002), validado por spikePaula Andrade
RISK-002Baixa adoção pelos concessionáriosMédiaMédioPiloto com 20 concessionáriosMarina Couto
RISK-003Carga noturna falha, catálogo defasadoMédiaMédioAlerta staleness + fallbackTiago Mota
RISK-004VPN com ERP indisponívelBaixaAltoOutbox 24h + runbookDevOps

10. Cronograma e Marcos

MarcoData prevista
Go/No-Go15/07/2026
Sprint 1 (fundação + catálogo)31/07/2026
Piloto (20 concessionários)30/09/2026
Rollout geral (480)30/11/2026

11. Glossário

TermoDefinição
ConcessionárioRevenda autorizada que solicita peças de reposição
OutboxTabela de saída transacional que garante entrega do pedido ao ERP com retry
StalenessIdade do dado em cache desde a última atualização da origem

12. Histórico de Revisões

VersãoDataAutorMudanças
0.117/06/2026Paula AndradeEsqueleto criado junto com o HLD (documento vivo)
0.201/07/2026Paula AndradeSeções 3, 4, 7 e 8 atualizadas com o LLD
1.008/07/2026Paula AndradeConsolidação final para o Go/No-Go

Ver no GitHub