Hoje eu precisei descobrir se um sistema era meu de verdade.
Não no sentido jurídico. A conta estava sob controle, o acesso existia e ninguém havia sequestrado o servidor num estacionamento escuro.
A pergunta era mais simples e muito mais incômoda:
se eu precisasse tirar aquela operação dali e reconstruí-la em outro lugar, o que eu realmente conseguiria levar?
Durante uma indisponibilidade de infraestrutura, um backup recente de alguns fluxos de automação permitiu entender como um serviço se comportava e planejar sua migração para uma arquitetura mais simples. A cópia não resolveu o incidente inteiro, nem saiu caminhando sozinha até o novo ambiente. Ela fez algo talvez mais importante: devolveu capacidade de decisão.
Eu podia preservar o que fazia sentido, descartar o excesso e escolher outro caminho com evidência suficiente para não depender apenas da memória de quem havia montado tudo.
Foi aí que o backup deixou de parecer apenas uma apólice contra desastre.
Virou uma prova de autonomia.
TL;DR
Ter acesso administrativo, pagar a fatura ou possuir parte do código não garante soberania operacional. Um sistema continua governável quando seus dados, fluxos, configurações, dependências, segredos e critérios de validação podem ser recuperados, compreendidos e reconstruídos em outro ambiente. Backup é matéria-prima dessa capacidade, mas uma cópia sem teste, formato utilizável, documentação e destino possível pode ser apenas um arquivo muito bem guardado. Isso não é um manifesto contra cloud ou serviços gerenciados. Eles podem reduzir custo, trabalho e risco. A questão é usar conveniência sem terceirizar também a possibilidade de sair, migrar ou simplificar.
Ter acesso não é a mesma coisa que conseguir levar
É fácil confundir acesso com propriedade operacional.
Eu entro no painel. Consigo alterar configurações. Vejo gráficos. Pago a fatura. Talvez até exista um botão chamado Exportar.
Ótimo.
Agora tente responder:
- o arquivo exportado pode ser restaurado sem a plataforma original?
- os fluxos continuam compreensíveis fora daquela interface?
- as configurações importantes estão registradas ou vivem em cliques acumulados durante anos?
- as dependências e versões estão identificadas?
- os segredos podem ser rotacionados e reprovisionados sem copiar credenciais em texto puro?
- existe uma forma verificável de saber se o sistema reconstruído faz a mesma coisa?
Se nenhuma dessas perguntas tem resposta, talvez eu tenha acesso ao sistema sem ter controle real sobre sua continuidade.
O botão Exportar que produz um arquivo proprietário sem documentação não é exatamente independência. É um pedido de socorro compactado.
O backup me devolveu uma decisão
Na situação que originou este texto, eu não precisava reproduzir cegamente toda a arquitetura anterior.
Na verdade, parte do trabalho consistia justamente em descobrir o que não precisava sobreviver.
O backup dos fluxos tornou possível identificar:
- que comportamento precisava ser preservado;
- quais integrações eram realmente necessárias;
- que partes haviam nascido por conveniência momentânea;
- onde existia complexidade sem benefício proporcional;
- qual seria a menor arquitetura capaz de manter o resultado.
Essa diferença importa.
Restaurar significa tentar devolver algo a um estado conhecido. Migrar significa transportar capacidades para outro contexto. Reconstruir pode significar preservar a intenção e mudar bastante a implementação.
Às vezes eu quero voltar exatamente para onde estava.
Às vezes, depois de abrir a caixa, percebo que voltar para lá seria apenas uma forma tecnicamente impecável de repetir o problema.
Por isso um backup recuperável não serve apenas para colocar o sistema antigo novamente de pé. Ele também permite investigar, comparar, simplificar e decidir se aquele desenho ainda merece existir.
Dados são apenas uma das camadas
Quando alguém diz “temos backup”, minha próxima pergunta é: backup de quê?
Um sistema real costuma depender de várias camadas:
| Camada | O que precisa sobreviver | O que costuma dar errado |
|---|---|---|
| Dados | Bancos, arquivos, eventos e estados persistentes | A cópia existe, mas está incompleta, corrompida ou presa ao formato de origem |
| Comportamento | Fluxos, regras, código, automações e políticas | O dado volta, mas ninguém consegue reproduzir o que o sistema fazia com ele |
| Configuração | Variáveis, topologia, versões e parâmetros | A operação dependia de cliques manuais que nunca foram registrados |
| Dependências | Serviços, imagens, bibliotecas, interfaces que permitem a comunicação entre sistemas (APIs) e contratos externos | A restauração chama uma versão que não existe mais ou uma integração que mudou |
| Segredos e identidade | Forma de recriar acessos, chaves e contas técnicas | O segredo foi copiado de forma insegura ou não existe procedimento de rotação |
| Critérios de verificação | Testes, sinais de saúde, amostras e resultados esperados | O sistema sobe, mas ninguém sabe provar que voltou corretamente |
| Conhecimento operacional | Ordem de recuperação, limites, responsáveis e reversão ao estado anterior (rollback) | Tudo funciona enquanto a pessoa que montou está disponível e lembra dos detalhes |
Salvar apenas o banco pode proteger o conteúdo e ainda deixar a operação irrecuperável.
Salvar apenas o código pode produzir uma aplicação perfeitamente vazia.
Salvar a configuração com os segredos expostos pode transformar continuidade em incidente de segurança.
Backup não é uma pasta. É uma capacidade atravessando camadas diferentes.
Uma cópia não prova recuperação
O NIST Cybersecurity Framework 2.0 inclui, em PR.DS-11, o resultado de que backups de dados sejam criados, protegidos, mantidos e testados. Nos exemplos de implementação, o NIST menciona testar backups e restaurações para diferentes fontes de dados e manter parte das cópias separada do ambiente principal.
A orientação da CISA sobre ransomware segue uma linha parecida: manter backups críticos offline e cifrados, testar disponibilidade e integridade e preservar também elementos usados para reconstrução, como imagens-base, código e arquivos de infraestrutura declarada.
Essas fontes sustentam uma parte objetiva do argumento: produzir a cópia não encerra o trabalho.
Elas não provam que toda empresa deva trocar de fornecedor, usar a mesma arquitetura ou hospedar tudo por conta própria. Tampouco provam que um teste anual seja suficiente para qualquer operação. Frequência, separação e profundidade precisam acompanhar impacto, taxa de mudança e tempo aceitável de recuperação.
O teste útil não termina em “o arquivo abriu”.
Ele pergunta se conseguimos, num ambiente limpo:
- localizar a cópia correta;
- validar sua integridade;
- restaurar dados e comportamento;
- reprovisionar acessos sem expor segredos;
- conectar dependências conhecidas;
- verificar o resultado esperado;
- registrar quanto tempo e quanta intervenção foram necessários.
É um ensaio de autonomia, não uma cerimônia para deixar a planilha verde.
Portabilidade começa antes da migração
Em 2012, a publicação NIST SP 800-146 já tratava portabilidade de cargas como a capacidade prática de mover dados ou uma carga completa de volta para a própria infraestrutura ou para outro provedor. O documento relaciona essa capacidade a interfaces e formatos padronizados e reconhece que recursos específicos do fornecedor criam obstáculos.
O texto é antigo para a velocidade da computação em nuvem. Não descreve cada serviço moderno nem prova que a portabilidade melhorou ou piorou de forma uniforme desde então.
Mas a distinção continua útil:
portabilidade não nasce no dia em que decidimos migrar. Ela nasce nas escolhas feitas enquanto o sistema ainda está confortável onde está.
Se os dados usam formatos compreensíveis, o comportamento está expresso em código ou fluxos exportáveis, a configuração é declarada e versionada, as integrações possuem contratos conhecidos e os testes descrevem o resultado esperado, mudar continua trabalhoso — mas deixa de ser arqueologia.
Os princípios do OpenGitOps ajudam a nomear uma parte desse desenho: estado desejado declarado, versionado e preservado com histórico. Não estou dizendo que toda operação precisa adotar GitOps, Kubernetes — uma plataforma que automatiza a implantação e a operação de aplicações — ou qualquer ferramenta específica. O princípio relevante é mais simples: o estado que importa não pode existir somente dentro do ambiente que talvez eu precise substituir.
Foi a mesma lição que apareceu quando escrevi que a IA esqueceu justamente o que eu já tinha decidido. Uma conversa pode ajudar a operar, mas decisões materiais precisam mudar de estado e viver em contratos duráveis.
Infraestrutura também esquece — no sentido figurado — tudo o que nunca saiu da cabeça de quem a configurou.
Soberania não é hospedar tudo embaixo da mesa
Existe uma leitura caricata de soberania tecnológica em que eu deveria abandonar qualquer serviço gerenciado, comprar uma sala refrigerada e passar o domingo atualizando firmware — o software básico embutido nos equipamentos — porque liberdade exige sofrimento artesanal.
Não é isso.
Serviços gerenciados podem oferecer disponibilidade, distribuição global, segurança especializada, atualização automática e uma economia operacional impossível de reproduzir com responsabilidade em toda empresa.
Às vezes, usar um serviço externo é justamente a decisão que reduz risco.
Eu não quero operar cada peça. Quero governar as dependências que escolhi não operar.
Para mim, soberania operacional significa manter capacidade proporcional de:
- acessar e exportar o que é meu;
- compreender o formato e o significado do que foi exportado;
- reconstruir as partes críticas em outro ambiente;
- trocar uma dependência sem reescrever toda a empresa;
- preservar segurança durante a transição;
- verificar que o novo estado continua correto;
- aceitar conscientemente os pontos em que uma migração teria custo alto.
Nem todo acoplamento é erro. Alguns compram capacidades valiosas.
O problema é descobrir o preço da saída apenas quando a porta já está pegando fogo.
A arquitetura precisa incluir uma saída
Quando avalio um sistema novo, eu não quero perguntar apenas o que ele consegue fazer na demonstração.
Quero saber:
- quais dados entram e como saem;
- que formatos são documentados e utilizáveis;
- o que depende exclusivamente do fornecedor;
- como fluxos e configurações são versionados;
- quem custodia e rotaciona segredos;
- que partes podem ser reproduzidas automaticamente;
- como se detecta desvio entre configuração prevista e ambiente real;
- que testes provam comportamento, não apenas disponibilidade;
- qual é o plano se o serviço mudar, encerrar ou deixar de fazer sentido;
- quanto de conhecimento está concentrado numa pessoa, num painel ou numa conversa.
Esse cuidado se conecta ao que já escrevi sobre agentes genéricos como um péssimo primeiro contato com IA. Uma base reutilizável é valiosa. Uma caixa fechada que reutiliza conclusões, esconde dependências e impede a empresa de compreender a própria operação é outra coisa.
Também não adianta transformar portabilidade em religião arquitetural. Como no artigo sobre começar pelo gargalo, e não pela vontade de colocar IA, a resposta precisa ser proporcional ao problema.
Um site estático, uma folha de pagamento e um sistema clínico não pedem o mesmo plano de saída.
Governança não é aplicar o controle máximo em tudo. É saber qual falha importa e quanto de liberdade precisamos preservar antes de escolher a conveniência.
Um teste simples de autonomia
Se eu quisesse avaliar a situação sem começar por uma migração completa, faria um exercício delimitado:
- escolheria uma capacidade importante, mas não destrutiva;
- exportaria dados, fluxo e configuração relacionados;
- documentaria dependências e resultados esperados;
- prepararia credenciais novas, sem reutilizar segredos de produção;
- reconstruiria a capacidade num ambiente isolado;
- compararia comportamento, dados e tempo de recuperação;
- registraria tudo o que ainda dependeu de memória, clique manual ou acesso excepcional.
O objetivo não é provar que consigo abandonar o fornecedor amanhã.
É descobrir, enquanto ainda existe tempo, o que me impediria de escolher.
O sistema é meu quando a direção continua minha
Eu não quero eliminar dependências. Quero torná-las visíveis, deliberadas e substituíveis na medida certa.
Também não quero reconstruir toda tecnologia existente para poder dizer que tenho controle. Isso seria usar uma bazuca para matar uma mosca e depois contratar alguém para manter a bazuca.
Quero que uma indisponibilidade, uma mudança de preço, uma evolução do negócio ou uma arquitetura melhor não me obrigue a começar do zero.
O backup recente que encontrei não era soberania inteira.
Era uma peça dela.
Ele preservou comportamento suficiente para que eu pudesse compreender o serviço, testar outra direção e decidir o que merecia continuar. O valor não estava apenas em recuperar o passado. Estava em não ficar preso a ele.
Na i-9.ai, esse é um dos critérios que levo para a arquitetura: além de funcionar agora, a operação precisa manter dados, contexto, segurança e capacidade de mudança sob governo da empresa.
Se você não sabe o que conseguiria recuperar, reconstruir ou levar embora dos sistemas que sustentam sua operação, entre em contato. A conversa pode começar por uma capacidade crítica e por uma pergunta concreta: o que precisaria sobreviver se o ambiente atual deixasse de ser a melhor escolha?
Para se aprofundar
- A IA esqueceu justamente o que eu já tinha decidido — por que conversa, resumo e memória não substituem uma fonte de verdade durável.
- Agentes genéricos podem ser seu pior primeiro contato com IA — como reutilizar engenharia sem esconder contexto, dependências e responsabilidade.
- Sua empresa não precisa descobrir onde colocar IA — um mapa para escolher processo, automação, assistência, agente ou decisão humana a partir do problema real.
- API, rollback, Kubernetes e firmware — referências para os termos técnicos usados no texto.
Referências e limites de uso
- NIST Cybersecurity Framework 2.0 e seus exemplos de implementação: sustentam que backups precisam ser criados, protegidos, mantidos e testados. Não definem uma frequência universal nem provam a tese completa sobre soberania operacional.
- CISA — StopRansomware Guide: sustenta a recomendação de manter cópias críticas separadas, testar recuperação e preservar artefatos úteis para reconstrução. O contexto principal é resiliência a ransomware, não uma comparação geral entre arquiteturas ou provedores.
- NIST SP 800-146 — Cloud Computing Synopsis and Recommendations: fornece as definições e limitações usadas na discussão sobre portabilidade de cargas, interfaces e formatos. Foi publicado em 2012 e não descreve todo o mercado atual de nuvem.
- OpenGitOps — princípios v1.0.0: sustenta a explicação sobre estado desejado declarado, versionado e preservado com histórico. Não implica que GitOps seja obrigatório ou suficiente para portabilidade, recuperação ou soberania.

Conversa aberta
Continue a conversa
Discordou, encontrou uma lacuna ou tem uma experiência que amplia o assunto? Comente usando sua conta do GitHub. Não publique dados pessoais, credenciais ou informações sensíveis.