ATALAIA
  1. Início
  2. Serviços
  3. Revisão de Arquitetura
02Estação 02 · Design

Revisão de Arquitetura

Lemos o design antes do primeiro commit: onde os dados atravessam uma fronteira, que serviço confia em qual, e o que parte se um deles estiver errado.

Onde a confiança muda

Quatro zonas, as chamadas entre elas e as quatro junções que a revisão encontrou. Cada pino é uma decisão, não um finding.

INTERNETEDGECLUSTERDADOSmsg de créditoconfiança pela redestaging + prod/adminUtilizadoresParceirosexternoGatewayauthPainel de adminOfertasserviçoFilacréditosLedgerserviçoBD do ledgerChave de assinaturasegredo1234
  1. 1
    O ledger confia em qualquer chamador no cluster

    Alteração: identidade de serviço (mTLS) em cada chamada ao ledger.

  2. 2
    Qualquer pod pode publicar um crédito

    Alteração: mensagens assinadas, e só o serviço de ofertas pode publicar.

  3. 3
    Uma chave de assinatura para staging e prod

    Alteração: uma chave por ambiente, guardada no serviço de chaves.

  4. 4
    Caminho de admin acessível a partir da internet

    Aceite durante um sprint, depois atrás da VPN. Registo de decisão #12.

A revisão, em tempo real

Escolha um passo, ou deixe correr. Cada fala é o que alguém na sala diz de facto.

Passo 1Ler o design

Docs, diagramas e um walk-through com quem os construiu.

ARQUITETOIsto é o rewards: um gateway, o ledger, ofertas e uma fila entre eles.

ATALAIAQuem chama o ledger diretamente? Algo que não seja o gateway?

DEV LEADO serviço de ofertas. Está dentro do cluster, por isso deixamo-lo passar.

Sai da salaDocs lidos, 1 walk-through

Passo 2Marcar as fronteiras

Fronteiras de identidade, rede, dados e tenancy numa só imagem.

ATALAIAEntão o ledger confia em tudo o que está na rede. É uma fronteira que ninguém desenhou.

PLATFORMA fila também. Qualquer pod pode publicar uma mensagem 'pontos creditados'.

Sai da salaMapa: 4 fronteiras marcadas

Passo 3Testar as junções

O que um atacante, um mau deploy ou uma chave exposta faz em cada fronteira.

ATALAIASe um pod for comprometido, pode creditar-se pontos a si próprio?

PLATFORMHoje, sim. Pareceria uma mensagem normal.

ARQUITETOE uma só chave assina tokens em staging e em prod.

Sai da sala6 junções testadas, 2 de risco alto

Passo 4Acordar as alterações

Alterações priorizadas, com os trade-offs por escrito.

ATALAIAIdentidade de serviço no ledger, mensagens assinadas, uma chave por ambiente.

CTOChaves e identidade este trimestre. A reescrita da fila espera, e aceitamos isso em registo.

ARQUITETOEscrevo o registo de decisão hoje.

Sai da sala3 alterações, 1 risco aceite

  • ATALAIA
  • ARQUITETO
  • DEV LEAD
  • PLATAFORMA
  • CTO

O que corre mal

As descobertas mais caras são decisões de design: um segredo partilhado, um serviço que confia em qualquer chamador, um caminho de administração que ninguém vedou. São baratas num quadro branco e caras em produção.

SINAIS DE QUE ESTÁ AQUI

  • As chamadas entre serviços são autenticadas pela localização na rede
  • Um token ou chave abre vários ambientes
  • O diagrama na wiki está duas reescritas desatualizado

O que recebe

  • Um diagrama de arquitetura revisto, com fronteiras de confiança marcadas
  • Riscos de design ordenados por impacto e custo de mudança
  • Alternativas concretas, não apenas objeções
  • Um registo de decisão curto para cada risco aceite

Formato típico: uma a duas semanas por sistema, consoante a dimensão.

Vamos conversar

Uma chamada de 30 minutos. Sem slides, sem tabela de preços, e um próximo passo em qualquer caso.