HLD, ou High-Level Design, é uma visão de alto nível da solução. Ele cria entendimento suficiente para validar direção, responsabilidades, integrações e riscos antes que a equipe invista no detalhamento.
O que é — e o que não é — um HLD
O HLD descreve os principais blocos da solução, como eles se relacionam e quais decisões sustentam o desenho. Ele conecta requisitos de negócio, atributos de qualidade e estrutura técnica.
Não é um inventário de todos os serviços, classes, tabelas e configurações. Também não é apenas uma figura bonita. Um HLD útil permite que as pessoas façam perguntas, identifiquem lacunas e entendam os compromissos assumidos.
O que representar
1. Contexto e fronteira
Quem usa a solução? Quais sistemas externos participam? O que está dentro e fora do escopo? Essa visão evita que cada pessoa imagine uma fronteira diferente.
2. Blocos principais e responsabilidades
Mostre aplicações, serviços, fontes de dados e plataformas relevantes. Dê nomes baseados em responsabilidade, como “Gestão de Pedidos”, e não apenas nomes genéricos como “API 1”.
3. Integrações e fluxos críticos
Indique direção, tipo de comunicação e informação principal. Diferencie chamadas síncronas, eventos e transferências em lote quando isso muda o comportamento da solução.
4. Dados e propriedade
Deixe claro onde estão os dados importantes e quem é responsável por eles. Não é necessário desenhar todas as tabelas, mas duplicações, dados sensíveis e fontes oficiais precisam aparecer.
5. Atributos de qualidade
Disponibilidade, segurança, desempenho, escalabilidade, auditabilidade e custo influenciam o desenho. Registre metas e explique como os elementos principais as atendem.
6. Operação e falhas
Mostre as zonas de implantação quando forem relevantes, além de observabilidade, recuperação e comportamento em falhas críticas. Uma solução que só funciona no caminho feliz ainda não está alinhada.
Um desenho, várias perguntas
Não tente colocar tudo em um único diagrama. Organize o HLD como um pequeno conjunto de visões:
- Visão de contexto: ajuda negócio, produto e tecnologia a concordar com fronteiras e atores.
- Visão de componentes ou contêineres: mostra responsabilidades e relações entre os grandes blocos.
- Visão de fluxo: explica uma jornada crítica, como criar pedido ou recuperar acesso.
- Visão de implantação: evidencia ambientes, redes, regiões e mecanismos de resiliência quando necessário.
Cada visão deve ter título, propósito, legenda e uma breve explicação. Cores e formas precisam ter significado consistente.
Exemplo: portal de atendimento
Uma empresa quer permitir que clientes acompanhem solicitações sem ligar para a central. O HLD pode apresentar:
- cliente e atendente como atores;
- portal web, serviço de identidade e serviço de solicitações;
- sistema legado como fonte oficial do andamento;
- fila para desacoplar atualizações do legado;
- repositório de leitura otimizado para consultas;
- monitoramento da defasagem entre atualização e exibição.
O desenho deve explicar por que existe uma fila, qual atraso é aceitável, como o cliente é autenticado e o que ocorre se o legado ficar indisponível. Endereços de rede e nomes de classes podem esperar.
Checklist para a revisão
□ O objetivo de negócio e o escopo estão claros?
□ A fronteira e os sistemas externos estão visíveis?
□ Cada bloco tem uma responsabilidade compreensível?
□ Fluxos críticos e dados importantes aparecem?
□ Segurança, disponibilidade, desempenho e operação foram discutidos?
□ Riscos, hipóteses e decisões pendentes estão explícitos?
□ As decisões relevantes serão registradas em ADRs?
O HLD está pronto para avançar quando as pessoas certas entendem a direção, os riscos principais têm tratamento e o detalhamento pode ser distribuído sem que cada equipe invente uma arquitetura diferente.
Para aprofundar
Veja a orientação da Microsoft para uma especificação de arquitetura e o modelo C4, que organiza diagramas por níveis de abstração.
