Skip to main content

Nível 03 — Design de Sistemas

Aqui o objeto de estudo deixa de ser o código e passa a ser o sistema em execução: processos, dados que persistem, chamadas que atravessam a rede, recursos que se esgotam.

O problema desta seção

Um profissional que domina design de software sabe estruturar um módulo. Diante de "projete o sistema", frequentemente não sabe por onde começar — porque o espaço de decisão mudou de natureza. Não se trata mais de onde colocar uma classe, e sim de quantos processos existem, o que cada um guarda, o que acontece quando um deles cai e quanto tudo isso custa por mês.

Esta seção estabelece o caminho que leva de um enunciado a uma arquitetura defensável:

requisitos

restrições

arquitetura de alto nível

componentes

interfaces

dados

implantação

O caminho é sempre esse. O que muda entre um sistema e outro é o que as restrições permitem em cada etapa.

O que você vai encontrar aqui

Decomposição. Componentes, serviços e fronteiras de serviço. Como decidir o que é um serviço e o que é um módulo dentro de um serviço — e por que essa decisão é mais organizacional do que técnica.

Interfaces. APIs, sistemas de request/response, paginação e configuração. O contrato é a parte mais difícil de mudar depois; é onde vale gastar tempo.

Estado. Gestão de estado e a distinção entre sistemas com e sem estado. Esta é a decisão que mais determina quão fácil será escalar depois.

Mecanismos. Balanceamento de carga, cache, CDNs, filas, processamento em background, rate limiting, busca e armazenamento de arquivos. As peças de que sistemas são feitos, cada uma com o problema que resolve e o que ela quebra.

Acesso. Autenticação e autorização no nível de sistema — onde as decisões são tomadas e por quem.

Dimensionamento. Planejamento de capacidade, análise de gargalos e as estratégias básicas de escalabilidade. Como estimar antes de construir.

Ordem de leitura

Leia decomposição, estado e fronteiras de serviço primeiro, nessa ordem. São as três decisões estruturais; tudo o mais é consequência.

Os mecanismos — cache, filas, balanceamento de carga — podem ser lidos por consulta. Mas leia planejamento de capacidade e análise de gargalos antes deles, não depois. Sem uma estimativa, a escolha de mecanismo vira preferência.

Ao terminar

Você consegue receber um enunciado de sistema e produzir, em uma hora, uma arquitetura de alto nível com componentes nomeados, contratos esboçados, modelo de dados inicial e uma estimativa de capacidade — junto com a lista do que você ainda não sabe e precisaria perguntar.

Consegue apontar onde está o gargalo antes de o sistema existir. E consegue explicar por que introduziu cada peça, sem que a resposta seja "porque todo mundo usa".

Um aviso sobre o próximo nível

Boa parte do que se projeta aqui assume que chamadas funcionam, que a rede entrega e que componentes ou estão de pé ou estão caídos.

Nada disso é verdade. O Nível 04 desfaz essas suposições, e é a seção mais profunda do percurso por esse motivo.