Publicado a

Antes de corrigir, saber o que há

Todo o sistema herdado tem uma parte documentada e outra que só existe em produção. Como se faz um levantamento que descobre o que realmente corre antes de mudar alguma coisa.

Linha de serviço Arquitetura Cloud

O que diz o papel e o que diz a produção

Quem herda um sistema costuma receber alguma documentação: um diagrama, umas notas, talvez um documento de desenho com anos. O que quase nunca recebe é a parte que importa: as tarefas agendadas de que ninguém se lembra, as dependências entre sistemas que não aparecem em nenhum desenho, os acessos que foram dados «temporariamente» e continuam lá.

Mudar algo sem conhecer essa parte é a forma mais rápida de provocar um incidente.

A parte submersa

O documentado e o que correIcebergue ilustrativo: o documentado em cima, o que só existe em produção em baixo.ARQUITETURA · LEVANTAMENTOO que diz o papel e o que corre▲ documentado▼ só em produçãoDiagramaServiços principaisBase de dadosTarefas agendadas noturnas14Dependências implícitas23Credenciais sem responsável9Recursos órfãos31Configuração feita à mão17Documentado≈ 30 %Encontrado ao levantar: ≈ 70 %Dados ilustrativos, não correspondem a nenhum caso realN100F · n100f.com

O que costuma aparecer ao fazer um levantamento:

  • Tarefas agendadas que movem dados ou limpam tabelas todas as noites.
  • Dependências implícitas: um serviço que chama outro por um endereço escrito numa configuração.
  • Acessos e credenciais sem responsável nem prazo de validade.
  • Recursos órfãos que continuam a custar dinheiro.
  • Configurações feitas à mão que não estão em nenhum código.

Como se faz

  1. Inventário a partir da fonte real, não da documentação: as APIs do fornecedor, a configuração de rede, os registos de acesso e a faturação dizem o que existe.
  2. Mapa de dependências: quem fala com quem, observando o tráfego e a configuração, não perguntando.
  3. Comparação com o documentado: cada diferença fica anotada. É a lista mais valiosa do exercício.
  4. Lista de bloqueios, com dimensão: o que impede mudar ou migrar cada parte, e quanto esforço implica resolvê-lo.
  5. Documento vivo: o resultado fica como documentação como código, para que o levantamento não tenha de ser repetido.

O que não se deve fazer durante o levantamento

Corrigir coisas. É tentador, mas cada alteração durante o levantamento mexe no terreno que se está a medir. Primeiro percebe-se tudo; depois decide-se em que mexer, por que ordem e com que risco.


Como o aplicamos: Arquitetura Cloud.

Se o seu custo cloud cresce sem que ninguém saiba porquê, ou a sua arquitetura depende de quem a montou, falemos.

Falemos