← Voltar às Notas
/ Complexidade, Sistemas, Segurança

Complexidade é Dívida Oculta

Por que a complexidade é inimiga da segurança.

A complexidade é a dívida oculta em todo sistema. Não é meramente um fardo de manutenção. É, fundamentalmente, um risco de segurança. Frequentemente mascarada pelo pretexto de se manter "atualizado."

No meu trabalho ao longo dos últimos anos em setores regulados e de alto valor, observei um padrão consistente: uma violação crítica raramente é resultado de um exploit sofisticado de zero-day contra um kernel protegido. Com muito mais frequência, é resultado de um mal-entendido, ou o subproduto de pressão para entregar algo que nunca foi verdadeiramente necessário.

A Lacuna Entre Modelos

Percebi que todo sistema opera sob pelo menos dois modelos distintos:

  1. O Modelo Projetado: O que arquitetos e desenvolvedores acreditam ter construído.
  2. O Modelo Real: O que efetivamente está rodando em produção e sendo usado diariamente.

A complexidade amplia a lacuna entre esses dois. Quando essa divergência se torna grande demais, a realidade eventualmente nos surpreende. Em segurança e sistemas críticos, surpresa é falha.

Subtração como Estratégia

As decisões arquiteturais mais eficazes são frequentemente decisões de não fazer algo.

  • Não adicionar uma funcionalidade específica.
  • Não aceitar uma prioridade arbitrária.
  • Não adotar uma ferramenta baseada em hype.
  • Não acoplar serviços sem uma necessidade clara.

Tendemos a valorizar o que construímos. Deveríamos, em vez disso, valorizar o que evitamos construir. Essa contenção é o que nos permite fortalecer o núcleo e realmente confiar nos resultados dos nossos sistemas.

Decisões sérias exigem um ambiente calmo. Quando pressionados por respostas imediatas, a senioridade se revela não pela velocidade, mas pela capacidade de manter o julgamento e avaliar dependências antes de agir.

"A civilização avança ao estender o número de operações importantes que podemos realizar sem pensar nelas." — Alfred North Whitehead

Em sistemas críticos, buscamos o oposto. Queremos reduzir o número de operações que ocorrem sem que as compreendamos profundamente.