Pular para o conteúdo

Disponível para propostasGoiânia ou remoto

jnogxavier
Voltar aos casos

Infraestrutura que só existia no console

Infraestrutura como código

O que deveria acontecer

A infraestrutura está descrita em código, e qualquer ambiente pode ser reconstruído a partir do repositório.

O que acontecia

Rede, cluster e borda tinham sido criados à mão, pelo console. Funcionavam, e ninguém sabia reproduzi-los. As decisões que explicavam por que estavam daquele jeito viviam na memória de quem tinha clicado.

O que eu fiz

Terraform em módulos, com estado remoto e um workspace por ambiente. Um guard rail compara o workspace com o ambiente do arquivo de variáveis e faz o plan falhar antes de qualquer mudança, porque aplicar produção achando que é homologação é o erro que ninguém comete duas vezes. As decisões de arquitetura ficaram registradas como ADR, com o motivo e o que foi descartado.

O que isso destravou

  • A infraestrutura deixou de ser um objeto frágil. O pior caso passou a ser um apply, não uma arqueologia.
  • As decisões pararam de depender de memória. Os ADRs explicam por que cada parte é como é.
  • Ambiente virou workspace com estado próprio, então mexer em homologação deixou de ter qualquer caminho até produção.

O que eu faria diferente

Comecei pela nuvem onde estava o cluster, porque era onde estavam as partes móveis. Isso eu faria de novo. O que não terminou foi o resto: uma segunda nuvem ficou de fora e continua fora. E é aí que mora a lição. Infraestrutura como código só paga quando cobre tudo que importa. Enquanto metade do parque está versionada e a outra metade continua no console, o pior caso não foi eliminado, só mudou de endereço. Hoje eu dimensionaria o programa pelo tempo que de fato existia, em vez de tratar cobertura total como consequência natural de ter começado bem.