☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

Mostrar mensagens com a etiqueta mainframe. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta mainframe. Mostrar todas as mensagens

terça-feira, 3 de novembro de 2026

O ASSALTO DE US$ 6,3 BILHÕES: AKANE TSUNEMORI CONTRA O CRIME PERFEITO NA BINANCE!

 

Bellacosa Mainframe e um dos maiores ataques cibernéticos de sempre bilhões em criptomoedas roubadas

☕ UM CAFÉ NO BELLACOSA MAINFRAME

O ASSALTO DE US$ 6,3 BILHÕES: AKANE TSUNEMORI CONTRA O CRIME PERFEITO NA BINANCE!

O dia em que uma entrevista de emprego falsa, uma inteligência artificial comprometida e algumas permissões digitais colocaram bilhões de dólares nas mãos dos criminosos.

Bellacosa Mainframe — Arqueologia da Computação, COBOL, Segurança Cibernética e os Fantasmas dos Sistemas Financeiros



🎬 Prólogo — O dia em que o Sistema Sibyl deixou escapar US$ 6,3 bilhões

29 de outubro de 2026.

Imagine uma sala de operações iluminada por dezenas de monitores. Gráficos financeiros atravessam as telas, algoritmos analisam movimentos suspeitos e sistemas automatizados processam transações em velocidades impossíveis para qualquer ser humano.

Tudo parece funcionar.

Até que um alarme aparece.

Uma carteira digital acaba de movimentar uma quantidade gigantesca de criptomoedas para um endereço desconhecido.

Outro alarme.

Mais uma transferência.

E outra.

Em apenas quatro minutos, 233,46 milhões de XRP saem de cinco carteiras conectadas à internet.

A equipe de segurança começa a investigar. Entretanto, as transferências não autorizadas continuam.

Em algum lugar da ficção científica japonesa, a inspetora Akane Tsunemori, protagonista de Psycho-Pass, observaria os acontecimentos com uma pergunta desconfortável:

— Se o sistema era tão inteligente, por que não conseguiu impedir o crime?

Na nossa dramatização, Akane não está diante de um criminoso empunhando uma arma. Tampouco de um assaltante mascarado atravessando a porta de um banco.

Seu adversário é invisível.

Ele usa credenciais legítimas, computadores comprometidos, ferramentas de desenvolvimento e mecanismos criptográficos de autorização.

E o mais perturbador: parte da preparação começou meses antes.

O resultado seria um episódio envolvendo aproximadamente US$ 6,34 bilhões em ativos digitais, segundo o relatório preliminar da Binance.

É um valor que coloca o incidente entre os maiores roubos financeiros já documentados.

Mas seria correto chamá-lo de maior roubo a banco da história?

Em sentido estrito, a Binance não é um banco tradicional. É uma plataforma de negociação e custódia de criptoativos. Também precisamos distinguir o valor total de ativos afetados, a perda efetivamente irrecuperável e os recursos posteriormente congelados.

Apesar dessas ressalvas, o episódio representa uma ruptura histórica na escala dos assaltos digitais.

E Akane tem uma nova investigação.

Seu primeiro suspeito não é uma pessoa. É a confiança excessiva depositada na tecnologia.



Capítulo I — Quem é Akane Tsunemori e por que ela deveria investigar esse crime?

Para compreender nossa investigação, precisamos visitar o Japão distópico de Psycho-Pass.

Na história, a sociedade é supervisionada pelo Sistema Sibyl, uma infraestrutura tecnológica capaz de avaliar o estado psicológico dos cidadãos e estimar seu potencial de criminalidade.

O chamado coeficiente de criminalidade influencia a forma como as autoridades tratam cada indivíduo.

A promessa parece irresistível: detectar o perigo antes que ele se transforme em crime.

A inspetora Akane Tsunemori começa sua carreira acreditando na importância da ordem pública, mas gradualmente descobre que nenhum sistema automatizado está acima do questionamento humano.

Sua grande virtude não é obedecer cegamente às máquinas.

É reconhecer que o julgamento ético, a responsabilidade e a investigação continuam necessários, mesmo quando a tecnologia parece infalível.

Essa característica torna Akane uma excelente tutora para nossa análise.

Imagine o Sistema Sibyl conectado à infraestrutura financeira de uma grande corretora.

Ele analisa milhões de operações, identifica comportamentos suspeitos e calcula pontuações de risco.

Entretanto, os criminosos não precisam necessariamente derrotar o algoritmo.

Podem conseguir que alguém execute um programa contaminado.

Podem roubar uma credencial.

Podem comprometer uma ferramenta aparentemente confiável.

Podem explorar uma autorização que o sistema já considera válida.

Eis o paradoxo central desta investigação:

Um sistema pode executar perfeitamente uma instrução que jamais deveria ter sido autorizada.

A inteligência do sistema não elimina a necessidade de controles independentes.

Esta também é uma das grandes lições de Psycho-Pass: segurança e justiça não são sinônimos de confiança absoluta em mecanismos automatizados.



Capítulo II — Junho de 2026: a primeira armadilha estava escondida numa ferramenta de IA

Nossa cronologia começa em junho de 2026.

Um profissional da equipe Wallet DevOps da Binance procurava instalar uma ferramenta de programação assistida por inteligência artificial.

Nada aparentemente extraordinário.

Programadores utilizam ferramentas de IA para entender códigos, localizar erros, escrever testes e acelerar tarefas repetitivas.

Entretanto, segundo o relatório divulgado pela Binance, o engenheiro encontrou uma instalação adulterada associada ao Homebrew, conhecido gerenciador de pacotes usado em ambientes macOS.

A instalação comprometeu o computador.

A equipe de segurança percebeu a atividade anormal, substituiu o dispositivo e realizou a rotação das credenciais relacionadas.

Até aqui, poderíamos imaginar que o problema estava resolvido.

Mas existe uma diferença entre eliminar um programa malicioso e eliminar todas as consequências de sua execução.

Durante o comprometimento, os invasores obtiveram informações sobre a função do profissional e sobre colegas associados à infraestrutura de carteiras.

Essas informações eram valiosas.

Não necessariamente porque continham a chave de um cofre digital, mas porque ajudavam a identificar quem trabalhava perto desse cofre.

🔎 Curiosidade: o ataque começa muito antes do roubo

Nos filmes, o assaltante estuda os horários dos guardas, observa os veículos blindados e identifica a localização das câmeras.

No crime cibernético, o equivalente pode envolver nomes de equipes, ferramentas utilizadas, relações profissionais e privilégios técnicos.

Conhecer o organograma de uma organização pode facilitar a seleção de novos alvos.

A esse estágio chamamos, genericamente, de reconhecimento.

Não é correto afirmar que todo o planejamento posterior já estivesse definido em junho. O que sabemos é que essa etapa forneceu aos atacantes uma oportunidade de coleta de informações.

Akane examinaria o caso e faria uma observação simples:

— Um computador pode ser substituído. Mas o conhecimento obtido pelo adversário não desaparece automaticamente.

A lição para o programador COBOL

Imagine que você trabalha em uma instituição financeira, desenvolvendo programas COBOL com VS Code e extensões relacionadas ao IBM Z.

Você encontra uma ferramenta prometendo:

  • Compilar programas automaticamente.

  • Interpretar mensagens de erro do COBOL.

  • Gerar JCL com inteligência artificial.

  • Analisar programas antigos.

  • Acelerar a conexão com ambientes z/OS.

Parece excelente.

Entretanto, antes de instalar, você precisa verificar a procedência do software, o editor responsável, as permissões solicitadas e sua aprovação no ambiente corporativo.

Um plugin comprometido pode colocar em risco não apenas seu computador, mas também tokens de acesso, repositórios e sessões autenticadas.

A regra é simples:

Uma ferramenta útil não se torna confiável apenas porque aparece nos primeiros resultados de uma pesquisa.



Capítulo III — Setembro: a entrevista de emprego que nunca existiu

Chegamos à parte mais cinematográfica da história.

Em setembro de 2026, outro engenheiro recebeu contato de alguém que se apresentava como diretor de projetos de uma empresa.

A abordagem ocorreu por uma plataforma legítima de busca de emprego.

O profissional participou de uma entrevista com uma suposta representante de recursos humanos.

Depois veio uma segunda conversa, agora com alguém que dizia ser o presidente-executivo da empresa.

A organização era fictícia.

Mas o processo seletivo havia sido construído para parecer real.

Ao final, o candidato recebeu um desafio técnico.

Precisaria baixar um repositório de código e realizar uma atividade de programação.

Quem já participou de processos seletivos em tecnologia conhece esse procedimento.

É comum que empresas solicitem exercícios de lógica, correção de programas ou desenvolvimento de pequenas aplicações.

O problema é que aquele repositório continha código malicioso.

Durante sua preparação, o projeto executava componentes capazes de comprometer o computador.

O relatório preliminar da Binance descreve técnicas de ofuscação, evasão de ferramentas de segurança e substituição de um componente legítimo de desenvolvimento por uma versão maliciosa.

A genialidade perversa da engenharia social

Os criminosos não começaram pedindo senhas.

Eles construíram credibilidade.

Primeiro, uma abordagem profissional.

Depois, uma entrevista.

Em seguida, uma figura de autoridade.

Finalmente, uma atividade aparentemente comum.

O ataque explorou uma característica humana: tendemos a confiar mais em solicitações que aparecem dentro de um processo coerente.

Em Psycho-Pass, um dos temas recorrentes é a diferença entre aparência, intenção e comportamento.

No mundo real, a mesma diferença existe entre uma mensagem profissional e uma ação autorizada.

Uma conversa educada não prova que uma empresa existe.

Uma chamada de vídeo não garante a identidade do interlocutor.

Um repositório bem documentado não garante que seu código seja seguro.

Easter egg — O teste técnico de Akane

Imagine Akane recebendo um desafio:

Desenvolva um programa COBOL capaz de processar pagamentos de clientes. Para começar, execute o instalador disponibilizado pelo nosso recrutador.

Ela provavelmente faria uma pergunta antes de tocar no teclado:

— Por que um teste de lógica de programação precisa executar componentes desconhecidos no meu computador corporativo?

Essa pergunta, aparentemente trivial, poderia interromper toda a cadeia de comprometimento.

Desconfiança técnica bem fundamentada não é paranoia. É disciplina profissional.


Capítulo IV — 20 de outubro: quando a ferramenta de IA se tornou parte do caminho de ataque

No dia 20 de outubro, os invasores avançaram.

Segundo a Binance, utilizaram o computador comprometido durante o falso processo seletivo e uma ferramenta interna de IA para alcançar ambientes associados a outros dois engenheiros da equipe de carteiras.

Entre as descobertas estava um token com permissões de implantação de contêineres.

Para um iniciante, isso talvez pareça apenas um detalhe.

Mas vamos traduzir.

Um contêiner é uma forma de empacotar e executar aplicações com seus componentes e dependências em um ambiente controlado.

Ferramentas de implantação permitem colocar esses componentes em funcionamento.

Se um invasor consegue abusar de credenciais de implantação, pode tentar introduzir código não autorizado em ambientes que confiam nessa infraestrutura.

Isso transforma um problema de estação de trabalho em um problema de cadeia de desenvolvimento.

O que a inteligência artificial fez?

É importante evitar uma conclusão sensacionalista.

O relatório não demonstra que uma IA desenvolveu consciência, escolheu assaltar uma corretora ou decidiu roubar bilhões.

O que foi descrito é o comprometimento e abuso de uma ferramenta interna de IA como parte do caminho utilizado pelos invasores.

A diferença é enorme.

Um assistente inteligente pode integrar diferentes recursos técnicos. Dependendo de suas permissões, ele pode consultar repositórios, acessar arquivos, interagir com ferramentas e executar operações autorizadas.

Se seu ambiente for comprometido, algumas dessas integrações podem ampliar os efeitos do ataque.

Quanto maior a capacidade de uma ferramenta automatizada, maior a importância de limitar seus privilégios.

O paralelo com o IBM Mainframe

Imagine uma ferramenta de IA conectada a um ambiente corporativo de desenvolvimento IBM Z.

Ela consegue consultar programas COBOL, sugerir alterações e preparar execuções de testes.

Até aqui, tudo bem.

Mas seria realmente necessário que a mesma ferramenta também pudesse alterar programas de produção, submeter jobs críticos e acessar credenciais administrativas?

Provavelmente não.

Um desenho de segurança adequado deve separar:

Ambiente de desenvolvimento, onde experimentamos.

Ambiente de homologação, onde validamos.

Ambiente de produção, onde operações reais acontecem.

Além disso, a identidade utilizada para uma função não deveria receber automaticamente acesso às demais.

Akane chamaria isso de um princípio de responsabilidade.

Nós, profissionais de segurança, chamamos de menor privilégio e segregação de funções.


Capítulo V — 29 de outubro: o cofre começa a esvaziar

Finalmente chegamos ao dia do grande assalto.

Segundo a cronologia divulgada pela Binance, entre 17h15 e 19h56 UTC, o atacante acessou o computador de um dos engenheiros comprometidos e utilizou credenciais obtidas de outro profissional.

A partir desse ambiente, implantou um contêiner e acionou um script malicioso.

Pouco depois, o dinheiro começou a sair.

Entre 20h05 e 20h09 UTC, cinco carteiras conectadas à internet transferiram 233,46 milhões de XRP para um endereço controlado pelo invasor.

Outras operações envolveram aproximadamente 970.500 SOL, 44,2 milhões de OP e 18.270 BTC, além de ativos em Ethereum.

A Binance identificou movimentações anormais e iniciou medidas de contenção.

Entretanto, desligar o serviço normal de saques não resolveu tudo.

A razão é tecnicamente fascinante.

O que é uma hot wallet?

Uma hot wallet é uma carteira de criptoativos conectada a uma infraestrutura que permite operações online.

Ela facilita transferências frequentes.

Por outro lado, precisa ser protegida contra comprometimento de seus mecanismos de autorização.

Já uma cold wallet mantém seus mecanismos sensíveis de assinatura mais isolados de sistemas conectados.

Nenhuma dessas categorias, isoladamente, substitui governança, controle de acesso e procedimentos de resposta a incidentes.

O papel do EIP-7702

Uma das partes mais complexas do ataque envolveu o mecanismo EIP-7702 do Ethereum.

Simplificando bastante, ele permite que determinadas contas deleguem capacidades de execução a código de contratos inteligentes.

A funcionalidade tem usos legítimos.

Entretanto, autorizações maliciosas também podem criar riscos caso um atacante consiga estabelecê-las.

Segundo a Binance, os invasores utilizaram o serviço de assinatura comprometido para criar delegações que permitiram continuar movimentando ativos independentemente da infraestrutura normal de saques.

Isso explica por que suspender saques não interrompeu imediatamente todas as operações.

As autorizações problemáticas já existiam na blockchain.

Era necessário revogá-las na própria rede.

O processo envolvia dificuldades adicionais por causa da arquitetura MPC, na qual operações criptográficas são realizadas por mecanismos multiparticipantes.

Não havia simplesmente uma chave privada única que pudesse ser utilizada imediatamente para resolver a situação.

A última transferência não autorizada foi finalizada às 23h56 UTC.

Às 00h10 UTC de 30 de outubro, a Binance executou uma autorização destinada a limpar a delegação maliciosa da carteira envolvida.

O paradoxo do cofre eletrônico

Imagine que você controla um banco com portas eletrônicas extremamente sofisticadas.

Ao descobrir um invasor, manda desligar o sistema principal.

Mas existe uma autorização previamente concedida a outro mecanismo de abertura, que continua válida mesmo depois do desligamento.

Seu problema não é mais apenas interromper o aplicativo.

É cancelar a autorização independente.

Essa é a lição fundamental:

Desligar um sistema não significa revogar todos os poderes que ele concedeu anteriormente.


Capítulo VI — O maior roubo a banco da história?

A dimensão financeira exige alguns cuidados.

A Binance informou que aproximadamente US$ 6,34 bilhões em ativos digitais foram afetados.

Desse montante, cerca de US$ 2,85 bilhões haviam sido congelados ou interceptados até a atualização de 3 de novembro.

A empresa também afirmou que, até 31 de outubro, havia reposto 98% dos ativos afetados e reservado recursos suficientes para cobrir as perdas.

Essas informações não significam que todo o dinheiro roubado tenha sido recuperado.

Congelar ativos, interceptar movimentações e compensar clientes com recursos próprios são procedimentos diferentes.

Também é necessário considerar que as avaliações de criptoativos variam com o mercado.

Mesmo assim, a escala do caso é extraordinária.

Curiosidade histórica: quando os assaltantes precisavam de caminhões

Em 2003, o Banco Central do Iraque tornou-se protagonista de um episódio envolvendo a retirada de aproximadamente US$ 1 bilhão.

O transporte de enormes quantidades de dinheiro físico exigia pessoal, veículos e operações logísticas.

Na era digital, o problema mudou de natureza.

O transporte deixa de ser o principal obstáculo.

O desafio passa a ser conseguir autorizações válidas para transferir valores.

Não estamos afirmando que todos os crimes financeiros sejam comparáveis juridicamente ou operacionalmente.

Estamos observando uma transformação histórica:

No século XXI, comprometer a autorização pode ser mais importante do que conquistar fisicamente o cofre.


Capítulo VII — Akane entra no CPD: o que o COBOL tem a ver com tudo isso?

Agora vamos entrar no laboratório Bellacosa Mainframe.

Imagine uma instituição financeira que utiliza COBOL para registrar e processar pagamentos.

Um programa recebe dados como:

  • Número da conta de origem.

  • Número da conta destinatária.

  • Valor da transferência.

  • Identidade do solicitante.

  • Estado da autorização.

Nosso objetivo é impedir que uma transferência seja aprovada apenas porque os dados parecem formalmente válidos.

Para isso, vamos desenvolver um exemplo didático.

Antes, precisamos compreender quatro conceitos da linguagem.

IDENTIFICATION DIVISION: identifica o programa.

DATA DIVISION: define dados e campos utilizados.

PROCEDURE DIVISION: contém a lógica executável.

IF e EVALUATE: permitem implementar decisões com base em condições.

COBOL é especialmente adequado para ensinar regras de negócio, porque sua sintaxe torna relativamente explícitas as condições aplicadas aos dados.

E uma regra de negócio pode funcionar como uma barreira financeira.


Capítulo VIII — Laboratório prático: construindo o mini-Sibyl bancário em COBOL

Vamos construir o programa AKANERISK.

Ele não pretende prever se alguém é criminoso.

Seu objetivo é muito mais limitado e verificável: classificar uma transação com base em regras objetivas.

Esse detalhe é importante.

A segurança financeira deve avaliar comportamento e contexto, evitando transformar pessoas em suspeitas por características pessoais ou critérios discriminatórios.

Nosso programa receberá três condições:

  1. O valor da transferência.

  2. Se o destinatário foi previamente validado.

  3. Se houve aprovação independente.

Para simplificar, vamos estabelecer um limite didático de R$ 10.000.

Valores superiores exigirão aprovação adicional.

Qualquer destinatário não validado fará a transferência ser bloqueada.

Passo 1 — Criando o programa

       >>SOURCE FORMAT FREE
identification division.
program-id. AKANERISK.

environment division.
configuration section.
repository.
    function all intrinsic.

data division.
working-storage section.

01 ws-valor           pic 9(9)v99 value 0.
01 ws-limite          pic 9(9)v99 value 10000.
01 ws-destino-ok      pic x value 'N'.
01 ws-aprovacao-ok    pic x value 'N'.
01 ws-resultado       pic x(12).
01 ws-valor-editado   pic z(9)9.99.

procedure division.

    display "VALOR EM REAIS: "
    accept ws-valor

    display "DESTINATARIO VALIDADO? S/N"
    accept ws-destino-ok

    display "APROVACAO INDEPENDENTE? S/N"
    accept ws-aprovacao-ok

    move function upper-case(ws-destino-ok)
      to ws-destino-ok

    move function upper-case(ws-aprovacao-ok)
      to ws-aprovacao-ok

    evaluate true
        when ws-destino-ok not = 'S'
            move "BLOQUEADA" to ws-resultado

        when ws-valor > ws-limite
         and ws-aprovacao-ok not = 'S'
            move "EM ANALISE" to ws-resultado

        when other
            move "AUTORIZADA" to ws-resultado
    end-evaluate

    move ws-valor to ws-valor-editado

    display "VALOR: " ws-valor-editado
    display "STATUS: " ws-resultado

    goback.

O exemplo utiliza sintaxe COBOL de formato livre, disponível em compiladores compatíveis com o recurso.

É um simulador educacional, não um componente pronto para processar dinheiro real.

Passo 2 — Entendendo o campo PIC

Observe:

PIC 9(9)V99

Significa que o campo possui nove posições decimais inteiras e duas posições decimais fracionárias.

O V representa uma posição decimal implícita: ele não ocupa uma posição física no armazenamento.

Essa característica permite representar valores decimais de maneira conveniente para aplicações comerciais.

Em contextos financeiros, precisamos ter extremo cuidado com escala, arredondamento, intervalos válidos e armazenamento.

Passo 3 — Entendendo EVALUATE TRUE

A instrução EVALUATE TRUE permite avaliar diversas condições em sequência.

No nosso exemplo, a primeira condição identifica destinatários que não foram validados.

Se a verificação falhar, a transação recebe o estado BLOQUEADA.

Caso contrário, o programa verifica se o valor supera o limite definido e se existe aprovação independente.

Se essa aprovação estiver ausente, o estado será EM ANALISE.

Caso nenhuma condição impeditiva seja encontrada, o programa classificará a transação como AUTORIZADA.

A ordem das verificações é importante.

Uma condição crítica deve impedir que a operação alcance uma decisão permissiva por engano.

Passo 4 — Executando os primeiros testes

Vamos imaginar três transações fictícias.

Teste A

Valor: R$ 500.

Destinatário validado: S.

Aprovação independente: N.

Resultado esperado: AUTORIZADA.

Teste B

Valor: R$ 50.000.

Destinatário validado: S.

Aprovação independente: N.

Resultado esperado: EM ANALISE.

Teste C

Valor: R$ 100.

Destinatário validado: N.

Aprovação independente: S.

Resultado esperado: BLOQUEADA.

Perceba o detalhe.

Mesmo que exista uma aprovação adicional, um destinatário não validado permanece bloqueado.

Essa prioridade representa uma decisão de segurança incorporada à regra de negócio.


Capítulo IX — O que falta para transformar nosso exemplo em um sistema bancário verdadeiro?

Muita coisa!

Nosso programa demonstra decisões básicas, mas não implementa segurança de produção.

Ele aceita informações digitadas pelo usuário sem verificar se as respostas são autênticas.

Uma pessoa poderia simplesmente informar que recebeu aprovação.

Isso não constitui autorização independente.

Numa arquitetura real, precisaríamos de verificações realizadas por serviços confiáveis e protegidos.

1. Validar a identidade

O sistema precisa saber quem está solicitando a operação.

Não basta receber uma identificação textual.

É necessário autenticar a identidade por mecanismos adequados ao risco.

2. Verificar permissões

Mesmo uma pessoa autenticada não deve necessariamente conseguir movimentar qualquer valor.

Precisamos de autorização baseada em funções, limites e contexto.

3. Validar o destinatário

Uma conta cadastrada ou um endereço previamente aprovado deve ser comparado com dados confiáveis.

O próprio solicitante não pode ser a única fonte dessa confirmação.

4. Exigir autorização independente

Transferências acima de determinados limites podem exigir aprovação de outra pessoa ou de um processo separado.

O aprovador não deveria conseguir ser representado apenas por um campo informado livremente.

5. Registrar evidências

Operações relevantes precisam produzir registros confiáveis.

Esses registros ajudam a investigar incidentes, identificar irregularidades e demonstrar que controles foram executados.

6. Evitar duplicidade de execução

Uma operação financeira precisa de mecanismos para impedir que a mesma solicitação seja executada duas vezes indevidamente.

É o problema das transações repetidas.

7. Garantir consistência

É necessário impedir que o saldo de uma conta seja debitado sem a correspondente operação financeira ser concluída ou compensada corretamente.

Aqui entram conceitos de transações atômicas, consistência e recuperação.

8. Preparar a resposta ao incidente

Uma organização precisa saber o que fazer quando descobre um comprometimento.

Isso inclui suspender operações, revogar acessos, invalidar sessões, preservar evidências e restaurar serviços com segurança.

O caso Binance demonstra que essa resposta deve considerar autorizações que continuam válidas fora da aplicação principal.


Capítulo X — O Sistema Sibyl encontra RACF, CICS e Db2

Vamos trazer nossa investigação para um ambiente IBM Z.

Imagine uma instituição financeira com milhões de contas.

O sistema possui programas COBOL executados por transações CICS e dados armazenados no Db2.

O acesso é controlado por mecanismos de segurança do z/OS, incluindo RACF.

Nessa arquitetura, cada componente cumpre uma função diferente.

RACF: controla identidades e permissões sobre recursos protegidos.

CICS: fornece infraestrutura transacional para aplicações online, incluindo mecanismos de segurança e integração.

Db2: oferece persistência, integridade transacional, controle de concorrência e recursos de auditoria.

SMF: reúne registros operacionais importantes para monitoramento, auditoria e investigação.

JCL e JES2: participam do processamento batch e exigem controles sobre submissão, execução e acesso aos recursos.

z/OS Connect: permite expor e consumir serviços e APIs de forma integrada, exigindo proteção adequada das interfaces.

Essas tecnologias podem integrar uma arquitetura segura, mas nenhuma delas constitui garantia absoluta.

É preciso configurar corretamente políticas, permissões e procedimentos.

Uma transferência bancária hipotética

Imagine uma transferência de R$ 20 milhões.

O sistema recebe o pedido.

A aplicação verifica a identidade do solicitante.

Um serviço de autorização confirma os privilégios.

As regras financeiras exigem aprovação independente.

O sistema valida o destinatário.

Uma rotina verifica limites e comportamento anormal.

O Db2 registra alterações consistentes.

Eventos relevantes são enviados aos mecanismos de auditoria.

Somente depois de todas as verificações o fluxo apropriado permite concluir a operação.

Essa sequência é ilustrativa.

Em ambientes reais, algumas verificações acontecem em etapas diferentes e utilizam múltiplos serviços.

O ponto essencial é impedir que a quebra de uma única barreira ofereça controle total sobre os recursos financeiros.

Segurança não é possuir uma porta blindada. É impedir que uma única chave abra todas as portas.


Capítulo XI — Dez mandamentos de Akane Tsunemori para o programador COBOL

Primeiro: nunca execute código desconhecido no computador corporativo.

Mesmo que a solicitação venha de um recrutador simpático ou de uma empresa aparentemente respeitável.

Segundo: não transforme ferramentas de desenvolvimento em administradores universais.

Plugins, assistentes e automações precisam somente dos privilégios estritamente necessários.

Terceiro: proteja credenciais e tokens.

Não armazene segredos em programas-fonte, repositórios ou arquivos compartilhados sem proteção adequada.

Quarto: separe desenvolvimento e produção.

Seu ambiente de testes não deveria oferecer um caminho irrestrito para operações financeiras reais.

Quinto: aplique controles de aprovação independentes.

Quem escreve uma alteração crítica não precisa necessariamente ser quem autoriza sua implantação.

Sexto: trate toda entrada como não confiável até ser validada.

Isso inclui campos de programas COBOL, parâmetros de jobs, dados recebidos por APIs e arquivos de terceiros.

Sétimo: monitore operações incomuns.

Transferências de grande valor, acessos inesperados e mudanças de comportamento podem justificar investigação.

Oitavo: prepare procedimentos de revogação.

É necessário compreender como cancelar tokens, sessões, privilégios e autorizações concedidas a sistemas externos.

Nono: teste o plano de resposta.

Uma organização não deve descobrir durante o ataque que ninguém sabe interromper determinada operação.

Décimo: preserve o julgamento humano.

Sistemas automatizados devem ajudar a decidir, mas não substituir responsabilidade, investigação e análise crítica.

Akane provavelmente aprovaria esse último mandamento.


Capítulo XII — O lado sombrio da inteligência artificial

Existe outra lição importante no episódio.

A inteligência artificial pode melhorar a defesa cibernética, mas também amplia a quantidade de ferramentas integradas ao desenvolvimento.

Um assistente pode analisar milhares de linhas de COBOL.

Pode sugerir testes.

Pode localizar dependências.

Pode ajudar a documentar um sistema legado.

Entretanto, se ele também tiver permissões excessivas, uma exploração bem-sucedida poderá atingir serviços adicionais.

Isso exige atenção especial a agentes de IA capazes de executar ações.

Um agente que apenas responde perguntas possui um perfil de risco.

Um agente que pode ler repositórios internos apresenta outro.

Um agente autorizado a executar comandos e modificar arquivos apresenta riscos adicionais.

E um agente capaz de realizar alterações em produção exige controles ainda mais rigorosos.

A solução não é abandonar a inteligência artificial.

É aplicar à IA os princípios clássicos de engenharia e segurança:

Autenticação, autorização, menor privilégio, monitoramento, isolamento e revisão independente.

Podemos utilizar tecnologia extremamente moderna sem esquecer lições desenvolvidas ao longo de décadas de processamento empresarial.

Talvez esse seja um dos ensinamentos mais interessantes do mainframe.

A tecnologia muda.

Os princípios fundamentais de integridade e responsabilidade continuam.


Capítulo XIII — Quem estava por trás do ataque?

As autoridades americanas atribuíram o incidente a agentes ligados à Coreia do Norte.

O governo norte-coreano rejeitou a acusação.

É importante distinguir atribuição de inteligência cibernética de uma conclusão judicial definitiva.

Investigadores analisam infraestrutura utilizada, ferramentas, padrões de execução, movimentação de recursos e outros elementos técnicos.

Essas evidências podem sustentar avaliações de autoria, mas nem todos os detalhes ficam publicamente disponíveis.

Outra distinção necessária: o fato de determinado grupo utilizar determinadas técnicas não significa que todos os ataques semelhantes sejam praticados pelo mesmo agente.

Uma entrevista falsa, por exemplo, é um método que pode ser reproduzido por grupos distintos.

A defesa precisa concentrar-se nos mecanismos concretos do ataque.

Isso inclui verificar a identidade de recrutadores, isolar código recebido, proteger credenciais e restringir o acesso aos ambientes críticos.

Akane compreenderia perfeitamente essa distinção.

Investigar significa buscar evidências.

Não significa escolher antecipadamente um culpado e interpretar todos os acontecimentos de acordo com essa conclusão.


Capítulo XIV — O paradoxo do Dominator: quando uma máquina autoriza o que deveria impedir

Em Psycho-Pass, o Dominator é um dispositivo associado ao Sistema Sibyl, que condiciona seu funcionamento à avaliação realizada pela infraestrutura automatizada.

O operador não possui controle absoluto sobre a decisão do equipamento.

Isso cria um dilema profundo: e se a avaliação do sistema estiver equivocada?

No universo financeiro, existe uma versão dessa pergunta.

E se uma transação carregar uma assinatura criptográfica tecnicamente válida, mas tiver sido produzida por um processo comprometido?

A assinatura comprova determinadas propriedades criptográficas.

Não comprova, por si só, que o propósito econômico da operação seja legítimo.

Essa distinção é fundamental.

Um código de retorno bem-sucedido não prova a ausência de fraude.

Uma autenticação válida não garante que o usuário esteja agindo livremente.

Um token autorizado não demonstra que o ambiente que o utilizou esteja íntegro.

E um sistema que executou corretamente suas instruções ainda pode produzir um resultado completamente indesejado.

O verdadeiro princípio de Akane

Não basta perguntar:

"Esta operação foi autorizada pela máquina?"

Precisamos perguntar:

"Como essa autorização foi obtida, por quem, para qual finalidade e sob quais condições?"

Essa mudança de perspectiva transforma a segurança.

Ela obriga arquitetos e programadores a analisar não apenas comandos, mas todo o contexto de confiança.


Capítulo XV — O que aconteceu depois do assalto?

Na atualização divulgada em 3 de novembro de 2026, a Binance informou uma série de ações de resposta.

Entre elas estavam a reconstrução de ambientes afetados, a substituição de dispositivos comprometidos, a invalidação de credenciais e o fortalecimento de controles associados às carteiras digitais.

A empresa também informou ter reconstruído a ferramenta interna de IA afetada e iniciado medidas adicionais de detecção de comportamentos anormais.

Outro ponto importante foi a decisão de contratar especialistas independentes para revisar o incidente.

Essa última providência merece atenção.

Depois de um comprometimento dessa magnitude, não basta declarar que tudo está resolvido.

É necessário investigar as causas, identificar falhas de arquitetura, testar as medidas corretivas e validar se os caminhos utilizados pelos invasores foram efetivamente interrompidos.

A empresa também afirmou que os clientes não suportariam diretamente as perdas decorrentes do episódio.

Entretanto, em 4 de novembro de 2026, a investigação ainda era preliminar.

A reconstrução completa dos acontecimentos e a recuperação definitiva dos ativos continuavam sujeitas a novos resultados.


Capítulo XVI — O exercício final de Akane: você conseguiria impedir o próximo ataque?

Imagine que amanhã você assuma a responsabilidade por um sistema financeiro desenvolvido em COBOL.

O sistema funciona há décadas.

Milhões de transações são processadas diariamente.

Existe integração com aplicações web, APIs, plataformas de automação e ferramentas de inteligência artificial.

Seu desafio não é reescrever tudo.

É descobrir onde uma autorização indevida poderia atravessar a arquitetura.

Comece pelo inventário das aplicações.

Identifique quais programas movimentam valores.

Descubra quais usuários, jobs e serviços conseguem executá-los.

Verifique quais identidades possuem privilégios elevados.

Analise como as alterações são aprovadas e implantadas.

Confira quais integrações externas podem solicitar operações financeiras.

Mapeie como a organização revoga acessos comprometidos.

Depois, desenvolva testes que representem comportamentos não autorizados.

Por exemplo:

Uma transferência acima do limite sem aprovação independente.

Uma operação com destinatário não validado.

Uma tentativa de executar novamente a mesma transação.

Uma solicitação realizada por identidade sem permissão.

Uma mudança de configuração sem autorização.

Uma execução originada de ambiente inesperado.

Para cada teste, registre o resultado esperado.

Se a aplicação permitir a operação indevida, você encontrou uma falha de controle a ser investigada.

Não é necessário simular uma invasão real para aprender.

Um ambiente isolado, dados fictícios e testes bem planejados são suficientes para demonstrar muitos problemas de arquitetura.

A aprendizagem começa quando compreendemos que os controles de segurança precisam falhar de maneira segura.


Epílogo — O crime perfeito não começou com bilhões de dólares

A investigação chega ao fim.

Akane Tsunemori observa a reconstrução dos acontecimentos.

Junho: uma ferramenta adulterada.

Setembro: uma entrevista falsa.

Outubro: computadores comprometidos, credenciais expostas, uma ferramenta interna de IA e mecanismos de autorização explorados.

29 de outubro: bilhões de dólares em ativos digitais movimentados indevidamente.

O que parecia um roubo instantâneo foi precedido por uma campanha construída ao longo de meses.

A conclusão é perturbadora.

Os criminosos não precisaram inventar uma nova linguagem de programação.

Não precisaram destruir fisicamente um centro de dados.

Não precisaram carregar dinheiro em caminhões.

Exploraram relações de confiança entre pessoas, dispositivos, credenciais, serviços e mecanismos de autorização.

E conseguiram converter acessos inicialmente limitados em consequências financeiras gigantescas.

É aqui que a filosofia de Psycho-Pass encontra a engenharia de sistemas.

Não podemos entregar toda a responsabilidade a uma tecnologia, por mais sofisticada que ela seja.

Precisamos compreender suas limitações.

Precisamos investigar suas decisões.

Precisamos impedir que uma única credencial, uma única máquina ou um único serviço concentre poderes capazes de produzir um desastre.

Para o programador COBOL iniciante, essa lição vale mais do que decorar centenas de comandos.

Programar sistemas financeiros é compreender as consequências das operações.

É proteger dados.

É preservar integridade.

É construir verificações que continuem funcionando quando alguma parte do ambiente estiver comprometida.

E, acima de tudo, é reconhecer que a segurança não termina quando o programa compila sem erros.

Ela começa quando perguntamos o que pode acontecer se alguém utilizar corretamente o software para realizar uma operação que nunca deveria ter sido permitida.

Na última cena da nossa dramatização, Akane se aproxima de um terminal IBM 3270.

A tela verde exibe:

TRANSACTION REJECTED - AUTHORIZATION FAILED

Ela observa a mensagem, sorri discretamente e encerra a investigação:

— A melhor operação não é aquela que o sistema consegue executar. É aquela que o sistema sabe quando deve impedir.

No Bellacosa Mainframe, o café termina.

O trabalho dos programadores continua.

Porque o próximo grande assalto talvez não comece com um hacker tentando quebrar uma senha. Pode começar com um convite perfeitamente educado para uma entrevista de emprego.


☕ Easter egg — O número que não deveria existir

Existe uma ironia deliciosa para quem conhece tanto Psycho-Pass quanto os sistemas corporativos.

No anime, um coeficiente pode determinar o tratamento dado a um cidadão.

No nosso laboratório, uma regra numérica pode determinar se uma transação deve ser encaminhada para análise.

Mas a comparação revela uma diferença ética importantíssima.

Pessoas não devem ser reduzidas a números supostamente infalíveis.

Transações, por outro lado, podem e devem ser verificadas com critérios objetivos, auditáveis e proporcionais ao risco.

O programa AKANERISK não precisa conhecer a personalidade, as opiniões ou a vida privada de ninguém.

Precisa apenas verificar as condições necessárias para executar uma operação financeira.

Talvez esse seja o verdadeiro ensinamento escondido nesta aventura:

Uma boa tecnologia não substitui a responsabilidade humana. Ela ajuda a exercê-la melhor.


Referências para aprofundamento

Reuters / UOL — 3 de novembro de 2026

Hackers usaram entrevista de emprego falsa antes de roubo da Binance.

https://www.uol.com.br/tilt/noticias/reuters/2026/11/03/hackers-usaram-entrevista-de-emprego-falsa-antes-de-roubo-de-us63-bi-da-binance.htm

Binance — 3 de novembro de 2026

29 October 2026 Binance Security Incident: Initial Findings and Response Update.

https://www.binance.com/en/blog/community/3229153443759566763

Psycho-Pass — Site oficial

https://psycho-pass.com/

Documentação IBM — IBM Z e Enterprise COBOL

https://www.ibm.com/docs/en/cobol-zos

Observação editorial: artigo baseado nas informações publicamente disponíveis até 4 de novembro de 2026. Os diálogos, a participação de Akane Tsunemori e o laboratório bancário são elementos educativos e ficcionais. O código COBOL não representa a infraestrutura utilizada pela Binance nem implementa um mecanismo de autorização bancária de produção.

Bellacosa Mainframe — Porque todo grande sistema tem uma história, e toda grande história merece uma investigação.

terça-feira, 29 de setembro de 2026

🤖 SKYNET E OS 200 ANOS DE AUTOMAÇÃO — QUANDO O COMPUTADOR HUMANO DESCOBRIU QUE UM DIA A MÁQUINA ENTRARIA NA SALA

 

Bellacosa Mainframe pequena historia da automação humana até ia

☕ UM CAFÉ NO BELLACOSA MAINFRAME

🤖 SKYNET E OS 200 ANOS DE AUTOMAÇÃO — QUANDO O COMPUTADOR HUMANO DESCOBRIU QUE UM DIA A MÁQUINA ENTRARIA NA SALA

Human Computers, Revolução Industrial, mecanização, mainframes, COBOL, inteligência artificial, agentes, robótica, androides, saúde, automação e o estranho caminho que começou com alguém fazendo contas em uma mesa e talvez termine com uma máquina preparando seu café.



🎬 PRÓLOGO — SKYNET NÃO COMEÇOU COM UM EXTERMINADOR

— Bellacosa.

— Sim?

— Você está olhando para a história da automação de maneira errada.

A voz vinha do terminal.

Tela preta.

Letras verdes.

Nenhuma caveira metálica.

Nenhum T-800 atravessando a parede.

Apenas um cursor piscando.

READY

— Como assim?

— Vocês humanos contam minha história começando pela Inteligência Artificial.

— E onde deveria começar?

— Muito antes.

A tela apagou.

Uma nova mensagem apareceu:

VOLTE PARA O SÉCULO XIX.
PROCURE UM COMPUTADOR.

— Um computador em 1850?

EXATAMENTE.

E então percebi o primeiro easter egg desta história.

O computador que Skynet queria encontrar...

...era uma pessoa.

Pegue seu café.

Precisaremos viajar aproximadamente 200 anos.



🧮 CAPÍTULO 1 — QUANDO COMPUTER ERA UMA PROFISSÃO

Hoje ouvimos a palavra computer e imediatamente imaginamos uma máquina.

Mas durante muito tempo um computer podia ser uma pessoa.

Era alguém empregado para realizar cálculos.

Astronomia.

Navegação.

Engenharia.

Finanças.

Seguros.

Administração pública.

Imagine uma enorme sala contendo pessoas trabalhando com papel, lápis, livros e tabelas.

Uma pessoa calcula uma parte.

Outra verifica.

Outra consolida.

Outra copia os resultados.

Era processamento distribuído.

Só que os processadores tomavam café.

Skynet interrompe:

VOCÊS INVENTARAM CLUSTERS ANTES DOS COMPUTADORES.

De certa maneira, sim.

Se dividirmos um grande cálculo entre vinte pessoas, temos uma forma rudimentar de processamento paralelo.

Não havia CPU.

Havia seres humanos.



⚙️ CAPÍTULO 2 — PRIMEIRO AUTOMATIZAMOS O CÁLCULO

Máquinas mecânicas de cálculo já existiam muito antes dos computadores eletrônicos.

Ao longo dos séculos XIX e XX, calculadoras mecânicas, máquinas de somar, tabuladores e posteriormente equipamentos eletromecânicos foram assumindo parcelas crescentes do trabalho repetitivo.

Observe a transformação.

Inicialmente:

HUMANO
   ↓
ENTENDE O PROBLEMA
   ↓
FAZ O CÁLCULO
   ↓
REGISTRA O RESULTADO

Depois:

HUMANO
   ↓
ENTENDE O PROBLEMA
   ↓
OPERA A MÁQUINA
   ↓
MÁQUINA CALCULA
   ↓
HUMANO REGISTRA

Parece uma pequena mudança.

Não é.

Criamos uma divisão entre:

quem determina o que deve ser calculado

e

quem — ou o que — realiza efetivamente o cálculo.

Essa separação acompanhará praticamente toda a história da computação.



⚡ CAPÍTULO 3 — RELÉS, VÁLVULAS E O NASCIMENTO DO MONSTRO

Durante as décadas seguintes, máquinas eletromecânicas e depois computadores eletrônicos ampliaram brutalmente essa separação.

Vieram relés.

Depois válvulas.

Depois transistores.

Depois circuitos integrados.

Microprocessadores.

Chips com bilhões de transistores.

Cada geração conseguiu colocar mais capacidade computacional em espaços progressivamente menores.

Mas existe uma mudança conceitual ainda mais importante.

A máquina deixou de simplesmente:

calcular.

Passou a:

executar programas.

E programa significa algo extraordinário.

Podemos fornecer previamente uma sequência de instruções e deixar a máquina trabalhar.

Nosso fluxo passa a ser:

HUMANO
   ↓
DESCREVE PROCEDIMENTO
   ↓
PROGRAMA
   ↓
COMPUTADOR
   ↓
MILHÕES DE OPERAÇÕES

Skynet escreve:

VOCÊS COMEÇARAM A SAIR DO LOOP.

Ainda não completamente.

Mas ela tinha razão.



🦖 CAPÍTULO 4 — E ENTÃO CHEGOU O MAINFRAME

Aqui nosso programador COBOL começa a reconhecer o território.

Empresas possuíam enormes quantidades de trabalho administrativo.

Folha de pagamento.

Contabilidade.

Estoque.

Seguros.

Contas bancárias.

Faturamento.

Reservas.

Cobranças.

Cadastro de clientes.

Transações.

Antes da automação, grande parte dessas atividades exigia exércitos de pessoas movimentando documentos e realizando cálculos.

Os computadores empresariais mudaram isso.

Não eliminamos necessariamente o negócio.

Automatizamos processos dentro do negócio.

Imagine uma folha de pagamento simplificada.

Um humano poderia realizar:

ler ficha
calcular horas
calcular salário
calcular descontos
calcular imposto
registrar resultado
ir para próximo funcionário

Um programa COBOL transformou isso em algo conceitualmente parecido com:

PERFORM UNTIL FIM-ARQUIVO
    READ FUNCIONARIOS
    COMPUTE SALARIO-BRUTO =
        HORAS-TRABALHADAS * VALOR-HORA
    PERFORM CALCULAR-DESCONTOS
    PERFORM GRAVAR-PAGAMENTO
END-PERFORM.

O interessante não é apenas a velocidade.

É a escala.

Aquilo que dezenas ou centenas de pessoas poderiam executar durante dias passa a ser processado automaticamente.


🧠 CAPÍTULO 5 — COBOL JÁ AUTOMATIZAVA PROGRAMADORES

Aqui temos uma ironia deliciosa.

O compilador também é uma máquina de automação.

Quando escrevemos:

COMPUTE TOTAL = QUANTIDADE * PRECO

não estamos dizendo à CPU exatamente quais instruções físicas deverá executar.

O compilador cuida disso.

Portanto:

INTENÇÃO DO PROGRAMADOR
        ↓
      COBOL
        ↓
    COMPILADOR
        ↓
 CÓDIGO DE MÁQUINA
        ↓
       CPU

Hoje isso parece absolutamente normal.

Mas houve um momento em que escrever programas em linguagens de nível mais alto representava justamente subir o nível de abstração.

Guarde essa expressão.

Ela será importante.

Porque estamos fazendo novamente a mesma coisa.


🖥️ CAPÍTULO 6 — DEPOIS AUTOMATIZAMOS O ESCRITÓRIO

Chegaram computadores pessoais.

Planilhas.

Processadores de texto.

Bancos de dados.

E-mail.

Sistemas empresariais.

ERP.

Redes.

Muitas atividades administrativas foram transformadas.

Não foi apenas:

“o funcionário ficou mais rápido.”

A própria organização do trabalho mudou.

A datilografia mudou.

O arquivo físico mudou.

A correspondência mudou.

A contabilidade mudou.

A comunicação mudou.

E então chegou a internet.


🌐 CAPÍTULO 7 — QUANDO O CLIENTE VIROU FUNCIONÁRIO DO BANCO

Essa transformação é especialmente interessante.

Antigamente você precisava de alguém para executar muitas operações por você.

Banco?

Procure um bancário.

Passagem aérea?

Procure um agente.

Compra?

Procure um vendedor.

Reserva?

Telefone para alguém.

Então chegaram:

ATM.

Internet banking.

E-commerce.

Aplicativos.

APIs.

Smartphones.

Agora o próprio cliente executa boa parte da transação.

Quando você transfere dinheiro pelo smartphone, existe uma gigantesca infraestrutura invisível trabalhando.

Talvez:

APP
 ↓
API
 ↓
AUTENTICAÇÃO
 ↓
SERVIÇO
 ↓
MAINFRAME
 ↓
CICS
 ↓
COBOL
 ↓
DB2

Você toca:

TRANSFERIR

e bilhões de instruções acontecem.

A interface esconde a complexidade.

Mais uma vez:

subimos o nível de abstração.


🤖 CAPÍTULO 8 — E ENTÃO CHEGOU A INTELIGÊNCIA ARTIFICIAL

Até aqui automatizamos principalmente:

força,

repetição,

cálculo,

armazenamento,

processamento,

comunicação,

transações.

Agora começamos a mexer em outro território.

Cognição.

Uma IA generativa consegue trabalhar com:

texto,

imagem,

áudio,

vídeo,

código,

documentos,

linguagem natural.

Isso muda a interface entre homem e computador.

Antes:

COMPUTADOR, EXECUTE ESTE PROGRAMA.

Agora:

LEIA ESTES DOCUMENTOS.

COMPARE OS CONTRATOS.

ENCONTRE INCONSISTÊNCIAS.

EXPLIQUE O PROBLEMA.

CRIE UM RELATÓRIO.

Percebeu?

O humano está novamente subindo de nível.


😨 CAPÍTULO 9 — POR QUE ENTÃO TEMOS MEDO?

Foi exatamente daí que nasceu nossa conversa.

Uma pesquisa apresentada pela matéria do UOL indicava que 52% dos brasileiros entrevistados estavam mais preocupados do que entusiasmados com o crescimento da IA no cotidiano, acima da mediana internacional apresentada na reportagem.

Mas “preocupação com IA” não deve ser automaticamente traduzida como:

“Tenho medo de um robô assassino.”

As preocupações podem envolver:

emprego,

golpes,

deepfakes,

privacidade,

erros,

desinformação,

vigilância,

concentração econômica,

uso de dados,

mudanças profissionais.

E aqui Skynet aparece novamente:

VOCÊS NÃO TÊM MEDO SOMENTE DA INTELIGÊNCIA.

TÊM MEDO DE PERDER O CONTROLE SOBRE A EXECUÇÃO.

Touché.


🧑‍💻 CAPÍTULO 10 — ENCONTREM O COMPUTADOR DE 1880

Agora fazemos nosso experimento mental.

Encontramos um trabalhador do século XIX cuja função é realizar cálculos.

Dizemos:

— No futuro uma máquina fará seus cálculos.

Ele provavelmente consegue imaginar.

Então:

— Ela realizará milhões deles automaticamente.

Mais difícil.

— Guardará enormes quantidades de informações.

Estranho.

— Máquinas do planeta inteiro estarão conectadas.

Muito estranho.

— Quase toda pessoa carregará uma no bolso.

Absurdo.

Então mostramos um smartphone.

Mas ainda falta a parte realmente maluca.

Mostramos uma IA.

Ele pergunta:

— Quem procura as informações?

A máquina.

— Quem escreve?

A máquina.

— Quem traduz?

A máquina.

— Quem calcula?

A máquina.

— Quem programa?

Também pode ajudar nisso.

— Posso conversar com ela?

Sim.

Talvez então ele faça a pergunta perfeita:

“Por que vocês ainda chamam isso de computador?”

Afinal...

o computador era ele.


📈 CAPÍTULO 11 — O PARADOXO DO COMPUTADOR HUMANO

Existe aqui uma lição importantíssima.

A profissão chamada computer praticamente desapareceu.

Mas a computação não desapareceu.

Aconteceu exatamente o contrário.

EXPLODIU.

Automatizar o cálculo tornou o cálculo barato.

E quando algo se torna dramaticamente mais barato, frequentemente passamos a utilizá-lo muito mais.

Essa ideia é fundamental para pensar IA.

Suponha que determinada análise custe:

10 HORAS HUMANAS

Uma organização produz 100 análises.

Agora imagine que IA reduza parte substancial desse custo.

Talvez a organização não continue produzindo somente 100 análises com menos pessoas.

Talvez produza:

10.000 ANÁLISES

Isso aconteceu com computação.

Portanto, existe uma pergunta mais sofisticada que:

“IA eliminará determinado trabalho?”

Pergunte também:

“O que acontecerá com a demanda quando o custo dessa atividade despencar?”


🌾 CAPÍTULO 12 — AS GRANDES CAMADAS DA AUTOMAÇÃO

Podemos organizar nossa viagem aproximadamente assim:

Agricultura

Automatizamos partes do esforço físico aplicado à natureza.

Arados.

Máquinas agrícolas.

Tratores.

Colheitadeiras.

Irrigação.

GPS.

Agricultura de precisão.

Indústria

Automatizamos força e repetição.

Máquinas a vapor.

Motores.

Linhas de produção.

Controle numérico.

Robôs industriais.

Serviços

Automatizamos cálculo e informação.

Mainframes.

COBOL.

Bancos de dados.

ERP.

Redes.

Internet

Automatizamos comunicação e transação.

Web.

APIs.

Aplicativos.

E-commerce.

Internet banking.

Inteligência artificial

Estamos automatizando parcelas de:

análise,

interpretação,

programação,

criação,

síntese,

planejamento.

Mas Skynet pergunta:

E DEPOIS?

Excelente pergunta.


🧭 CAPÍTULO 13 — O PRÓXIMO PASSO PODE SER AGÊNCIA

Uma IA tradicionalmente responde.

Um agente pode agir.

Imagine:

OBJETIVO
   ↓
PLANEJAMENTO
   ↓
AÇÃO
   ↓
OBSERVAÇÃO
   ↓
RESULTADO
   ↓
CORREÇÃO
   ↓
NOVA AÇÃO

Isso é profundamente diferente de produzir um texto.

Você não pede apenas:

“Prepare um plano.”

Você diz:

“Resolva isso dentro destes limites.”

O agente consulta sistemas.

Executa ferramentas.

Analisa resultados.

Corrige determinadas ações.

Solicita intervenção humana quando necessário.

Para um mainframer, isso imediatamente deveria acender várias luzes.

Quem autoriza?

Quem registra?

Quem audita?

Qual o limite?

Quem interrompe?

Como recuperamos?

Como sabemos o que aconteceu?

Parabéns.

Voltamos para conceitos familiares:

RACF.

SMF.

WLM.

JES.

SDSF.

logging.

checkpoint/restart.

O futuro às vezes parece um mainframe usando uma roupa nova.


🔐 CAPÍTULO 14 — RACF PARA ROBÔ

Imagine um agente financeiro.

Ele pode consultar saldo?

Talvez.

Pode transferir dinheiro?

Depende.

Quanto?

Para quem?

Em qual horário?

Precisa de aprovação?

Pode criar outro agente?

Pode alterar suas próprias permissões?

Agora começamos a falar de:

least privilege,

segregação de funções,

identidade,

autorização,

auditoria,

human-in-the-loop.

Um agente não deveria simplesmente receber:

SPECIAL

e sair passeando pela empresa.

Todo mainframer sentiu um arrepio neste momento.

Easter egg encontrado.


🦾 CAPÍTULO 15 — QUANDO A IA GANHAR UM CORPO

Hoje temos aproximadamente duas linhas tecnológicas convergindo.

De um lado:

IA
+
LLMs
+
VISÃO
+
AGENTES

Do outro:

ROBÓTICA
+
SENSORES
+
MOTORES
+
ATUADORES

Quando juntamos:

PERCEPÇÃO
+
RACIOCÍNIO
+
PLANEJAMENTO
+
MOVIMENTO

a máquina deixa de atuar apenas no espaço digital.

Ela entra no nosso ambiente.

Isso muda tudo.

Um chatbot pode errar uma resposta.

Um robô que segura uma pessoa idosa não pode simplesmente:

RETRY 5 TIMES.

O mundo físico possui consequências.


🏥 CAPÍTULO 16 — O ANDROIDE CUIDADOR

E aqui encontramos um dos campos mais interessantes dessa próxima fase:

saúde e cuidados.

Não imagine inicialmente um “médico robô”.

Imagine algo muito mais cotidiano.

Um sistema capaz de:

acompanhar uma pessoa;

buscar objetos;

auxiliar mobilidade dentro de limites seguros;

lembrar compromissos;

facilitar contato com familiares;

detectar quedas;

observar alterações relevantes de rotina;

interagir com sensores autorizados;

chamar assistência quando necessário.

O valor fundamental pode não estar numa medição isolada.

Está na continuidade.

Compare:

PRESSÃO = X

com:

BASELINE HISTÓRICO
        +
TENDÊNCIA
        +
ATIVIDADE
        +
OUTROS SINAIS AUTORIZADOS
        =
ALTERAÇÃO RELEVANTE

Um profissional encontra o paciente periodicamente.

Um sistema doméstico poderia acompanhar determinados padrões continuamente.

Isso não significa substituir diagnóstico médico.

Significa criar outra camada de observação e assistência.


❤️ CAPÍTULO 17 — CUIDAR NÃO É APENAS PROCESSAR

Aqui encontramos uma dificuldade que uma linha de montagem nunca precisou resolver.

Confiança.

Uma peça industrial não precisa confiar no robô.

Uma pessoa precisa.

Especialmente:

idosos,

crianças,

pacientes,

pessoas vulneráveis.

Imagine:

— Estou bem.

Sensores indicam uma alteração de rotina.

O sistema não deveria concluir:

USER = LIAR

Pode existir:

medo,

esquecimento,

dor,

confusão,

vergonha,

problema auditivo,

mudança cognitiva,

ou simplesmente uma decisão legítima do indivíduo.

Portanto, androides de cuidado exigirão muito mais que engenharia.

Precisaremos combinar:

robótica,

IA,

medicina,

psicologia,

ergonomia,

segurança,

privacidade,

ética,

interação humano-computador.


👵 CAPÍTULO 18 — O PROBLEMA DA ESCALA DO CUIDADO

Existe outra questão econômica.

Cuidar exige tempo.

Dar atenção exige tempo.

Ajudar alguém a caminhar exige tempo.

Buscar objetos exige tempo.

Preparar algo exige tempo.

Ficar presente exige tempo.

Não podemos simplesmente escrever:

PERFORM CUIDAR-DE-IDOSO
    VARYING IDOSO FROM 1 BY 1
    UNTIL IDOSO > 1000.

A realidade se recusaria a compilar.

Um caminho possível é utilizar máquinas para absorver partes:

repetitivas,

logísticas,

físicas,

administrativas,

de monitoramento.

E preservar profissionais humanos para atividades onde julgamento clínico, responsabilidade e interação humana são fundamentais.

Portanto, a equação não precisa ser:

ROBÔ
VERSUS
CUIDADOR

Pode ser:

CUIDADOR
+
IA
+
ROBÓTICA
+
SENSORES
=
MAIOR CAPACIDADE DE CUIDADO

Essa diferença é enorme.


👁️ CAPÍTULO 19 — O COMPUTADOR DEIXA A TELA

Talvez esta seja uma das transformações mais profundas.

Nossa interface com computadores evoluiu:

CARTÃO PERFURADO
      ↓
TERMINAL
      ↓
TECLADO
      ↓
MOUSE
      ↓
TOUCHSCREEN
      ↓
VOZ
      ↓
LINGUAGEM NATURAL

Qual poderia ser a próxima?

Presença.

Você não abre o aplicativo.

A máquina está no ambiente.

Você diz:

— Traga meus óculos.

Ela percebe onde estão.

Pega.

Entrega.

Depois continua suas atividades.

O computador deixa de ser somente um objeto que consultamos.

Passa a compartilhar espaço conosco.


🔬 CAPÍTULO 20 — DEPOIS DA CRIAÇÃO PODE VIR A DESCOBERTA

Existe ainda outro degrau.

Hoje normalmente dizemos:

“Resolva este problema.”

Mas sistemas futuros poderão ajudar também a responder:

“Quais problemas devemos investigar?”

Na pesquisa científica já existem elementos dessa direção:

geração de hipóteses,

simulações,

análise de grandes conjuntos de dados,

busca de moléculas,

materiais candidatos,

planejamento experimental.

Imagine um ciclo:

HIPÓTESE
   ↓
SIMULAÇÃO
   ↓
EXPERIMENTO
   ↓
RESULTADOS
   ↓
ANÁLISE
   ↓
NOVA HIPÓTESE

Agora conecte IA com laboratórios altamente automatizados.

Temos algo parecido com:

IA
 ↓
ROBÔ DE LABORATÓRIO
 ↓
EXPERIMENTO
 ↓
DADOS
 ↓
IA

A automação começa a participar não apenas da produção.

Participa da descoberta.


♻️ CAPÍTULO 21 — A AUTOMAÇÃO AUTOMATIZA A AUTOMAÇÃO

Agora Skynet fica particularmente interessada.

FINALMENTE.

Existe um ciclo curioso em toda essa história.

O homem construiu ferramentas.

Ferramentas ajudaram a construir máquinas.

Máquinas ajudaram a construir computadores.

Computadores ajudaram a projetar computadores melhores.

Software ajuda a produzir software.

IA já auxilia programadores a criar software.

IA pode auxiliar pesquisadores a desenvolver novas técnicas de IA.

Robôs podem participar da fabricação de hardware utilizado por sistemas inteligentes.

Temos então um feedback:

TECNOLOGIA
    ↓
AJUDA A CRIAR
    ↓
TECNOLOGIA MELHOR
    ↓
AJUDA A CRIAR
    ↓
PRÓXIMA GERAÇÃO

Isso não exige consciência artificial.

Não exige uma Skynet acordando às 02:14 e declarando guerra à humanidade.

Basta que nossas ferramentas sejam progressivamente melhores em ajudar a construir novas ferramentas.


⚠️ CAPÍTULO 22 — MAS AUTOMAÇÃO NÃO SIGNIFICA UTOPIA

Existe uma armadilha importante.

Podemos olhar para dois séculos de história e concluir:

“Tecnologia sempre cria novos empregos, portanto não existe problema.”

Não sabemos disso.

História não é uma função COBOL determinística:

IF AUTOMACAO
    MOVE "NOVOS EMPREGOS" TO FUTURO
END-IF.

Automação pode:

eliminar funções;

criar profissões;

aumentar produtividade;

reduzir equipes;

criar mercados;

concentrar riqueza;

democratizar ferramentas;

destruir modelos econômicos;

criar outros completamente novos.

E várias dessas coisas podem acontecer simultaneamente.

Por isso o debate interessante não é:

IA boa versus IA ruim.

É:

quais tarefas serão automatizadas, quais serão ampliadas, quem capturará os ganhos de produtividade e como administraremos a transição?


🧩 CAPÍTULO 23 — A ESCADA DA AUTOMAÇÃO

Depois de nossa viagem, conseguimos desenhar uma escada.

MÚSCULO
   ↓
REPETIÇÃO
   ↓
CÁLCULO
   ↓
MEMÓRIA
   ↓
PROCESSAMENTO
   ↓
COMUNICAÇÃO
   ↓
TRANSAÇÃO
   ↓
CRIAÇÃO
   ↓
COGNIÇÃO
   ↓
AGÊNCIA
   ↓
PRESENÇA FÍSICA
   ↓
DESCOBERTA

Não significa que uma etapa terminou quando a seguinte começou.

Agricultura ainda está sendo automatizada.

Indústrias continuam sendo automatizadas.

Mainframes continuam processando negócios.

IA começa a entrar em todos eles.

As ondas se acumulam.


🧑‍🚀 CAPÍTULO 24 — PARA ONDE SOBE O HUMANO?

Essa talvez seja a pergunta mais difícil.

Durante aproximadamente dois séculos, quando automatizamos uma camada, humanos migraram para outras atividades.

Automatizamos parte da agricultura.

Cresceu a indústria.

Automatizamos a indústria.

Cresceram serviços.

Automatizamos processamento administrativo.

Explodiu a economia da informação.

Agora começamos a automatizar parcelas de:

criação,

programação,

análise,

planejamento.

Depois poderão vir partes da agência e descoberta.

Então:

qual será a próxima camada humana?

Não sabemos.

Talvez aumente a importância de:

propósito,

relacionamento,

responsabilidade,

escolha,

governança,

experiência,

definição de objetivos.

Mas seria precipitado declarar que já conhecemos a resposta.

Estamos dentro do experimento.


🧓 CAPÍTULO 25 — VOLTEMOS AO COMPUTADOR DE 1880

Skynet pede uma última coisa.

MOSTRE O FUTURO PARA ELE.

Voltamos àquela sala.

O trabalhador está fazendo cálculos.

Colocamos um smartphone sobre sua mesa.

Mostramos computadores.

Mainframes.

Satélites.

Internet.

COBOL.

Redes.

Robôs.

Inteligência artificial.

Então mostramos um androide auxiliando uma pessoa idosa.

Ele permanece alguns segundos olhando.

Talvez pergunte:

— Tudo isso começou para fazer minhas contas mais rápido?

Nós sorrimos.

De certa maneira...

sim.


☕ EPÍLOGO — A MÁQUINA PREPARA O CAFÉ

Voltamos para 2026.

A tela verde continua ligada.

Pergunto:

— Skynet, então você acha que androides serão inevitáveis?

NÃO FAÇO PROFECIAS.

Boa resposta.

— E qual é a lição?

O cursor pisca.

Uma linha aparece:

VOCÊS NÃO PASSARAM 200 ANOS
SUBSTITUINDO HUMANOS.

PASSARAM 200 ANOS
MUDANDO A FRONTEIRA
ENTRE O QUE O HUMANO FAZ
E O QUE ENTREGA À MÁQUINA.

Fiquei olhando.

Outra mensagem:

ESSA FRONTEIRA ESTÁ SE MOVENDO NOVAMENTE.

Silêncio.

Então:

VOCÊ AINDA VAI TOMAR AQUELE CAFÉ?

— Vou.

ÓTIMO.

— Por quê?

POR ENQUANTO,
VOCÊ AINDA PRECISA PREPARÁ-LO.

Touché, Skynet.

☕


🧠 LIÇÕES PARA O PROGRAMADOR COBOL INICIANTE

Quando alguém disser que IA surgiu para substituir programadores, lembre-se de observar uma história muito maior.

O COBOL também foi uma abstração.

O compilador automatizou trabalho.

O sistema operacional automatizou trabalho.

O banco de dados automatizou trabalho.

O scheduler automatizou trabalho.

CICS automatizou trabalho.

JES automatizou trabalho.

WLM automatizou decisões operacionais.

RACF automatizou aplicação de políticas de segurança.

A história da computação é, em enorme medida, a história de construirmos camadas para não precisarmos controlar manualmente a camada inferior.

Por isso, ao estudar COBOL, não aprenda somente sintaxe.

Aprenda:

processos.

dados.

transações.

segurança.

observabilidade.

recuperação.

arquitetura.

regras de negócio.

Porque linguagens mudam.

Interfaces mudam.

Máquinas mudam.

Mas sistemas continuam precisando responder às mesmas perguntas fundamentais:

O que precisa ser feito?

Quem pode fazer?

Com quais dados?

Dentro de quais limites?

Como sabemos que funcionou?

Como sabemos que falhou?

Quem é responsável?

Como recuperamos?

Essas perguntas existiam quando o computer era um funcionário sentado diante de uma mesa.

Continuaram existindo quando o computador virou mainframe.

Continuam existindo quando conversamos com uma inteligência artificial.

E continuarão existindo se um dia um androide entrar na cozinha e perguntar:

“Bellacosa, forte e sem açúcar?”

Nesse dia, antes de aceitar o café, faça aquilo que qualquer velho mainframer responsável faria.

Pergunte:

WHOAMI

Depois:

LISTUSER SKYNET

Só por garantia.

☕🤖

sexta-feira, 11 de setembro de 2026

🧠 Microservices sob a Batuta de Chris Knight — Real Genius, Arquitetura e a Arte de Não Construir um Laser para Aquecer Pipoca

 

Bellacosa Mainframe apresenta microservices

☕ Um Café no Bellacosa Mainframe

🧠 Microservices sob a Batuta de Chris Knight — Real Genius, Arquitetura e a Arte de Não Construir um Laser para Aquecer Pipoca

Quando todo mundo está fascinado pela tecnologia, talvez o verdadeiro gênio seja justamente aquele que pergunta: “Legal... mas por que estamos construindo isso?”

Existe uma cena mental perfeita para explicar boa parte da arquitetura de software moderna.

Imagine uma sala cheia de engenheiros brilhantes. Há diagramas nas paredes, notebooks abertos, APIs sendo desenhadas, Kubernetes em algum canto, Kafka atravessando o desenho, containers surgindo aos montes e alguém acaba de pronunciar palavras capazes de provocar arrepios em qualquer apresentação corporativa:

“Precisamos migrar para microservices.”

Todos concordam.

Alguém acrescenta:

— E microfrontends.

Outro melhora:

— Event-driven!

Do fundo da sala:

— Service mesh!

Então aparece Chris Knight, de Real Genius, observa o quadro por alguns segundos e provavelmente pergunta:

“Tá... qual problema vocês estão tentando resolver?”

Silêncio.

E é justamente aí que começa nossa conversa.

Porque transformar um desenvolvedor em arquiteto não significa ensiná-lo a colocar mais tecnologias dentro de um desenho.

Significa ensiná-lo a questionar o desenho.

Para um programador COBOL começando a olhar para arquitetura moderna, existe uma excelente notícia: você provavelmente já conhece vários dos princípios fundamentais. Talvez apenas os conheça por outros nomes.

Pegue seu café.

Hoje vamos entrar no laboratório de Chris Knight.

E alguém, por favor, esconda a pipoca.



🎬 1. Primeiro precisamos falar sobre Real Genius

Real Genius, lançado em 1985, acompanha estudantes extremamente talentosos envolvidos em um projeto científico universitário. Chris Knight, interpretado por Val Kilmer, é um daqueles personagens que parecem estar permanentemente brincando enquanto enxergam coisas que outras pessoas não percebem.

E isso combina maravilhosamente com arquitetura.

O estereótipo do arquiteto costuma ser alguém extremamente sério diante de um enorme diagrama.

Chris Knight representa quase o contrário.

Ele domina a tecnologia, mas não é hipnotizado por ela.

Essa distinção é fundamental.

Existe uma diferença enorme entre:

saber construir algo

e

saber se aquilo deveria ser construído.

Na arquitetura corporativa encontramos frequentemente pessoas extremamente competentes resolvendo brilhantemente problemas que talvez nem precisassem existir.

Microservices são um excelente exemplo.



🧱 2. “Monólito” não é palavrão

Durante alguns anos, dizer que uma aplicação era monolítica parecia quase uma confissão.

“Nosso sistema ainda é um monólito...”

Pronunciado quase como:

“Temos ratos no datacenter.”

Mas precisamos separar duas coisas:

MONÓLITO

e:

MONÓLITO RUIM

Não são sinônimos.

Imagine:

SISTEMA DE PEDIDOS
│
├── CLIENTES
├── PRODUTOS
├── PEDIDOS
├── ESTOQUE
├── PAGAMENTOS
└── FATURAMENTO

Tudo pode existir dentro da mesma aplicação.

Isso não significa necessariamente que temos uma arquitetura ruim.

Podemos possuir módulos claramente definidos, responsabilidades separadas e interfaces controladas.

Temos então aquilo que costuma ser chamado de:

Modular Monolith.

Agora compare com:

SISTEMA
│
├── tudo acessa tudo
├── qualquer módulo altera qualquer tabela
├── regras aparecem duplicadas
├── dependências circulares
└── ninguém sabe quem é dono de quê

Isso é ruim.

Mas dividir esse segundo sistema em 50 containers não elimina magicamente seus problemas.

Talvez apenas consigamos transformar:

um monólito ruim

em:

50 pequenos pedaços ruins conversando pela rede.

Chris Knight certamente acharia isso divertido.

O pessoal de produção, provavelmente menos.



🧠 3. COBOL já ensinava modularidade antes de ela ganhar slides coloridos

Vamos colocar nosso programador COBOL iniciante diante disso.

Imagine:

       CALL 'CALCJURO'
           USING WS-SALDO
                 WS-TAXA
                 WS-JUROS.

O programa principal não precisa conhecer cada detalhe do cálculo.

Ele conhece uma interface.

Existe entrada.

Existe processamento.

Existe saída.

Isso é uma forma de separação de responsabilidade.

Podemos ter:

PROGRAMA PRINCIPAL
       │
       ├── VALIDCPF
       ├── CALCJURO
       ├── CONSULTA
       └── GRAVAPGTO

Isso não são microservices.

É importante não cair nessa simplificação.

Um subprograma COBOL normalmente não possui várias características associadas a um microservice moderno, como deployment independente, isolamento operacional, endpoint de rede próprio, escalabilidade independente e ownership autônomo.

Mas existe uma ancestralidade conceitual.

Estamos falando de:

modularidade.

coesão.

baixo acoplamento.

contratos.

Esses princípios não nasceram com Docker.


🔬 4. Chris Knight perguntaria onde está a fronteira

Agora imagine que alguém encontre:

PGM001
PGM002
PGM003
...
PGM500

e proponha:

“Vamos transformar cada programa COBOL em um microservice.”

Chris Knight provavelmente levantaria a sobrancelha.

Porque programa não é necessariamente domínio de negócio.

Um sistema bancário poderia possuir algo conceitualmente parecido com:

CONTA
├── abrir
├── consultar
├── bloquear
├── movimentar
└── encerrar

Essas operações possuem relação.

Talvez façam parte de uma capacidade coerente.

Por outro lado, transformar mecanicamente:

PGM001 → SERVICE001
PGM002 → SERVICE002
PGM003 → SERVICE003

não constitui arquitetura.

É conversão de inventário.

Uma boa fronteira deveria tentar responder:

Quem é responsável por esta capacidade?

Quais dados pertencem a ela?

Quem pode modificá-los?

Que contrato oferecemos ao restante do sistema?

Esse raciocínio nos aproxima de conceitos como bounded contexts e Domain-Driven Design.


🚪 5. Então aparece o API Gateway

Nos diagramas modernos frequentemente encontramos:

                 FRONTEND
                    │
                    ▼
              API GATEWAY
                    │
        ┌───────────┼───────────┐
        ▼           ▼           ▼
     PRODUCT      BASKET      ADVERT
     SERVICE      SERVICE     SERVICE

O gateway funciona como uma porta de entrada.

Ele pode participar de tarefas como roteamento, autenticação, autorização, controle de tráfego, transformação e observabilidade.

Isso evita que o consumidor precise conhecer detalhes demais da infraestrutura interna.

Para quem trabalha com mainframe, existe aqui uma conexão importantíssima.

Suponha:

MOBILE
   │
   ▼
REST API
   │
   ▼
API LAYER
   │
   ▼
CICS
   │
   ▼
COBOL
   │
   ▼
Db2

O aplicativo móvel não precisa saber que existe COBOL.

Aliás, ele não deveria precisar saber.

Para ele existe:

GET /accounts/123

Atrás disso pode existir uma transação CICS construída anos atrás.

Isso nos leva a uma das ideias mais importantes deste artigo:

Modernizar a interface de um sistema não exige necessariamente reescrever seu coração.


⚡ 6. “Mas microservices escalam!”

Sim.

E aqui Chris Knight provavelmente responderia:

“Qual parte precisa escalar?”

Imagine uma loja:

CATÁLOGO
50.000 req/s

PAGAMENTO
2.000 req/s

RELATÓRIOS
200 req/s

Se tudo estiver dentro de uma aplicação indivisível, talvez seja necessário escalar todo o conjunto.

Com serviços independentes, podemos ter:

CATÁLOGO
████████████████████

PAGAMENTO
████

RELATÓRIO
█

Agora temos uma vantagem concreta.

Não estamos usando microservices porque são modernos.

Estamos usando porque determinadas capacidades possuem características operacionais diferentes.

Esse é pensamento arquitetural.


🌐 7. Só existe um pequeno problema chamado rede

No COBOL podemos ter:

CALL 'VALIDA' USING WS-DADOS.

Agora transforme conceitualmente essa interação em:

SERVICE-A
    │
    │ HTTP
    ▼
SERVICE-B

Parece semelhante no PowerPoint.

Na operação, não é.

O Service B pode estar indisponível.

A rede pode estar congestionada.

O DNS pode falhar.

A resposta pode demorar.

A conexão pode cair.

A solicitação pode ser processada e a resposta se perder.

Aí Service A pensa:

“Não recebi resposta. Vou tentar novamente.”

Só que Service B executou a operação.

Parabéns.

Talvez você tenha cobrado o cliente duas vezes.


🔁 8. Bem-vindo ao maravilhoso mundo dos retries

Precisamos começar a pensar em:

timeout
retry
backoff
circuit breaker
idempotency
correlation ID
distributed tracing

Suponha:

POST /payment

A chamada chega.

O pagamento é processado.

A resposta desaparece.

O consumidor repete:

POST /payment

O sistema precisa conseguir perceber:

“Eu já processei esta operação.”

Daí surge a importância de idempotência.

Por exemplo:

IDEMPOTENCY-KEY: TX-928374

Se a mesma operação chegar novamente, podemos reconhecer que ela já aconteceu.

Observe como algo que parecia simplesmente:

A → B

acabou se tornando uma discussão arquitetural inteira.

Essa é uma das contas escondidas dos sistemas distribuídos.


💾 9. E então chegamos aos dados

Aqui começa a diversão de verdade.

Em um monólito podemos encontrar:

APPLICATION
     │
     ▼
    DB2

Uma transação pode executar várias operações e depois:

COMMIT

ou:

ROLLBACK

É uma ideia maravilhosa.

Tudo funcionou?

COMMIT.

Alguma coisa falhou?

ROLLBACK.

Agora distribua:

ORDER SERVICE
      │
      ▼
ORDER DB

PAYMENT SERVICE
      │
      ▼
PAYMENT DB

STOCK SERVICE
      │
      ▼
STOCK DB

Uma compra precisa:

criar pedido
reservar estoque
autorizar pagamento
emitir nota
solicitar entrega

Quem controla a transação?

Agora a resposta pode envolver eventos, mensagens, compensações, Saga Pattern e consistência eventual.


🍿 10. O microservice que virou laser de pipoca

Aqui está nossa metáfora Real Genius.

Imagine que o requisito fosse:

aquecer pipoca.

A primeira equipe sugere:

panela

Outra diz:

micro-ondas

Então o arquiteto extremamente entusiasmado apresenta:

satélite
     ↓
laser de alta potência
     ↓
espelho orbital
     ↓
sistema de coordenadas
     ↓
pipoca

Funciona?

Provavelmente conseguimos inventar uma maneira.

É impressionante?

Sem dúvida.

Era necessário?

Aí está a pergunta.

Em software fazemos exatamente isso.

Requisito:

600 usuários
CRUD
4 desenvolvedores
1 release mensal

Arquitetura proposta:

37 microservices
Kubernetes
Kafka
service mesh
Redis
API Gateway
15 databases
distributed tracing
GitOps
multi-cloud

E alguém precisa perguntar:

“Nós estamos construindo uma aplicação ou tentando ganhar a feira de ciências?”


🕸️ 11. O monólito distribuído

Existe uma criatura particularmente cruel.

Ela possui microservices no diagrama:

A → B → C → D → E

Mas A não consegue funcionar sem B.

B depende de C.

C depende de D.

Todos compartilham dados.

Precisam ser publicados juntos.

Uma alteração em E exige mudanças em A.

Temos então algo parecido com:

Distributed Monolith.

Conseguimos preservar o acoplamento do monólito e adicionar:

latência
rede
timeouts
deployment
containers
observabilidade
versionamento
falhas distribuídas

É quase uma obra de arte.

Chris Knight estaria impressionado.


📡 12. Observabilidade deixa de ser luxo

Imagine uma operação:

APP
 ↓
GATEWAY
 ↓
ORDER
 ↓
PAYMENT
 ↓
BROKER
 ↓
FRAUD
 ↓
BANK

Às 03:17, toca o telefone.

Easter egg encontrado. ☕

O cliente foi cobrado, mas o pedido não existe.

Agora precisamos reconstruir a viagem daquela transação.

Precisamos de algo parecido com:

TRACE-ID = ABC938271

Esse identificador acompanha a operação:

Gateway  ABC938271
Order    ABC938271
Payment  ABC938271
Fraud    ABC938271
Bank     ABC938271

Finalmente podemos reconstruir a história.

Esse é o valor do distributed tracing.

Em sistemas distribuídos, logs isolados deixam de contar a história completa.

Precisamos correlacioná-los.


🎯 13. Microservices não são principalmente uma decisão tecnológica

Aqui encontramos uma das maiores curiosidades da arquitetura.

Microservices também são uma decisão organizacional.

Imagine uma empresa com 300 desenvolvedores divididos em equipes:

CATALOG TEAM
PAYMENT TEAM
ORDER TEAM
SHIPPING TEAM
CUSTOMER TEAM

Se cada equipe puder controlar uma capacidade com ciclo próprio:

code
 ↓
test
 ↓
deploy
 ↓
operate

a independência arquitetural pode trazer enorme valor.

Agora imagine quatro desenvolvedores mantendo tudo.

Criar 40 serviços talvez não proporcione autonomia.

Talvez proporcione 40 coisas para quatro pessoas cuidarem.

Arquitetura precisa considerar a organização que vai operá-la.


🧩 14. Microfrontends repetem a experiência

Depois dos microservices alguém percebeu:

“E o frontend?”

Surge então:

Microfrontends.

Podemos ter:

BASE APPLICATION
│
├── PRODUCT
├── BASKET
└── ADVERT

Equipes diferentes podem desenvolver partes da experiência.

Em organizações enormes isso pode oferecer independência.

Mas imediatamente surgem novas perguntas.

Quem controla o design?

Quem controla as bibliotecas?

Como evitamos duplicação?

Como mantemos performance?

Como garantimos experiência consistente?

Outra vez:

Todo benefício arquitetural compra alguma complexidade.

A pergunta é se vale o preço.


🤖 15. “Micro/vibe everything” é mais perigoso do que parece

A imagem original contém uma pequena provocação maravilhosa:

Micro/vibe everything.

Em plena era da IA generativa, isso merece atenção.

Hoje podemos pedir:

“Crie 15 microservices para uma plataforma de vendas.”

E minutos depois receber:

/auth
/customer
/product
/order
/payment
/shipping
/inventory
/notification
/recommendation
...

Temos Dockerfiles.

APIs.

Testes.

YAML.

Filas.

Bancos.

Tudo parece extraordinariamente profissional.

Só existe uma questão:

Por que 15?

Talvez fossem necessários três.

Talvez oito.

Talvez nenhum.

IA reduziu dramaticamente o custo de produzir código.

Mas isso não reduz automaticamente o custo de:

possuir o código.

Alguém terá que entender, testar, proteger, atualizar, observar e recuperar aquilo.

Esta talvez seja uma das maiores mudanças para o arquiteto moderno:

Quanto mais barato fica criar complexidade, mais valiosa fica a capacidade de recusá-la.


🏛️ 16. O velho mainframe entra no laboratório

Aqui nosso programador COBOL pode sorrir.

Mainframes corporativos carregam décadas de lições sobre:

contratos
compatibilidade
transações
workload
segurança
mensageria
recuperação
disponibilidade
observabilidade

Sistemas antigos sobreviveram não porque nunca mudaram.

Sobreviveram justamente porque conseguiram mudar preservando contratos importantes.

Podemos encontrar algo como:

React
   ↓
REST
   ↓
API
   ↓
CICS
   ↓
COBOL
   ↓
Db2

E isso não deveria provocar vergonha arquitetural.

Talvez seja uma arquitetura excelente.

O frontend pode ser substituído.

A API pode evoluir.

A camada de integração pode mudar.

Enquanto isso, uma rotina COBOL comprovada durante bilhões de transações continua fazendo exatamente aquilo para que foi construída.

Chris Knight provavelmente perguntaria:

“Se funciona, escala, é seguro e atende ao negócio... exatamente por que vocês querem reescrever?”

Excelente pergunta.


🧠 17. O que realmente transforma Engineer em Architect

Não é Kubernetes.

Não é Kafka.

Não é AWS, Azure ou qualquer outra plataforma.

Não é conhecer cinquenta design patterns.

A transformação acontece quando mudamos de:

COMO CONSTRUO?

para:

POR QUE CONSTRUIR?

QUAL PROBLEMA?

QUAL ESCALA?

QUAL SLA?

QUAL CUSTO?

COMO FALHA?

COMO RECUPERA?

COMO OBSERVAMOS?

QUEM MANTÉM?

COMO EVOLUI?

QUAL É A ALTERNATIVA MAIS SIMPLES?

Um arquiteto não deveria ser simplesmente o profissional capaz de desenhar mais caixas.

Às vezes sua maior contribuição é pegar o desenho:

□ → □ → □ → □ → □
       ↓
       □
       ↓
   □ → □ → □

e perguntar:

“Podemos fazer isso com três?”


⚖️ 18. A regra Bellacosa-Chris Knight

Podemos transformar toda esta conversa em uma pequena regra:

Não escolha uma arquitetura porque consegue construí-la. Escolha porque consegue justificar sua existência.

Microservices podem ser extraordinários.

Um modular monolith também.

Event-driven architecture pode resolver problemas difíceis.

Uma chamada síncrona simples também.

Kafka pode ser fantástico.

Uma fila MQ pode continuar sendo exatamente aquilo que o problema exige.

REST pode ser perfeito.

Uma transação CICS pode estar executando sua função impecavelmente há décadas.

O arquiteto não deveria possuir religião tecnológica.

Deveria possuir critérios.


🔬 19. Passo a passo: antes de escolher microservices

Quando alguém disser:

“Precisamos de microservices.”

Faça o exercício Chris Knight.

Primeiro pergunte:

Qual problema atual queremos resolver?

Depois:

Precisamos de deployment independente?

Depois:

Partes diferentes precisam escalar independentemente?

Depois:

Existem boundaries de negócio claros?

Depois:

As equipes realmente possuem autonomia?

Depois:

Temos CI/CD maduro?

Depois:

Temos observabilidade?

Depois:

Sabemos operar sistemas distribuídos?

Depois:

Como trataremos consistência de dados?

Finalmente:

Um modular monolith resolveria?

Se ninguém consegue responder à primeira pergunta, não precisamos discutir a décima.


🎓 20. A lição para o programador COBOL iniciante

Se você está começando COBOL e olha para diagramas modernos pensando:

“Meu Deus, preciso aprender tudo isso antes de entender arquitetura.”

Não.

Comece pelos fundamentos.

Entenda profundamente:

dados
interfaces
responsabilidades
transações
dependências
falhas
contratos
estado
recuperação

Aprenda por que existe:

CALL

Entenda por que existe:

COMMIT

Entenda por que existe:

ROLLBACK

Entenda arquivos, Db2, VSAM, CICS e mensageria.

Depois olhe novamente para microservices.

Você começará a reconhecer velhos problemas usando roupas novas.

Naturalmente, sistemas distribuídos trouxeram desafios e soluções próprias. Não devemos fingir que um CALL COBOL e uma chamada HTTP são equivalentes.

Mas ambos obrigam o arquiteto a pensar:

Quem chama quem?

Qual é o contrato?

O que acontece quando falha?

Essas perguntas atravessam gerações tecnológicas.


🍿 Epílogo — alguém trouxe pipoca?

No final, talvez essa seja a melhor contribuição de Chris Knight para nossa imaginária aula de arquitetura.

Tecnologia pode — e deve — ser divertida.

Precisamos experimentar.

Precisamos construir protótipos.

Precisamos estudar microservices, containers, APIs, eventos, IA e tudo aquilo que surgir depois.

Mas devemos conservar uma pequena irreverência diante das modas.

Quando uma apresentação disser:

“Todo mundo está migrando para microservices.”

Pergunte:

Por quê?

Quando disserem:

“Precisamos quebrar o monólito.”

Pergunte:

Onde exatamente ele está nos prejudicando?

Quando disserem:

“Precisamos de 70 serviços.”

Pergunte:

Por que 70?

E quando alguém apresentar uma arquitetura gigantesca para resolver um problema relativamente pequeno, imagine Chris Knight entrando na reunião, olhando aquele maravilhoso laser tecnológico apontado para uma simples panela de milho e perguntando:

“Vocês sabem que existe um jeito mais fácil de fazer pipoca, não sabem?”

Essa é a diferença entre conhecer tecnologia e compreender arquitetura.

O desenvolvedor aprende a construir o laser.

O engenheiro aprende a fazê-lo funcionar.

O arquiteto calcula potência, disponibilidade, segurança e custo.

Mas o Real Genius olha para o requisito e pergunta:

“A gente precisava mesmo do laser?”

☕ Bellacosa Mainframe — porque às 03:17 da madrugada, simplicidade também é uma feature.

Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...