☕ 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 observabilidade. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta observabilidade. Mostrar todas as mensagens

quinta-feira, 25 de junho de 2026

Technical Debt, Chaos Engineering e Resiliência no Mundo COBOL

 

Bellacosa Mainframe e divida tecnica, engenharia do caos e resiliencia no mundo mainframe

☕ Um Café no Bellacosa Mainframe

Technical Debt, Chaos Engineering e Resiliência no Mundo COBOL

Uma viagem dos cartões perfurados à engenharia de confiabilidade moderna

Existe uma curiosidade interessante sobre o universo Mainframe.

Boa parte dos desenvolvedores mais jovens acredita que sistemas COBOL foram escritos uma única vez, colocados em produção em algum momento dos anos 80 e simplesmente ficaram funcionando até hoje, imutáveis, como fósseis tecnológicos preservados em um museu digital.

A realidade é completamente diferente.

Poucas plataformas de tecnologia evoluíram tanto quanto o ecossistema IBM Z.

O hardware mudou.

O sistema operacional mudou.

Os compiladores mudaram.

As técnicas de desenvolvimento mudaram.

A forma de entregar software mudou.

As exigências regulatórias mudaram.

E os desenvolvedores também precisaram mudar.

Hoje falamos sobre APIs REST, Git, DevOps, Inteligência Artificial, Observabilidade, Chaos Engineering e Cloud Native. Entretanto, curiosamente, os sistemas que movimentam bilhões de dólares por dia continuam sendo executados por programas COBOL escritos há décadas.

Seria isso uma contradição?

Na verdade, não.

Talvez seja justamente uma demonstração de sucesso.

O primeiro legado não foi um erro

Em 1959 nasceu o COBOL.

Naquela época não existiam metodologias ágeis.

Não existia internet.

Não existiam smartphones.

Muitos programas eram escritos em cartões perfurados.

Armazenamento era caro.

Memória era limitada.

CPU era um recurso precioso.

As equipes construíam software pensando em algo muito importante:

Confiabilidade.

A aplicação precisava funcionar.

Sempre.

Mesmo que demorasse algumas horas para processar milhares de contas bancárias durante a madrugada.

Foi nesse ambiente que nasceu uma cultura extremamente disciplinada.

Documentação.

Padrões.

Controle de mudanças.

Testes.

Auditorias.

Processos.

Talvez os desenvolvedores daquela época não soubessem, mas estavam criando alguns dos primeiros conceitos de Engenharia de Confiabilidade.

Technical Debt: a dívida que todos nós fazemos

Em 1992, Ward Cunningham criou uma analogia brilhante.

Ele comparou decisões de desenvolvimento com empréstimos bancários.

Imagine que você precise entregar um sistema até sexta-feira.

Você poderia construir uma solução perfeita.

Ou poderia desenvolver algo funcional, mais simples, entregando rapidamente.

Você ganha velocidade.

Mas assume uma dívida.

E como toda dívida, ela possui juros.

Esses juros aparecem de várias formas.

Mais bugs.

Mais incidentes.

Mais retrabalho.

Maior consumo de CPU.

Maior dificuldade de manutenção.

Menor velocidade de inovação.

No Mainframe isso acontece frequentemente.

Talvez exista um programa COBOL com 25 mil linhas.

Talvez exista um COPYBOOK criado em 1987.

Talvez apenas um profissional conheça determinada aplicação.

Tudo isso representa dívida técnica.

O problema não é possuir dívida.

O problema é não saber que ela existe.

Nem toda dívida é ruim

Muitos desenvolvedores iniciantes acreditam que Technical Debt sempre significa erro.

Não é verdade.

Às vezes ela é estratégica.

Um banco pode precisar adequar sistemas rapidamente para atender uma nova regulamentação do BACEN.

Uma seguradora pode precisar disponibilizar um novo produto imediatamente.

Uma fintech pode lançar um MVP para validar mercado.

Nesses casos, assumir dívida técnica pode ser perfeitamente aceitável.

Desde que exista um plano para pagá-la posteriormente.

E aqui encontramos uma das primeiras lições importantes para um desenvolvedor COBOL júnior:

Escreva código pensando que alguém precisará entendê-lo daqui a dez anos.

Esse alguém pode ser você mesmo.

O mito da reescrita completa

Existe uma frase bastante comum em empresas:

"Precisamos jogar tudo fora."

Geralmente essa frase surge quando o ambiente está muito complexo.

Mas a IBM apresenta uma visão diferente.

Você não precisa substituir quarenta anos de sistemas.

Você pode modernizar gradualmente.

Esse conceito ficou conhecido como Strangler Pattern.

Imagine um sistema COBOL que processa contas correntes.

Ele continua funcionando.

Mas uma nova camada é criada.

z/OS Connect.

APIs REST.

Microserviços.

Containers.

Aplicações Java.

Python.

Inteligência Artificial.

O COBOL permanece processando transações críticas.

As aplicações modernas apenas consomem seus serviços.

A dívida começa a diminuir sem que seja necessário desligar o coração operacional da empresa.

Testes automatizados são seus melhores amigos

Durante muitos anos, testar em Mainframe significava reservar uma janela de homologação.

Executar jobs.

Analisar relatórios.

Esperar dias.

Hoje isso mudou.

Ferramentas como zUnit permitem criar testes automatizados.

Jenkins integra pipelines.

GitHub Actions executa validações.

DBB facilita builds.

Zowe aproxima o mundo Mainframe das práticas DevOps modernas.

Se você está começando em COBOL, desenvolva o hábito de pensar:

"O que acontece se o CPF estiver inválido?"

"E se a data vier vazia?"

"E se houver overflow?"

Programadores experientes não escrevem apenas funcionalidades.

Eles escrevem confiança.

Code Review: aprendendo com outros desenvolvedores

Uma das melhores maneiras de evoluir tecnicamente é revisar código.

Olhar programas COBOL antigos.

Analisar SQL.

Entender JCLs.

Perguntar.

Questionar.

Aprender.

Muitos problemas são identificados antes mesmo de chegar à produção.

Um cursor esquecido.

Um COMMIT ausente.

Um SORT desnecessário.

Uma consulta DB2 sem índice adequado.

Dois pares de olhos normalmente enxergam mais do que um.

Refatoração não significa reescrever

Refatorar é melhorar.

Não é destruir.

Não é começar do zero.

Pequenas melhorias acumuladas ao longo do tempo fazem enorme diferença.

Renomear variáveis.

Extrair rotinas.

Separar módulos.

Eliminar GOTO.

Criar serviços reutilizáveis.

Transformar programas gigantes em componentes menores.

Refatoração contínua é uma das formas mais eficientes de pagar Technical Debt.

Observabilidade: enxergando o que realmente acontece

Existe uma frase bastante conhecida:

Se você não consegue medir, não consegue melhorar.

No mundo IBM Z temos ferramentas extraordinárias.

SMF.

RMF.

OMEGAMON.

Instana.

Grafana.

Elas permitem compreender:

CPU.

I/O.

Latência.

Filas.

Conexões.

Transações.

Antes de corrigir qualquer problema, precisamos enxergá-lo.

Observabilidade é a base da engenharia moderna.

Chaos Engineering: quebrando para aprender

Talvez o conceito mais surpreendente para desenvolvedores COBOL seja Chaos Engineering.

A ideia surgiu popularmente na Netflix.

Mas a IBM mostra que ela pode ser aplicada em praticamente qualquer ambiente.

O princípio é simples.

Não espere uma falha em produção.

Provoque pequenas falhas.

Aprenda.

Corrija.

Teste novamente.

Por exemplo:

O que acontece se o IMS Connect ficar indisponível?

Se a fila MQ atingir 95% de ocupação?

Se um membro do Sysplex parar?

Se o DB2 responder lentamente?

Chaos Engineering não significa desligar servidores aleatoriamente.

É ciência.

Você cria uma hipótese.

Executa um experimento controlado.

Observa.

Aprende.

Melhora.

Repete.

Resiliência é um investimento

A IBM utiliza uma analogia muito interessante.

Imagine um ciclista.

Ele pode sair apenas com a bicicleta.

Ou levar uma bomba de ar.

Kit de reparo.

Câmara reserva.

Pneu reserva.

Carro de apoio.

Mecânico.

Quanto maior a disponibilidade desejada, maior será o custo.

Em tecnologia ocorre exatamente o mesmo.

Alta disponibilidade.

Disaster Recovery.

Cyber Recovery.

Backups.

Replicação.

GDPS.

Sysplex.

Active-Active.

Tudo possui custo.

O objetivo não é atingir disponibilidade infinita.

O objetivo é encontrar equilíbrio entre risco, orçamento e necessidade do negócio.

O desenvolvedor COBOL de 2026

O profissional COBOL moderno não é apenas alguém que conhece MOVE, PERFORM e READ.

Ele entende Git.

Conhece APIs.

Aprende DevOps.

Sabe interpretar métricas.

Participa de revisões.

Automatiza testes.

Compreende observabilidade.

Conhece conceitos de segurança.

Entende resiliência.

Estuda Inteligência Artificial.

E principalmente, continua cultivando algo que sempre esteve presente no universo Mainframe:

Disciplina técnica.

Os sistemas que movimentam bilhões de transações diariamente não permanecem relevantes por acaso.

Eles permanecem relevantes porque existem profissionais dispostos a compreender o passado, melhorar continuamente o presente e testar constantemente o futuro.

E talvez seja exatamente essa a maior lição do Mainframe.

Tecnologia muda.

Ferramentas mudam.

Buzzwords mudam.

Mas excelência em engenharia continua sendo atemporal.

E isso, felizmente, nunca sai de moda.

Até o próximo café.

☕ Bellacosa Mainframe


Bellacosa Mainframe Network

Siga nossas newsletters e comunidades no LinkedIn

domingo, 31 de maio de 2026

☕🔥💣 O SYSprog PADAWAN E A ARTE DA GUERRA CONTRA O CAOS

 

Bellacosa Mainframe a arte da guerra contra o caos conheça o RCA

☕🔥💣 O SYSprog PADAWAN E A ARTE DA GUERRA CONTRA O CAOS

Root Cause Analysis no IBM Mainframe: Por Que Reiniciar o CICS Não Resolve Seus Problemas

Existe uma frase muito comum nos corredores dos data centers:

"Reinicia que volta."

Durante décadas ela funcionou.

O CICS travou?

Reinicia.

O batch falhou?

Roda de novo.

O MQ congestionou?

Dá STOP e START.

O JES2 ficou estranho?

Cancela alguns jobs.

O storage explodiu?

Aumenta a região.

O problema é que essa mentalidade criou gerações de profissionais especialistas em apagar incêndios, mas não necessariamente especialistas em eliminar incêndios.

E existe uma diferença gigantesca entre as duas coisas.

O verdadeiro profissional de Mainframe moderno não é aquele que resolve o incidente mais rápido.

É aquele que garante que o incidente nunca mais aconteça.

É aí que entra uma das disciplinas mais importantes da engenharia moderna:

Root Cause Analysis (RCA)

Ou, em português:

Análise de Causa Raiz

Uma habilidade que separa o operador comum do engenheiro de confiabilidade.


O INCIDENTE NÃO É O PROBLEMA

Este é talvez o conceito mais importante de todo o artigo.

Quando um sistema cai, aquilo que você vê não é o problema.

É apenas a consequência visível.

Imagine uma transação CICS que começa a responder lentamente.

O usuário reclama.

O suporte abre um chamado.

O operador percebe aumento de CPU.

O time de infraestrutura aumenta recursos.

Tudo parece resolvido.

Mas alguns dias depois o problema volta.

Por quê?

Porque ninguém investigou a causa raiz.

A lentidão era apenas um sintoma.

O problema verdadeiro talvez fosse:

  • SQL ineficiente

  • Índice DB2 corrompido

  • Loop em programa COBOL

  • Fila MQ congestionada

  • Deadlock de recursos

  • Automação mal configurada

Resolver o sintoma gera alívio.

Resolver a causa gera evolução.


O MAIOR PECADO DA TI MODERNA

A Harvard Business Review publicou um estudo mostrando que a maioria dos executivos acredita que suas organizações são ruins em diagnosticar problemas.

Isso não surpreende.

A cultura corporativa moderna recompensa velocidade.

Poucas vezes recompensa investigação.

A pressão é sempre:

"Volta o sistema agora."

Raramente alguém pergunta:

"Por que ele caiu?"

E menos ainda:

"Como impedimos que isso aconteça novamente?"


O DETETIVE DIGITAL

Um bom profissional de RCA pensa como um investigador.

Quando ocorre uma falha ele não procura imediatamente uma solução.

Primeiro procura evidências.

Ele coleta:

  • SYSLOG

  • JESMSGLG

  • SMF

  • RMF

  • Dumps

  • Traces

  • Mensagens CICS

  • Logs DB2

  • Eventos MQ

  • Métricas OMEGAMON

Cada informação conta parte da história.

Nenhum log isolado revela a verdade completa.

O segredo está na correlação.


O CASO DO BATCH QUE ATRASAVA TODA SEXTA-FEIRA

Vamos analisar um exemplo realista.

Toda sexta-feira o processamento noturno atrasava duas horas.

A primeira reação foi aumentar os initiators JES2.

Funcionou por algumas semanas.

Depois o atraso voltou.

Nova tentativa:

Mais CPU.

Mais memória.

Mais canais.

Nada resolveu.

Quando uma análise de causa raiz foi finalmente realizada, descobriu-se que um programa COBOL executava uma consulta DB2 sem índice adequado.

Toda sexta-feira havia crescimento no volume de dados.

A consulta que normalmente levava segundos passava a consumir minutos.

Um único SQL provocava efeito cascata em dezenas de jobs dependentes.

A verdadeira solução não foi comprar hardware.

Foi corrigir um SQL.


O MÉTODO DOS CINCO PORQUÊS

Uma técnica clássica de RCA é conhecida como:

Five Whys

Cinco Porquês.

Exemplo:

Problema:

Batch falhou.

Por quê?

Dataset estava bloqueado.

Por quê?

Outro job mantinha ENQ.

Por quê?

Entrou em loop.

Por quê?

SQL aguardava retries.

Por quê?

Índice DB2 estava inconsistente.

Agora temos a causa raiz.

Observe que a resposta verdadeira apareceu apenas após várias camadas de investigação.


O INIMIGO INVISÍVEL CHAMADO CULTURA

Muitas vezes a causa raiz não está no software.

Nem no hardware.

Nem na rede.

Está nas pessoas.

Considere o seguinte cenário.

Um deploy derruba produção.

A primeira conclusão costuma ser:

"O desenvolvedor errou."

Mas uma análise profunda pode revelar:

  • Prazo impossível

  • Falta de testes

  • Ausência de homologação

  • Pressão da gestão

  • Processo de aprovação falho

O erro humano foi apenas o último elo da corrente.

A verdadeira falha estava no sistema organizacional.


O MODELO DE CONGRUÊNCIA

Uma abordagem extremamente interessante utilizada em liderança organizacional é o Modelo de Congruência.

Ele analisa cinco dimensões:

Trabalho

O que precisa ser feito?

Dependências

Quem depende de quem?

Capacidades

As pessoas possuem conhecimento suficiente?

Estrutura

A organização facilita ou dificulta o trabalho?

Cultura

Os comportamentos desejados são incentivados?

No Mainframe isso é extremamente aplicável.

Não adianta investir milhões em Z17 se:

  • a equipe não recebe treinamento

  • a documentação está desatualizada

  • os processos são confusos

  • ninguém entende as integrações


O MAINFRAME MODERNO É UM ECOSSISTEMA

Nos anos 80 era relativamente fácil identificar falhas.

Hoje um único fluxo pode envolver:

  • COBOL

  • CICS

  • DB2

  • MQ

  • APIs REST

  • Kafka

  • Cloud

  • Linux on Z

  • Zowe

  • DevOps

A causa raiz pode estar em qualquer lugar.

Ou em vários lugares simultaneamente.

Por isso a investigação precisa ser sistêmica.


A ARMADILHA DO "SEMPRE FOI ASSIM"

Uma das causas mais perigosas de incidentes recorrentes é a complacência.

Frases famosas:

"Isso acontece às vezes."

"Sempre fizemos assim."

"Nunca deu problema."

São frases que deveriam acender alertas imediatos.

Porque normalmente escondem riscos acumulados durante anos.


COMO REALIZAR UM RCA NO MAINFRAME

Passo 1 — Definir o Problema

Não investigue algo genérico.

Errado:

"O sistema está ruim."

Correto:

"O CICS CICSPRD apresentou aumento de resposta de 0,3 para 8 segundos entre 14h e 15h."

Problemas bem definidos geram investigações eficientes.


Passo 2 — Coletar Evidências

Reúna:

  • logs

  • métricas

  • dumps

  • relatórios

  • eventos

Sem dados você possui apenas opiniões.


Passo 3 — Construir a Linha do Tempo

Pergunte:

O que aconteceu primeiro?

O que aconteceu depois?

Qual evento precedeu a falha?

Muitas causas aparecem quando organizamos os fatos cronologicamente.


Passo 4 — Correlacionar Eventos

Um erro aparentemente isolado pode estar conectado a dezenas de outros eventos.

O desafio é encontrar essas relações.


Passo 5 — Aplicar os Cinco Porquês

Continue perguntando:

Por quê?

Até chegar à origem.


Passo 6 — Validar a Hipótese

A hipótese precisa ser comprovada.

Não basta parecer correta.

Ela deve explicar:

  • o incidente

  • os sintomas

  • a recorrência


Passo 7 — Criar Plano de Ação

A correção deve:

  • eliminar a causa

  • reduzir riscos

  • ser mensurável


FERRAMENTAS ESSENCIAIS PARA RCA NO Z/OS

RMF

Identifica gargalos de performance.

SMF

Registra praticamente tudo que acontece.

IPCS

Análise de dumps.

OMEGAMON

Observabilidade avançada.

SDSF

Investigação operacional.

NetView

Correlação de eventos.

System Automation

Automação e recuperação.

JES2

Análise de filas, execução e spool.


O FUTURO: AIOPS E RCA AUTOMATIZADO

Estamos entrando em uma era fascinante.

Ferramentas modernas conseguem:

  • detectar anomalias

  • prever falhas

  • correlacionar eventos

  • sugerir causas prováveis

AIOps não substitui o analista.

Mas amplifica sua capacidade.

O profissional moderno utilizará IA para acelerar investigações complexas.


ONDE A MAIORIA DAS EMPRESAS ERRA

As falhas mais comuns são:

Falta de documentação

Sem histórico não existe aprendizado.

Ausência de postmortem

O incidente é resolvido e esquecido.

Busca por culpados

Pessoas escondem erros quando temem punição.

Falta de métricas

Sem observabilidade não existe RCA.

Correções paliativas

Workarounds substituem soluções definitivas.


COMO EVOLUIR SUA ORGANIZAÇÃO

Empresas maduras desenvolvem cultura de aprendizado.

Após cada incidente perguntam:

  • O que aconteceu?

  • Por que aconteceu?

  • Como detectamos?

  • Como evitaremos recorrência?

  • O que aprendemos?

Essa simples mudança transforma organizações.


O SYSprog PADAWAN E O MESTRE

O Padawan reinicia.

O Mestre investiga.

O Padawan fecha chamados.

O Mestre elimina problemas.

O Padawan trata sintomas.

O Mestre trata causas.

O Padawan celebra quando o sistema volta.

O Mestre celebra quando o sistema não cai novamente.

Essa é a verdadeira evolução profissional.


CONCLUSÃO

Root Cause Analysis não é apenas uma metodologia.

É uma filosofia.

É a diferença entre sobreviver e evoluir.

No mundo do IBM Z17, DevOps, observabilidade, automação e inteligência artificial, a capacidade de descobrir a causa raiz tornou-se uma das habilidades mais valiosas da engenharia moderna.

Porque reiniciar um sistema pode resolver um incidente.

Mas apenas entender a causa raiz pode impedir que ele volte.

E é exatamente isso que separa um operador de console de um arquiteto da estabilidade.

No final das contas, o verdadeiro inimigo nunca foi o abend.

Nunca foi o dump.

Nunca foi o job cancelado.

O verdadeiro inimigo sempre foi aquilo que ninguém investigou.


quinta-feira, 28 de maio de 2026

☕🔥💣 “O SYSprog PADAWAN E A ARTE DA GUERRA CONTRA O CAOS” — ROOT CAUSE ANALYSIS NO MAINFRAME Z17, DEVOPS, CICS, JES2 E A CAÇADA À CAUSA RAIZ

 

Bellacosa Mainframe e root cause analysis em Mainframe


☕🔥💣 “O SYSprog PADAWAN E A ARTE DA GUERRA CONTRA O CAOS” — ROOT CAUSE ANALYSIS NO MAINFRAME Z17, DEVOPS, CICS, JES2 E A CAÇADA À CAUSA RAIZ

Quando o operador para de apagar incêndios e começa a eliminar demônios do datacenter

Existe um momento na vida de todo Sysprog Padawan em que ele percebe uma verdade brutal do universo corporativo:

“Reiniciar o JOB não resolveu o problema…”

Apenas escondeu o cadáver.

E é exatamente nesse momento que nasce a verdadeira disciplina do guerreiro IBM Z:
a arte da Root Cause Analysis — ou simplesmente RCA.

No universo do mainframe moderno, onde bilhões de transações passam por CICS, DB2, MQ, IMS e JES2, problemas não aparecem do nada.

Todo ABEND possui uma origem.

Todo LOOP tem um motivo.

Todo dataset corrompido conta uma história.

E todo operador experiente sabe:

“O sintoma mente. A causa raiz não.”

Hoje vamos mergulhar profundamente no universo da RCA no estilo Bellacosa Mainframe, explorando:

  • história,

  • filosofia,

  • métodos,

  • guerra operacional,

  • automação,

  • observabilidade,

  • DevOps,

  • IA operacional,

  • e sobrevivência psicológica em ambientes z/OS críticos.

Prepare o café.
Abra o SDSF.
E mantenha o dump por perto.

Porque o LOBO da causa raiz está observando.


☕ O QUE É ROOT CAUSE ANALYSIS?

Root Cause Analysis é a ciência de descobrir a verdadeira origem de um problema.

Não o sintoma.
Não o efeito.
Não o caos superficial.

Mas sim:
o gatilho original que iniciou a cascata da destruição.

Na definição da IBM:

“RCA é o processo de identificar a raiz de um problema para evitar sua recorrência.”

O detalhe importante aqui é:

EVITAR RECORRÊNCIA.

Porque qualquer novato consegue:

  • cancelar TASK,

  • reiniciar STC,

  • reciclar CICS,

  • dar IPL no desespero.

Mas poucos conseguem impedir o problema de voltar.


☕ A DIFERENÇA ENTRE OPERADOR E ENGENHEIRO

Operador reativo:

“Voltou a funcionar? Ótimo.”

Engenheiro RCA:

“Por que parou?”

Essa diferença separa:

  • operadores comuns,

  • Sysprogs lendários.


☕ A ORIGEM HISTÓRICA DA RCA

A RCA não nasceu na TI.

Ela surgiu em ambientes extremos.

Segunda Guerra Mundial

Engenheiros militares precisavam descobrir:

  • por que aviões caíam,

  • por que motores explodiam,

  • por que radares falhavam.

Não havia espaço para tentativa e erro.

A falha matava pessoas.

A filosofia então evoluiu para:

  • engenharia industrial,

  • indústria nuclear,

  • aviação,

  • automóveis,

  • telecom,

  • e finalmente TI corporativa.


☕ TOYOTA E O MÉTODO DOS 5 WHYs

Nos anos 1950, Taiichi Ohno criou o famoso:

“5 Porquês”

A lógica era simples:

Continue perguntando “por quê?” até encontrar a verdade.


☕ EXEMPLO MAINFRAME REALÍSTICO

Problema:

JOB noturno ABEND S0C7.


Por quê?

Campo numérico inválido.


Por quê?

Arquivo veio com caracteres errados.


Por quê?

Conversão ASCII/EBCDIC falhou.


Por quê?

Novo middleware FTP alterou encoding.


Por quê?

Mudança entrou sem homologação.


CAUSA RAIZ:

Processo DevOps inadequado.

Perceba:
o COBOL não era o vilão.

O problema estava na governança.


☕ O MAIOR ERRO DOS PADAWANS

Todo Sysprog iniciante acredita em sintomas.

Mas sintomas enganam.

Exemplo clássico:

Sintoma:

CPU alta.

O Padawan pensa:

“Precisamos de mais processador.”

O mestre RCA responde:

“Não.
Precisamos descobrir QUEM está consumindo CPU.”

Pode ser:

  • loop COBOL,

  • SQL ruim,

  • runaway task,

  • lock contention,

  • buffer inadequado,

  • storage leak,

  • automação defeituosa.

A CPU alta é apenas o grito do sistema.


☕ OS 3 TIPOS DE CAUSAS

A IBM divide RCA em três dimensões.


1. CAUSAS FÍSICAS

Hardware.
Infraestrutura.
Equipamentos.

Exemplos:

  • DASD defeituoso

  • canal FICON instável

  • controladora falhando

  • memória ECC corrompida

  • falha elétrica


☕ EXEMPLO Z/OS

O JES2 começa a apresentar I/O ERROR.

Batch falha aleatoriamente.

Após investigação:

Causa raiz:

microfissura em controladora storage.


2. CAUSAS HUMANAS

O terror invisível do datacenter.

Exemplos:

  • operador cancelando STC errada,

  • PROC alterada incorretamente,

  • DELETE DATASET acidental,

  • parâmetro inválido,

  • JCL truncado.


☕ O CLÁSSICO ERRO DO PADAWAN

//STEP01 EXEC PGM=IEFBR14
//DD1 DD DSN=PROD.CLIENTES,
// DISP=(OLD,DELETE,DELETE)

Parabéns.

Você acabou de invocar o demônio ancestral do DELETE em produção.


3. CAUSAS ORGANIZACIONAIS

As mais perigosas.

Porque sobrevivem por anos.

Exemplos:

  • ausência de documentação,

  • treinamento ruim,

  • processo inexistente,

  • automação incompleta,

  • cultura tóxica,

  • deploy sem governança.


☕ A VERDADE SOMBRIA

Grandes falhas raramente acontecem por um único motivo.

Elas acontecem porque:

múltiplas pequenas falhas se alinham.

Igual peças de dominó.


☕ O CICLO DA DESTRUIÇÃO OPERACIONAL

  1. Pequena falha ignorada

  2. Monitoramento ruim

  3. Automação incompleta

  4. Time cansado

  5. Mudança mal testada

  6. Alertas ignorados

  7. Deploy na sexta-feira

  8. Caos absoluto


☕ O PROCESSO COMPLETO DE RCA

Agora entramos na disciplina guerreira.


ETAPA 1 — IDENTIFICAR O PROBLEMA

Definição ruim:

“O sistema caiu.”

Definição profissional:

“O CICS PAY01 apresentou degradação progressiva após aumento de lock contention DB2 causado por crescimento anômalo de filas MQ.”

Agora sim existe material técnico.


☕ ETAPA 2 — MONTAR O TIME RCA

Você precisa reunir:

  • operadores,

  • Sysprogs,

  • DBAs,

  • DevOps,

  • segurança,

  • storage,

  • redes,

  • automação.

Porque falhas modernas são híbridas.


☕ ETAPA 3 — COLETA DE DADOS

Aqui começa a arqueologia digital.

Ferramentas clássicas:

  • SDSF

  • RMF

  • SMF

  • IPCS

  • NetView

  • OMEGAMON

  • SYSLOG

  • dumps

  • traces

  • logs MQ

  • logs DB2


☕ O PODER DOS LOGS

Logs são fósseis digitais.

Eles contam a história da tragédia.

O problema é:

Padawans não leem logs.

Eles olham apenas:

  • RC=12

  • ABEND=S806

  • IEC141I

E entram em pânico.


☕ ETAPA 4 — BRAINSTORM DAS CAUSAS

Aqui existe uma regra sagrada:

NÃO ASSUMA NADA.

O maior inimigo da RCA é:

“Já sei o que aconteceu.”

Porque normalmente você NÃO sabe.


☕ ETAPA 5 — DETERMINAR A CAUSA RAIZ

Agora elimina-se hipótese por hipótese.

Até restar:

  • evidência,

  • causalidade,

  • sequência lógica.


☕ ETAPA 6 — IMPLEMENTAR A SOLUÇÃO

Agora nasce a verdadeira engenharia.

Não basta corrigir.

É preciso:

  • automatizar,

  • prevenir,

  • monitorar,

  • alertar,

  • documentar.


☕ MÉTODOS RCA MAIS IMPORTANTES


☕ 5 WHYs

Simples.
Poderoso.
Mortal.

Excelente para:

  • incidentes operacionais,

  • falhas batch,

  • troubleshooting rápido.


☕ FMEA

Failure Mode and Effects Analysis.

Muito usado em:

  • bancos,

  • aviação,

  • missão crítica.

Objetivo:

Prever COMO o sistema pode falhar antes do desastre.


☕ ISHIKAWA (FISHBONE)

O famoso diagrama espinha de peixe.

Divide problemas em categorias:

  • pessoas,

  • máquinas,

  • processos,

  • ambiente,

  • software,

  • gestão.

Excelente para war rooms.


☕ PARETO

80% dos problemas vêm de 20% das causas.

Exemplo real:

  • 70% dos ABENDs vêm de input inválido.

  • 15% vêm de espaço.

  • 10% vêm de lock.

  • 5% diversos.

Ataque os 20%.
Ganhe estabilidade absurda.


☕ RCA EM DEVOPS

No DevOps moderno:

TODO INCIDENTE GERA POSTMORTEM.

Mas aqui existe uma mudança filosófica gigantesca.


☕ BLAMELESS POSTMORTEM

Google popularizou:

“Postmortem sem caça às bruxas.”

Objetivo:

Não destruir pessoas.
Mas aprender.

Porque sistemas falham.
Humanos erram.
Processos quebram.

A maturidade está em aprender rápido.


☕ RCA NO MAINFRAME MODERNO

O IBM Z atual é extremamente avançado.

Hoje temos:

  • observabilidade,

  • IA operacional,

  • automação,

  • analytics,

  • machine learning.

Ferramentas modernas:

  • IBM Instana

  • OMEGAMON

  • System Automation

  • NetView

  • z/OSMF

  • SMF Analytics


☕ EXEMPLO REAL — O APOCALIPSE DO PIX

Imagine:

Sexta-feira.
18:05.
PIX nacional congestionado.

Sintomas:

  • CICS lento

  • MQ crescendo

  • DB2 travando

  • CPU disparando

Padawans entram em desespero.


☕ INVESTIGAÇÃO

A RCA descobre:

Deploy DevOps alterou frequência de COMMIT.

Resultado:

  • lock contention,

  • timeout,

  • crescimento de filas,

  • efeito cascata.


☕ CAUSA RAIZ

Mudança sem teste de carga.


☕ SOLUÇÃO

  • rollback,

  • observabilidade,

  • testes automáticos,

  • limites MQ,

  • monitoramento preditivo.

Agora o sistema ficou MAIS FORTE que antes.

Esse é o verdadeiro objetivo da RCA.


☕ A ERA DA IA OPERACIONAL

Hoje AIOps tenta prever:

  • anomalias,

  • falhas,

  • gargalos,

  • tendências,

  • causas prováveis.

O futuro do Sysprog não é apenas reagir.

Será:

prever o desastre antes dele nascer.


☕ O VERDADEIRO NÍVEL MESTRE

O Sysprog lendário não luta contra incêndios.

Ele elimina as condições que permitem incêndios.


☕ LIÇÕES FINAIS PARA O SYSprog PADAWAN

Nunca confie no primeiro sintoma.

Nunca assuma a primeira hipótese.

Nunca ignore pequenos alertas.

Nunca faça deploy sexta-feira.

Nunca delete dataset sem olhar duas vezes.

Nunca subestime logs.

Nunca trate apenas o efeito.


☕ CONCLUSÃO

Root Cause Analysis não é apenas metodologia.

É mentalidade.

É disciplina.

É engenharia real.

No mundo IBM Z moderno, onde bilhões dependem da estabilidade do sistema, RCA separa:

  • operadores comuns,

  • arquitetos da confiabilidade.

Quando você aprende RCA:

você deixa de ser alguém que “reinicia sistemas”.

E se torna alguém que entende o funcionamento profundo do caos.

E no momento em que você compreende o caos…

você começa a dominar o datacenter.

☕🔥💣

sexta-feira, 15 de maio de 2026

IBM Storage Insights 2Q26 Muito Além do Monitoramento: A Nova Era da Observabilidade para IBM Storage

 

Bellacosa Mainframe a nova era do ibm storage


☕ Um Café no Bellacosa Mainframe

IBM Storage Insights 2Q26

Muito Além do Monitoramento: A Nova Era da Observabilidade para IBM Storage

"Durante muitos anos administradores de storage olhavam para discos, controladoras e portas Fibre Channel. Hoje observam tendências, saúde operacional e inteligência analítica. A diferença parece pequena. Na prática, muda completamente a forma de operar um datacenter."


O Storage deixou de ser invisível

Durante décadas, armazenamento era considerado infraestrutura.

Funcionava?
Ótimo.

Não funcionava?
Chamavam o especialista de storage.

Hoje isso mudou.

Em um ambiente moderno existem:

  • IBM Z

  • LinuxONE

  • VMware

  • Kubernetes

  • OpenShift

  • Cloud híbrida

  • IA

  • Data Lakes

  • Storage Scale

  • FlashSystem

  • DS8000

Tudo depende do storage.

Um pequeno problema em uma porta Fibre Channel pode afetar milhares de aplicações.

É justamente esse cenário que o IBM Storage Insights procura resolver.


O foco da versão 2Q26

Ao analisar todas as novidades percebe-se um padrão.

A IBM investiu em cinco pilares:

  • observabilidade

  • experiência do operador

  • análise inteligente

  • integração

  • automação

Não há novos equipamentos.

Não há novo hardware.

Há inteligência operacional.

E isso vale muito mais.


1. Fleet Performance Analysis

Até agora a análise era muito centrada em um storage específico.

Agora passa a existir uma visão da frota inteira.

Imagine um banco com:

  • 15 DS8900F

  • 8 FlashSystem

  • 6 SAN Directors

  • dezenas de switches Fibre Channel

Antes era necessário analisar equipamento por equipamento.

Agora é possível observar tendências globais.

Isso permite responder perguntas como:

  • Qual storage ficou mais lento?

  • Qual começou a aumentar a latência?

  • Em qual região ocorreu maior utilização?

  • Existe um comportamento anormal em todo o ambiente?

Esse tipo de análise aproxima o Storage Insights das plataformas modernas de observabilidade.


2. Upgrade guiado para o Pro

Parece um detalhe.

Não é.

A IBM percebeu que muitos clientes utilizavam apenas a versão Free porque o processo de migração não era claro.

Agora existe um assistente mostrando:

  • licença atual

  • recursos disponíveis

  • diferenças entre versões

  • caminho de atualização

Resultado:

menos dúvidas.

Menos chamados.

Menor tempo para adoção.


3. Novo NOC Dashboard

O dashboard ganhou uma filosofia muito diferente.

Antes havia muitas telas.

Agora existem cartões inteligentes.

Entre os novos recursos:

✔ Saúde

✔ Capacidade

✔ Performance

✔ Desvios

✔ Tendências

✔ Intervalo de tempo flexível

Além disso surgiu um widget extremamente interessante.

O novo Performance Widget identifica automaticamente quais sistemas merecem atenção.

Ou seja:

não é mais o operador procurando problemas.

É o dashboard chamando o operador.

Esse é um conceito típico de plataformas modernas de observabilidade.


4. Monitoramento óptico da SAN

Na minha opinião, esta é uma das novidades mais importantes.

Até hoje muitos problemas em Fibre Channel eram diagnosticados apenas quando os erros apareciam.

Agora passam a existir três métricas fundamentais:

SFP Temperature

Temperatura do transceiver óptico.

Temperatura elevada normalmente indica:

  • degradação

  • ventilação inadequada

  • desgaste


SFP Tx Power

Potência óptica transmitida.

Quando começa a cair pode indicar:

  • envelhecimento do laser

  • problemas no transmissor


SFP Rx Power

Potência óptica recebida.

Permite detectar:

  • fibras sujas

  • conectores danificados

  • curvatura excessiva

  • atenuação

  • perda óptica

Isso muda completamente o modelo de suporte.

Antes:

"O link caiu."

Agora:

"O nível óptico vem degradando há três semanas."

É manutenção preditiva.


Bellacosa Mainframe espiona o DS8000

5. Capacity Insights para DS8000

Quem administra DS8000 sabe como planejamento de capacidade pode ser complexo.

A IBM agora separa claramente:

  • capacidade IBM Z

  • Open Systems

  • Thin Provisioning

  • Compression

  • Non Compression

  • economia obtida

  • eficiência geral

Isso facilita responder perguntas clássicas da diretoria:

"Precisamos comprar mais discos?"

Ou:

"A compressão está realmente gerando economia?"


6. IBM Storage Scale na nova interface

Outro passo importante.

O IBM Storage Scale passa a aparecer na interface moderna.

Nesta primeira fase (Technology Preview), o foco é:

  • inventário

  • configuração

  • hardware

  • software

No futuro deverão chegar métricas completas de desempenho.

A tendência é consolidar toda a infraestrutura IBM Storage em uma única interface.


7. REST API Version 2

Toda plataforma moderna precisa ser automatizada.

A nova API V2 simplifica integrações com ferramentas como:

  • Ansible

  • Terraform

  • Grafana

  • ServiceNow

  • Red Hat Ansible Automation Platform

  • IBM Concert

  • IBM Turbonomic

O detalhe interessante é que a IBM manteve compatibilidade com a versão anterior.

Ou seja:

não quebra integrações existentes.

É uma evolução segura.


O que isso significa para ambientes IBM Z?

Embora o IBM Storage Insights não substitua ferramentas tradicionais de administração do z/OS, ele complementa a visão operacional do ambiente.

Em um datacenter IBM Z, ele pode fornecer visibilidade sobre:

  • DS8000

  • FlashSystem

  • SAN Fibre Channel

  • Storage Scale

  • eficiência de compressão

  • crescimento de capacidade

  • tendências de desempenho

  • saúde da infraestrutura de armazenamento

Isso ajuda equipes de infraestrutura a identificar gargalos antes que impactem workloads críticos executados no IBM Z.


Minha avaliação

A IBM claramente está posicionando o Storage Insights como uma plataforma de observabilidade para armazenamento, e não apenas como um console de monitoramento.

As novidades mais relevantes desta versão são:

Fleet-Level Performance Analysis — visão consolidada do ambiente.

Monitoramento óptico de SAN — manutenção preditiva para Fibre Channel.

Capacity Insights para DS8000 — planejamento de capacidade mais preciso.

IBM Storage Scale na interface moderna — unificação da administração.

REST API v2 — integrações mais simples e preparadas para automação.

Novo NOC Dashboard — operação orientada por eventos e indicadores.

Para organizações que operam ambientes críticos — bancos, seguradoras, governos e grandes empresas — esses recursos reduzem o tempo gasto em diagnóstico, aumentam a visibilidade da infraestrutura e fortalecem uma abordagem proativa na gestão do armazenamento, em vez de apenas reagir a incidentes quando eles já ocorreram.


segunda-feira, 6 de outubro de 2025

☕💾🔥 CICS DATA SETS — O “SUBSOLO INVISÍVEL” QUE MANTÉM BANCOS VIVOS NO MAINFRAME IBM Z

 

☕💾🔥 CICS DATA SETS — O “SUBSOLO INVISÍVEL” QUE MANTÉM BANCOS VIVOS NO MAINFRAME IBM Z

O programador COBOL vê EXEC CICS.

O sysprog vê sobrevivência transacional.

Quando um programador iniciante começa no CICS, normalmente ele enxerga apenas:

EXEC CICS READ
EXEC CICS WRITE
EXEC CICS RETURN

Mas existe um universo gigantesco escondido por trás disso.

Um universo formado por:

  • recovery,

  • tracing,

  • logging,

  • observabilidade,

  • filas,

  • rollback,

  • dumps,

  • persistência operacional,

  • orchestration.

E é exatamente isso que os datasets do CICS representam.

Neste artigo vamos mergulhar profundamente no “lado invisível” do CICS.

Porque:

entender datasets do CICS é começar a pensar como um verdadeiro sysprog.


☕ O CICS NÃO É Apenas Um Transaction Monitor

Essa é uma das maiores descobertas que um profissional faz quando amadurece no mundo mainframe.

O CICS:

  • não é apenas EXEC CICS,

  • não é apenas COBOL online,

  • não é apenas tela verde.

Ele é:

  • transaction manager,

  • recovery engine,

  • queue manager,

  • observability platform,

  • tracing framework,

  • runtime orchestrator.

E os datasets são literalmente:

os órgãos internos dessa criatura.


🔥 DFHCSD — O DNA Operacional do CICS

O primeiro dataset que um sysprog precisa entender profundamente é:

DFHCSD

O famoso:

CICS System Definition File.


☕ O Que o CSD Realmente Faz?

Ele funciona como:

  • catálogo mestre,

  • banco de definições,

  • repositório operacional.

Tudo o que o CICS precisa conhecer:

  • PROGRAM,

  • TRANSACTION,

  • FILE,

  • TERMINAL,

  • TCPIPSERVICE,

  • URIMAP,

  • TDQUEUE,

  • JVMSERVER,

  • PIPELINE,

fica definido no CSD.


🔥 O CICS NÃO “DESCUBRE” Recursos Automaticamente

Esse é um ponto fundamental.

No mundo cloud moderno muita gente está acostumada com:

  • service discovery,

  • auto registration,

  • dynamic orchestration.

Mas o CICS nasceu em um mundo onde:

previsibilidade e controle eram mais importantes do que automação descontrolada.

Tudo precisa ser explicitamente definido.


☕ O Grande Segredo Arquitetural

O runtime do CICS:

NÃO trabalha diretamente no CSD.

Durante startup ocorre:

DFHCSD
   ↓
INSTALL
   ↓
Control Blocks em memória
   ↓
Runtime CICS

Isso é extremamente sofisticado.


🔥 O Que São Control Blocks?

São estruturas internas contendo:

  • atributos,

  • endereços,

  • localização dos programas,

  • flags,

  • status operacional.

Quando um programa executa:

EXEC CICS LINK PROGRAM('PGM001')

O CICS consulta:

control blocks em memória.

Não o CSD.


☕ Isso Explica a Velocidade do CICS

Tudo fica:

  • pré-carregado,

  • indexado,

  • organizado,

  • otimizado em memória.

Décadas antes do conceito moderno de:

  • metadata caching,

  • in-memory orchestration,

  • runtime repositories.


🔥 O CSD Revolucionou o CICS

Antes dele existiam:

  • PPT,

  • PCT,

  • FCT,

  • TCT.

Control tables extremamente rígidas.

Alterações exigiam:

  • assemble,

  • link-edit,

  • restart.

O CSD trouxe:

  • definição dinâmica,

  • administração online,

  • menos downtime,

  • maior agilidade.


☕ DFHLOG — O Coração da Integridade Transacional

Agora chegamos no componente mais crítico de todos:

o system log.

Sem ele:

  • bancos quebrariam,

  • saldos ficariam inconsistentes,

  • transações seriam perdidas.


🔥 O Que o DFHLOG Faz?

Ele registra:

  • before images,

  • syncpoints,

  • rollback records,

  • updates,

  • UOWs.

Tudo necessário para:

recovery transacional.


☕ Before Image — Conceito Fundamental

Antes de alterar um dado:

o CICS grava o estado anterior.

Exemplo:

Saldo = 1000
↓
Tentativa de update para 800

Antes disso:

o valor antigo é registrado no log.


🔥 Dynamic Transaction Backout (DTB)

Agora imagine:

Debita conta A
↓
ABEND
↓
Crash

O CICS:

  • consulta o DFHLOG,

  • identifica updates incompletos,

  • executa rollback,

  • restaura integridade.

Isso é:

DTB — Dynamic Transaction Backout.


☕ Warm Start e Emergency Restart

Quando o CICS reinicia:

ele escaneia o log inteiro.

Para descobrir:

  • quais tasks estavam ativas,

  • quais UOWs precisam rollback,

  • quais recursos devem ser restaurados.


🔥 Primary e Secondary Streams

O system log lógico é composto por:

  • Primary stream

  • Secondary stream

Ambos são vistos como:

um único logical log stream.

Isso mostra uma arquitetura extremamente madura.


☕ DFHSHUNT — O Mundo das Shunted UOWs

Quando uma Unit of Work:

  • não consegue completar recovery,

  • possui recurso indisponível,

  • encontra erro persistente,

ela pode ficar:

shunted.

O CICS NÃO perde a integridade.

Ele preserva a UOW para recuperação posterior.

Isso é engenharia mission-critical real.


🔥 Dumps — A Forense do CICS

O CICS possui dois níveis principais de dump.


☕ System Dump

Captura:

  • região inteira,

  • memória,

  • address spaces,

  • control blocks,

  • storage global.

Vai normalmente para:

SYS1.DUMPnn

É usado em:

  • falhas severas,

  • storage corruption,

  • kernel problems.


🔥 Transaction Dump

Mais focado.

Captura:

  • task específica,

  • COMMAREA,

  • EIB,

  • storage da transação.

Usa:

DFHDMPA
DFHDMPB

Muito usado em:

  • ASRA,

  • S0C7,

  • AICA,

  • debugging aplicativo.


☕ Trace — O Gravador de Voo do CICS

O tracing do CICS é uma obra-prima da engenharia enterprise.


🔥 CETR — O Painel de Controle do Trace

A transação:

CETR

permite:

  • ativar trace,

  • parar trace,

  • selecionar domains,

  • ajustar níveis,

  • controlar GTF,

  • configurar auxiliary trace.


☕ GTF — Generalized Trace Facility

O GTF integra:

  • CICS,

  • z/OS,

  • VTAM,

  • DB2,

  • TCP/IP.

Permitindo tracing sistêmico.

Muito antes do conceito moderno de:

  • distributed tracing,

  • observability pipelines,

  • telemetry frameworks.


🔥 Auxiliary Trace — Evitando o Wrapping

Trace em memória é circular.

Quando enche:

sobrescreve dados antigos.

Para evitar isso:

DFHAUXT
DFHBUXT

permitem:

  • persistência,

  • grandes volumes,

  • rotação automática.

Isso é praticamente:

rolling logs décadas antes do Linux popularizar isso.


☕ SMF — O Big Data Operacional do Mainframe

O CICS também produz telemetria enterprise.


🔥 O Que o CICS Grava no SMF?

  • CPU usage,

  • elapsed time,

  • transaction counts,

  • waits,

  • VSAM activity,

  • DB2 usage,

  • storage consumption.

Especialmente via:

SMF Type 110

☕ Muito Antes da “Observabilidade Moderna”

Enquanto muita gente fala hoje sobre:

  • Prometheus,

  • Grafana,

  • OpenTelemetry,

  • observability,

O z/OS já fazia isso:

há décadas.


🔥 TSQ — Temporary Storage Queue

O CICS frequentemente precisa guardar dados temporários.

Para isso existem:

TSQs.


☕ Características da TSQ

  • criação dinâmica,

  • leitura por item,

  • releitura,

  • update.

Exemplo:

EXEC CICS WRITEQ TS
     QUEUE('TEMP001')
END-EXEC

🔥 Main TS vs Auxiliary TS

Main TS

  • memória,

  • rápido,

  • temporário.

Auxiliary TS

  • VSAM,

  • persistente,

  • maior capacidade.

Muito usado via:

DFHTEMP

☕ TDQ — Transient Data Queue

Agora chegamos em um clássico absoluto do CICS.


🔥 TDQ vs TSQ

Essa diferença derruba muitos iniciantes.


☕ TSQ

Mais flexível.


🔥 TDQ

Mais orientada a fluxo:

  • leitura sequencial,

  • destrutiva,

  • pré-definida.

Ideal para:

  • impressão,

  • integração batch,

  • pipelines assíncronos.


☕ Intrapartition vs Extrapartition

Intrapartition

Usada:

dentro da região CICS.

Controlada pelo próprio CICS.


Extrapartition

Usada:

dentro e fora do CICS.

Muito comum em:

  • integração batch,

  • JES,

  • exportação,

  • geração de arquivos.


🔥 O CICS Já Fazia Mensageria Muito Antes do Kafka

Observe algo impressionante.

Décadas antes de:

  • Kafka,

  • RabbitMQ,

  • Event Streaming,

  • Message Brokers modernos,

O CICS já implementava:

  • filas,

  • desacoplamento,

  • processamento assíncrono,

  • integração enterprise.


☕ Global Catalog — A Memória Persistente do Runtime

O global catalog:

  • salva recursos instalados,

  • guarda localização do system log,

  • ajuda no warm start,

  • auxilia recovery.


🔥 Installed ≠ Defined

Esse conceito é importantíssimo.

Defined

Existe no CSD.

Installed

Está ativo no runtime.


☕ O CICS Separa Configuração de Runtime

Isso é extremamente moderno.

Mesmo conceito atual de:

  • configuration repositories,

  • runtime metadata,

  • orchestration state.


🔥 O Que Um Sysprog Junior Deve Entender?

Se você está começando em sysprog CICS:

pare de enxergar apenas EXEC CICS.

Comece a enxergar:

  • recovery,

  • rollback,

  • observabilidade,

  • logs,

  • tracing,

  • queues,

  • startup orchestration,

  • runtime control blocks.

Porque:

é isso que mantém bancos funcionando sem parar.


☕ O Grande Insight Final

O mais impressionante do CICS é perceber que:

muito antes da computação distribuída moderna existir,

o mainframe já havia resolvido problemas extremamente complexos.

Como:

  • observabilidade,

  • tracing,

  • rollback automático,

  • crash recovery,

  • filas assíncronas,

  • persistência runtime,

  • transaction management.


🔥 Pensamento Final ao Estilo Bellacosa Mainframe

O programador iniciante vê:

EXEC CICS READ

O sysprog experiente vê:

  • DFHLOG,

  • SMF,

  • CETR,

  • GTF,

  • recovery manager,

  • syncpoints,

  • UOWs,

  • auxiliary trace,

  • control blocks,

  • startup orchestration.

E entende que:

o CICS não é apenas um monitor transacional.

Ele é uma das arquiteturas mais sofisticadas já construídas na história da computação enterprise.

☕💾🔥

segunda-feira, 16 de junho de 2025

IA sem Governança é como Rodar Produção sem RACF

 

Bellacosa Maifnrame e a ia sem governança

☕ Um Café no Bellacosa Mainframe

IA sem Governança é como Rodar Produção sem RACF

O Estado da Arte da AI Governance e por que ela está se tornando o "Sistema Operacional Invisível" da Inteligência Artificial

"Construir uma IA inteligente é relativamente fácil. Construir uma IA previsível, auditável e confiável é o verdadeiro desafio da Engenharia Moderna."


Nos últimos três anos aconteceu algo curioso.

A indústria inteira ficou fascinada pela capacidade dos modelos.

Modelos maiores.

Mais parâmetros.

Mais contexto.

Mais agentes.

Mais autonomia.

Mais velocidade.

Enquanto isso, uma pergunta muito mais importante ficou em segundo plano:

Quem controla tudo isso?

É exatamente aqui que nasce um dos assuntos mais importantes da próxima década:

AI Governance

Muita gente imagina que governança seja apenas burocracia.

Na prática, acontece exatamente o contrário.

Governança é aquilo que permite que uma empresa coloque IA em produção sem colocar seu negócio em risco.

Da mesma forma que nenhum banco colocaria um sistema COBOL em produção sem RACF, auditoria, logs, rollback, segregação de funções e monitoramento...

Nenhuma grande empresa conseguirá operar centenas de agentes inteligentes sem mecanismos semelhantes.

Estamos assistindo ao nascimento de uma nova disciplina da Engenharia de Software.


O problema atual

Hoje existe uma enorme diferença entre:

"Uma IA funcionando"

e

"Uma IA sob controle."

São coisas completamente diferentes.

Imagine um chatbot corporativo.

Ele responde perguntas.

Consulta documentos.

Acessa banco de dados.

Envia e-mails.

Agenda reuniões.

Autoriza pagamentos.

Agora imagine que ele pode chamar APIs sozinho.

Executar scripts.

Controlar sistemas.

Criar tickets.

Modificar registros.

De repente...

não estamos mais falando de um chatbot.

Estamos falando de um funcionário digital.

E funcionários precisam de regras.


Um paralelo com o Mainframe

Quem trabalhou anos em IBM Z percebe imediatamente a semelhança.

No Mainframe nunca existiu liberdade absoluta.

Existe:

  • RACF

  • ACF2

  • Top Secret

  • Auditoria

  • SMF

  • WLM

  • JES

  • Change Management

  • Aprovação

  • Produção

  • Homologação

  • Controle de versões

Por quê?

Porque sistemas críticos não podem depender apenas da boa intenção dos desenvolvedores.

A IA chegou exatamente ao mesmo ponto.


O que realmente é AI Governance?

A definição mais simples seria:

Governança é o conjunto de processos, políticas, controles, métricas e mecanismos que garantem que sistemas de IA operem dentro dos limites técnicos, legais, éticos e de negócio definidos pela organização.

Ou seja...

Governança responde perguntas como:

Esta IA pode acessar quais sistemas?

Quem autorizou?

Quem aprovou?

Quem alterou?

Quem auditou?

Quem responde caso ela erre?

Ela pode tomar decisões sozinha?

Até onde?

Quando deve pedir ajuda humana?

Como registrar tudo?

Como impedir abuso?

Como provar conformidade?


IA deixou de ser Software

Este talvez seja o maior erro conceitual da atualidade.

Muitos ainda tratam IA como se fosse apenas mais um software.

Não é.

Software tradicional possui comportamento relativamente determinístico.

Mesmo com bugs, o fluxo costuma ser previsível.

IA generativa funciona diferente.

Ela trabalha com probabilidades.

Ela interpreta contexto.

Ela generaliza.

Ela improvisa.

Ela cria respostas novas.

Isso muda completamente o paradigma da engenharia.

Não basta testar.

É preciso supervisionar continuamente.


A evolução da Governança

A imagem mostra quatro grandes fases.

Vale aprofundá-las.


Fase 1 — Model Governance

Tudo começou olhando apenas para o modelo.

As perguntas eram simples.

O modelo é bom?

Tem boa acurácia?

Passou nos testes?

Qual o recall?

Qual a precisão?

Existe overfitting?

Existe underfitting?

A preocupação era puramente estatística.

Muito semelhante ao início do Machine Learning clássico.


Fase 2 — Data Governance

Rapidamente percebeu-se uma verdade importante.

Modelos aprendem com dados.

Dados ruins produzem decisões ruins.

Garbage In

Garbage Out.

Então surgiram novos controles.

Qualidade dos dados.

Viés.

Representatividade.

Linhagem (Data Lineage).

Catálogo.

Origem.

Versionamento.

Atualização.

Anonimização.

LGPD.

Masking.

Data Fabric.

Data Mesh.

A IA passou a ser vista como consequência da qualidade dos dados.


Fase 3 — System Governance

Depois percebeu-se outro problema.

O modelo era apenas uma pequena parte do sistema.

Hoje uma aplicação de IA envolve:

Modelo

Prompt

Banco Vetorial

RAG

APIs

Ferramentas

Agentes

Workflow

Memória

Logs

Cache

Observabilidade

Ou seja...

Governar apenas o modelo tornou-se insuficiente.

Era necessário governar toda a arquitetura.

Da mesma forma que em um ambiente CICS não monitoramos apenas o programa COBOL.

Monitoramos:

  • Região CICS

  • MQ

  • DB2

  • VSAM

  • Rede

  • CPU

  • Storage

  • Transações

  • Locks

  • Filas

  • Segurança

A IA entrou exatamente nesse estágio.


Fase 4 — Agent Governance

Esta talvez seja a revolução mais importante.

Os novos agentes não apenas respondem.

Eles executam.

Tomam decisões.

Chamam outras IAs.

Chamam APIs.

Controlam ferramentas.

Planejam tarefas.

Executam workflows.

Podem trabalhar durante horas sem intervenção humana.

Agora surge uma pergunta totalmente nova.

Quem governa o agente?

Quem define seus limites?

Quem decide quais ferramentas ele pode usar?

Quem impede que ele execute uma ação perigosa?

Quem limita autonomia?

Quem monitora objetivos?

Essa nova disciplina é chamada de Agent Governance.


Os Cinco Pilares da Governança

1. Policy Layer

É o equivalente ao RACF.

Define regras.

Quem pode fazer o quê.

Quais modelos podem ser usados.

Quais dados podem ser consultados.

Quem pode executar agentes.

Quais ferramentas ficam disponíveis.


2. Risk Management

Nem toda IA possui o mesmo risco.

Responder FAQ?

Baixo risco.

Aprovar crédito?

Alto risco.

Diagnóstico médico?

Altíssimo risco.

Quanto maior o impacto da decisão, maior deve ser o nível de governança.

Essa ideia aparece em legislações como o AI Act da União Europeia, que classifica sistemas conforme o nível de risco e impõe exigências proporcionais. Também conversa com estruturas como o NIST AI Risk Management Framework (AI RMF), amplamente adotado como referência para gestão de riscos em IA.


3. Observabilidade

Observabilidade virou uma palavra extremamente importante.

Não basta saber que o sistema está funcionando.

É necessário saber:

Por que respondeu isso?

Qual documento consultou?

Qual ferramenta utilizou?

Qual prompt gerou aquela resposta?

Quanto custou?

Quanto demorou?

Qual modelo respondeu?

Qual versão?

Isso lembra bastante o papel dos registros SMF, RMF e logs de transação no mundo IBM Z: eles permitem reconstruir o que aconteceu e entender o comportamento do sistema.


4. Compliance

Cada decisão precisa ser rastreável.

Auditoria.

Explicabilidade.

Logs.

Versionamento.

Retenção.

Regulamentos.

No mundo financeiro isso será obrigatório.

Na saúde também.

No governo também.

Em muitos setores regulados, a capacidade de demonstrar como uma decisão foi produzida é tão importante quanto a decisão em si.


5. Guardrails

Talvez o conceito mais popular atualmente.

Guardrails são barreiras de proteção.

Eles limitam:

Entrada.

Saída.

Ferramentas.

Prompts.

Tokens.

Tempo.

Memória.

Execução.

Permissões.

Autonomia.

É como instalar grades de proteção em uma estrada de montanha: elas não dirigem o carro, mas reduzem significativamente a chance de uma saída de pista se transformar em um desastre.


O Fluxo de um Sistema Governado

Observe o fluxo apresentado na imagem.

Ele representa um ciclo contínuo.

  1. Define-se claramente o caso de uso.

  2. Classifica-se o risco.

  3. Aplicam-se políticas e permissões.

  4. Implanta-se o modelo ou agente.

  5. Monitora-se o comportamento em tempo real.

  6. Auditorias e análises alimentam melhorias.

  7. As políticas são refinadas e o ciclo recomeça.

Isso se aproxima muito do ciclo de melhoria contínua adotado em engenharia de confiabilidade (SRE), DevSecOps e gestão de mudanças em ambientes corporativos.


As Métricas Mais Importantes

A imagem destaca algumas métricas fundamentais, mas vale expandi-las.

Além da taxa de violações de políticas, alucinações, acurácia, cobertura de auditoria e intervenções humanas, organizações maduras também acompanham:

  • Tempo médio para detectar comportamentos anômalos.

  • Frequência de deriva (model drift e data drift).

  • Taxa de chamadas a ferramentas externas.

  • Custo por tarefa executada.

  • Latência por fluxo de decisão.

  • Percentual de respostas com referências verificáveis.

  • Taxa de falsos positivos e falsos negativos em mecanismos de segurança.

  • Número de exceções aprovadas manualmente.

  • Disponibilidade dos serviços de IA.

Assim como no mainframe monitoramos CPU, I/O, MSU, R4HA, tempos de resposta CICS e locks de DB2, a IA também exige indicadores operacionais e de negócio para permanecer confiável ao longo do tempo.


Onde a Maioria das Empresas Erra

A imagem cita quatro erros bastante comuns.

Na prática, eles aparecem de formas diferentes.

Primeiro, a governança costuma ser adicionada apenas depois que a IA já está em produção, quando o custo de adaptação é muito maior.

Segundo, muitas equipes concentram seus esforços apenas no modelo e ignoram o restante do ecossistema — prompts, ferramentas, integrações, bancos vetoriais e fluxos automatizados.

Terceiro, faltam mecanismos de observabilidade. Sem logs adequados, métricas e trilhas de auditoria, qualquer incidente se torna difícil de investigar.

Por fim, há processos críticos totalmente automatizados sem pontos de validação humana, mesmo quando envolvem impactos financeiros, legais ou reputacionais relevantes.


O Futuro: Governança para Ecossistemas de Agentes

A próxima etapa provavelmente não será governar um único agente, mas coordenar ecossistemas inteiros de agentes especializados.

Imagine um banco em que diferentes agentes cuidam de crédito, prevenção à fraude, atendimento, compliance, investimentos e suporte interno. Eles conversarão entre si, compartilharão contexto e tomarão decisões coordenadas.

Nesse cenário, a governança deixa de ser apenas um conjunto de regras e passa a funcionar como um sistema nervoso central, capaz de definir limites de autonomia, resolver conflitos, registrar decisões, distribuir responsabilidades e manter supervisão contínua.


A Grande Lição para um Programador COBOL

Para quem vem do universo IBM Z, AI Governance não é uma ideia estranha.

Na verdade, ela reaproveita princípios conhecidos há décadas:

  • Segurança baseada em identidade e privilégio mínimo.

  • Auditoria completa de operações.

  • Observabilidade e monitoramento contínuos.

  • Gestão formal de mudanças.

  • Classificação de riscos.

  • Separação entre desenvolvimento, homologação e produção.

  • Confiabilidade operacional.

A grande novidade não é a necessidade de controle. O que muda é o objeto desse controle: em vez de programas determinísticos, agora administramos sistemas capazes de aprender, interpretar contexto e agir com diferentes graus de autonomia.


Conclusão

Durante muitos anos, a pergunta dominante foi:

"Como construir uma IA mais inteligente?"

Hoje, a pergunta mais importante começa a mudar:

"Como garantir que essa IA continue confiável, segura e responsável quando estiver operando em escala?"

A vantagem competitiva do futuro não estará apenas nos modelos mais poderosos, mas na capacidade de colocá-los em produção com confiança, transparência e controle.

Da mesma forma que ninguém administra um ambiente IBM Z apenas instalando um sistema operacional e esperando que tudo funcione, nenhuma organização séria conseguirá operar centenas ou milhares de agentes inteligentes sem uma arquitetura robusta de governança.

Em outras palavras, a governança não reduz o potencial da inteligência artificial. Ela é justamente o que torna possível usar esse potencial de forma sustentável, auditável e confiável em ambientes onde erros têm consequências reais.

sábado, 17 de maio de 2025

The IT Crowd encontra o Nubank: o Dia em que o COBOLzeiro Entrou na Nuvem, Viu Kubernetes, Clojure, Datomic e Perguntou Onde Esconderam o CICS

 

Bellacosa Mainframe e a arquitetura do Nubank

☕ Um Café no Bellacosa Mainframe

The IT Crowd encontra o Nubank: o Dia em que o COBOLzeiro Entrou na Nuvem, Viu Kubernetes, Clojure, Datomic e Perguntou Onde Esconderam o CICS

💳 AWS, microserviços, containers, bancos imutáveis, observabilidade, FinOps, IA e o estranho caso de uma instituição com mais de 100 milhões de clientes que resolveu problemas antigos com ferramentas completamente novas — enquanto o veterano do CPD repetia: “Have you tried turning it off and on again?”

Imagine o porão de um departamento de informática.

Luzes fluorescentes.

Cabos.

Monitores.

Uma caneca esquecida ao lado do teclado.

Um cartaz na parede:

HAVE YOU TRIED TURNING IT OFF AND ON AGAIN?

Roy está sentado olhando para um terminal.

Moss aparece carregando uma pilha de livros.

Na porta surge um programador COBOL iniciante.

Ele segura um notebook.

Na tela:

KUBERNETES
CLOJURE
DATOMIC
AWS
MICROSERVICES
CONTAINERS

Roy olha.

— O que é isso?

O novato responde:

— Estou estudando a arquitetura do Nubank.

Moss imediatamente se interessa.

— Nubank? Fascinante. Instituição financeira digital, arquitetura distribuída, alta escalabilidade...

Roy interrompe:

— Quantas agências?

— Nenhuma.

— Nenhum mainframe?

— Pelo menos não como fundamento público da arquitetura original.

— E atende mais de cem milhões de clientes?

— Sim.

Roy fica em silêncio.

Olha para Moss.

Olha novamente para o novato.

— Então onde esconderam o CICS?

Bem-vindo a mais um Um Café no Bellacosa Mainframe.

Hoje vamos entrar numa das comparações mais interessantes para quem está começando COBOL e quer entender por que o mundo moderno fala tanto de cloud-native, microserviços, containers, Kubernetes e bancos de dados diferentes.

Nosso laboratório será o Nubank.

Não para declarar que cloud venceu mainframe.

Nem para dizer que mainframe é superior à cloud.

Essas guerras religiosas normalmente produzem mais calor do que conhecimento.

A pergunta realmente interessante é:

Como uma instituição financeira que nasceu na nuvem conseguiu crescer até uma escala gigantesca resolvendo problemas que bancos tradicionais enfrentam há décadas?

E mais importante:

Quantos desses problemas são realmente novos?

Spoiler:

Pouquíssimos.

As tecnologias mudaram.

Os problemas fundamentais continuam terrivelmente familiares.

Pegue o café.

Vamos descer ao porão.


1. Primeiro: esqueça o aplicativo roxo

Quando alguém olha para o Nubank, normalmente vê:

APP
CARTÃO ROXO
PIX
CONTA
EMPRÉSTIMO

O profissional de infraestrutura deveria enxergar outra coisa.

Por trás daquele botão bonito existe algo mais parecido com:

CLIENTE
   |
   v
APLICATIVO
   |
   v
APIs
   |
   v
SERVIÇOS
   |
   v
CORE FINANCEIRO
   |
   v
DADOS
   |
   v
EVENTOS
   |
   v
AUDITORIA
   |
   v
SEGURANÇA

E ainda:

ANTIFRAUDE
CRÉDITO
KYC
COMPLIANCE
OBSERVABILIDADE
LOGS
BACKUP
DR
CAPACITY
IA

Então guarde uma regra.

Interface simples não significa sistema simples.

O cliente toca em:

PAGAR

e espera:

PAGO

Entre uma coisa e outra pode existir uma pequena guerra civil distribuída.

É justamente aí que Nubank e mainframe começam a ficar curiosamente parecidos.


2. O banco tradicional construiu uma fortaleza

Grandes bancos cresceram durante décadas.

Muitos construíram arquiteturas centradas em:

IBM Z
COBOL
CICS
DB2
IMS
VSAM
MQ
JCL
RACF

Essas tecnologias não apareceram por acaso.

Elas resolvem problemas reais.

Consistência.

Volume.

Disponibilidade.

Segurança.

Recuperação.

Processamento transacional.

Auditoria.

Controle de carga.

Imagine algo conceitualmente parecido:

CLIENTE
   |
   v
CANAL
   |
   v
CICS
   |
   v
PROGRAMA COBOL
   |
   v
DB2 / VSAM / IMS
   |
   v
MQ / BATCH / CONTABILIDADE

Agora multiplique isso por:

décadas
milhares de programas
milhões de clientes
centenas de integrações

Pronto.

Você tem um banco.

Ou um monstro mitológico.

Depende do horário do incidente.


3. Nubank começou pelo outro lado

O Nubank nasceu já pensando em cloud.

Esse detalhe muda tudo.

Um banco tradicional frequentemente precisa modernizar sistemas existentes.

O Nubank pôde construir de maneira greenfield.

Greenfield significa basicamente:

“Ainda não temos quarenta anos de decisões para carregar.”

Isso é uma vantagem brutal.

Imagine duas equipes.

A primeira recebe:

SISTEMA X
CRIADO EM 1989
ALTERADO 12.417 VEZES
AUTOR ORIGINAL APOSENTADO
DOCUMENTAÇÃO: TALVEZ

A segunda recebe:

README.md

É outro planeta.

Mas não se engane.

O segundo sistema eventualmente também vira o primeiro.

Só precisa sobreviver tempo suficiente.


4. AWS: o CPD terceirizado

Uma maneira divertida de explicar cloud para um veterano seria:

Você não eliminou o datacenter.

Você terceirizou uma enorme parte dele.

No modelo tradicional:

BANCO
 |
 +-- DATACENTER
     |
     +-- SERVIDORES
     +-- STORAGE
     +-- REDE
     +-- ENERGIA
     +-- DR

No modelo cloud:

BANCO
 |
 +-- AWS
     |
     +-- COMPUTE
     +-- STORAGE
     +-- NETWORK
     +-- DATABASE
     +-- SECURITY

Fisicamente continuam existindo máquinas.

CPUs.

Memória.

SSD.

Switches.

Cabos.

Energia elétrica.

O que mudou foi o modelo operacional.

Você pede recursos por software.

Escala.

Cria ambientes.

Destrói ambientes.

Automatiza infraestrutura.

Isso reduz dramaticamente o tempo entre:

PRECISO DE SERVIDOR

e:

SERVIDOR EXISTE

Quem viveu compras corporativas tradicionais entenderá imediatamente a importância disso.


5. A nuvem não é infinita

Aqui aparece um dos maiores mitos.

Muita gente imagina:

CLOUD = INFINITO

Não.

Cloud continua limitada por física.

Em algum ponto existem:

CPU
RAM
SSD
REDE
ENERGIA
DATACENTER

Uma empresa suficientemente grande pode encontrar limites que empresas pequenas jamais verão.

É quase como alguém perguntando:

— A internet aguenta?

Roy responde:

— Depende.

Moss:

— Tecnicamente a internet está naquela pequena caixa preta ali.

Se você entendeu essa referência, parabéns.

Você ganhou o primeiro Easter egg.


6. Clojure: porque Java seria normal demais

Uma das escolhas técnicas mais interessantes do Nubank foi Clojure.

Clojure é uma linguagem funcional da família Lisp executada sobre JVM.

Para quem vem de COBOL, isso parece inicialmente uma linguagem alienígena.

COBOL:

IF SALDO > LIMITE
    DISPLAY 'OPERACAO RECUSADA'
END-IF

Lisp-like:

(parênteses
    (dentro
        (de
            (parênteses))))

O COBOLzeiro olha.

Moss aparece.

— É extremamente elegante.

Roy responde:

— Parece que alguém derrubou a caixa de parênteses.

Mas existe racionalidade por trás da escolha.

Linguagens funcionais favorecem conceitos como:

imutabilidade
funções puras
composição
transformação de dados

Isso pode ser interessante em sistemas distribuídos.

Porque estado compartilhado é uma fonte clássica de sofrimento.

E sofrimento distribuído escala muito bem.


7. Datomic: o banco que gosta do passado

Agora chegamos a uma ideia deliciosa.

Em muitos bancos relacionais tradicionais pensamos no estado atual.

Exemplo:

SALDO = 1000

Depois:

SALDO = 800

Atualizamos o registro.

Mas no mundo financeiro o passado importa muito.

Quem alterou?

Quando?

Qual era o estado anterior?

Qual evento produziu o estado atual?

Datomic trabalha com uma filosofia fortemente temporal e imutável.

Conceitualmente:

T0 SALDO = 1000
T1 COMPRA = -200
T2 SALDO = 800

O histórico não desaparece simplesmente.

Para um COBOLzeiro isso desperta uma sensação familiar.

Ele pensa:

— Então vocês guardam histórico?

Sim.

— E querem reconstruir estado?

Sim.

— E auditoria?

Sim.

— E temporalidade?

Sim.

O veterano dá um gole no café.

— Conheço esse filme.


8. A imutabilidade é uma obsessão financeira antiga

Sistemas financeiros gostam de histórico porque dinheiro deixa rastros.

Em muitos casos não queremos:

DELETE

Queremos:

REVERSAO

Por quê?

Porque apagar o passado é péssimo para auditoria.

Imagine:

TRANSAÇÃO 100
TRANSAÇÃO -100

É muito diferente de:

NUNCA EXISTIU

Essa diferença conceitual é crítica.

Sistemas modernos chamam isso de:

event sourcing
immutable data
audit history

O veterano do mainframe talvez diga:

— Interessante.

Depois acrescenta:

— Em 1987 nós chamávamos de “não apague esse registro porque a auditoria vai perguntar”.


9. Microserviços: cada problema ganha sua casinha

Arquiteturas modernas frequentemente dividem sistemas em serviços menores.

Algo como:

CARTÃO
   |
   +-- limite-service
   +-- transaction-service
   +-- fraud-service
   +-- notification-service
   +-- customer-service

Cada serviço pode ter:

código
deployment
dados
observabilidade
equipe

Isso oferece vantagens.

Escalabilidade independente.

Implantação independente.

Domínios separados.

Equipes autônomas.

Mas também cria problemas.

Muitos problemas.

Agora você precisa administrar:

rede
latência
timeout
retry
idempotência
consistência
service discovery
tracing
versionamento
contratos

O sistema que antes tinha chamadas internas agora possui rede entre pedaços.

E existe uma máxima importante:

A rede sempre encontra maneiras criativas de lembrar que existe.


10. O COBOLzeiro conhece microserviços melhor do que pensa

Imagine um banco tradicional com:

CICS REGION A
CICS REGION B
MQ
DB2
BATCH
IMS

Você já possui componentes distribuídos.

Já possui fronteiras.

Já possui mensageria.

Já possui sistemas independentes.

A diferença é que arquiteturas cloud-native tornam essas divisões muito mais granulares.

Então quando alguém disser:

“Microservices revolucionaram tudo.”

Você pode responder:

— Sim, revolucionaram muita coisa.

Mas alguns problemas são velhos.

Por exemplo:

COMO GARANTIR QUE A MESMA OPERAÇÃO NÃO SEJA EXECUTADA DUAS VEZES?

Isso se chama:

IDEMPOTÊNCIA

No mainframe talvez você não usasse esse termo diariamente.

Mas o problema já existia.


11. Kubernetes: o gerente dos containers

Agora surge Kubernetes.

Imagine milhares de pequenos serviços.

Cada um rodando em containers.

Você precisa controlar:

onde roda
quantas cópias
quando reiniciar
como atualizar
como escalar
como descobrir

Kubernetes tenta resolver essa orquestração.

Conceitualmente:

KUBERNETES
   |
   +-- POD A
   +-- POD B
   +-- POD C
   +-- POD D

Se um morre:

RESTART

Se precisa de mais capacidade:

SCALE

Se uma versão nova chega:

ROLLING UPDATE

Um veterano do mainframe olha para isso e pensa:

“Então vocês construíram um sistema que administra workload, disponibilidade e recursos?”

Sim.

O veterano:

— Interessante.

WLM tossindo discretamente no canto.


12. WLM encontra Kubernetes no corredor

Essa comparação é deliciosa.

Não são tecnologias equivalentes.

Mas ambas convivem com perguntas semelhantes.

QUEM PRECISA DE RECURSO?
QUANTO?
COM QUAL PRIORIDADE?
ONDE EXECUTAR?
COMO REAGIR A CARGA?

No mainframe:

WLM
service classes
importance
goals

No cloud-native:

requests
limits
autoscaling
scheduling
pods
nodes

Mudou o vocabulário.

O problema continua sendo:

recursos são finitos.

Moss explica Kubernetes durante vinte minutos.

Roy resume:

— Basicamente você tem um monte de computadores e precisa impedir que eles façam besteira.

Moss:

— Tecnicamente incorreto.

Roy:

— Mas funcionalmente preciso.


13. Containers não são máquinas virtuais pequeninas

Essa é uma boa dica para o iniciante.

Container não é simplesmente:

VM PEQUENA

Ele compartilha o kernel do host e empacota aplicação e dependências de maneira isolada.

Isso torna deployment mais previsível.

A clássica frase:

NA MINHA MÁQUINA FUNCIONA

vira:

ENTÃO EMPACOTE SUA MÁQUINA

Não literalmente.

Mas quase.

Essa é uma das grandes contribuições dos containers:

reduzir diferenças entre ambientes.

Dev.

Teste.

Produção.

Todos executam artefatos semelhantes.

O sysprog antigo entende imediatamente o valor disso.

Ambiente diferente é combustível para incidente.


14. Observabilidade: porque agora ninguém sabe onde o erro aconteceu

Em um sistema distribuído, uma transação pode atravessar:

APP
 ↓
API
 ↓
SERVICE A
 ↓
SERVICE B
 ↓
DATABASE
 ↓
EVENT BUS
 ↓
SERVICE C

Quando algo falha, surge a pergunta:

ONDE?

Observabilidade tenta responder usando:

logs
metrics
traces
events

Tracing distribuído é especialmente importante.

Você pode acompanhar uma transação atravessando vários serviços.

Para o mundo mainframe isso lembra a necessidade histórica de:

SMF
RMF
CICS statistics
DB2 traces
logs
dumps

Novamente:

tecnologia nova.

Problema velho.


15. SMF provavelmente olharia para observability e diria “fofo”

Brincadeiras à parte, SMF é uma das grandes fontes históricas de telemetria de z/OS.

O mainframe registra uma quantidade extraordinária de informação operacional.

CPU.

Jobs.

I/O.

Segurança.

Subsistemas.

Performance.

Cloud-native descobriu sua própria versão desse universo.

Prometheus.

OpenTelemetry.

Grafana.

Tracing.

Logs centralizados.

A filosofia é semelhante:

se não consigo medir, não consigo administrar.

Esse é um princípio universal.


16. O custo da nuvem: a pergunta que ninguém responde com um número simples

Quanto custa atender 100 milhões de clientes?

Não existe resposta direta.

Porque:

100 MILHÕES DE CLIENTES

não significa:

100 MILHÕES DE CLIENTES ATIVOS AO MESMO TEMPO

Você precisa conhecer:

transações por segundo
storage
network
database I/O
logs
backups
replicação
ML
fraude
analytics
DR

Uma fórmula simplificada seria:

CLOUD COST =
COMPUTE
+ STORAGE
+ DATABASE
+ NETWORK
+ OBSERVABILITY
+ SECURITY
+ BACKUP
+ ANALYTICS
+ ML

Depois vem:

- otimização
- contratos
- reservas
- descontos

E aparece uma nova profissão:

FinOps

17. FinOps: o capacity planner voltou usando tênis

FinOps é a disciplina de administrar financeiramente consumo de cloud.

Porque existe uma armadilha.

Cloud facilita criar recursos.

Muito fácil.

Talvez fácil demais.

Alguém faz:

CREATE INSTANCE

Depois esquece.

Ela continua ligada.

Por semanas.

Meses.

Até alguém encontrar a conta.

No mainframe sempre existiu obsessão com:

CPU
MSU
MIPS
SOFTWARE COST

Cloud reintroduziu a mesma disciplina com nomes diferentes:

vCPU
instance hours
storage
egress
reserved instances
savings plans

O gestor antigo olha.

— Então consumo computacional continua custando dinheiro?

Sim.

— Fascinante.


18. AWS Graviton e os 14%

Uma das otimizações interessantes atribuídas publicamente ao Nubank foi adoção de processadores AWS Graviton.

A motivação é simples:

melhor relação custo/performance em determinados workloads.

Quando uma organização desse tamanho reduz uma fatia percentual relevante do custo de computação, isso pode representar muito dinheiro.

E aqui surge uma lição importante.

Em escala:

1% = DINHEIRO

Muito dinheiro.

No sistema pequeno, otimizar 3% é luxo.

No sistema gigante, pode financiar uma equipe inteira.

Isso é algo que mainframe conhece há décadas.


19. Performance engineering não morreu

Às vezes existe uma ideia ingênua:

cloud elimina preocupação com performance.

Não.

Ela pode tornar performance comprável.

Mas ainda custa.

Se um serviço usa o dobro de CPU porque o código é ruim:

CONTA = DOBRO

aproximadamente, dependendo da carga.

Então aquele velho programador obcecado por eficiência não estava completamente errado.

Talvez estivesse apenas trinta anos adiantado para a reunião de FinOps.


20. Sharding: quando um banco de dados começa a ficar apertado

Quando um banco cresce, existe outro problema.

Dados.

Muito dado.

Em algum momento você pode dividir os dados entre várias unidades.

Isso é sharding.

Imagine:

CLIENTES A-F -> SHARD 1
CLIENTES G-M -> SHARD 2
CLIENTES N-S -> SHARD 3
CLIENTES T-Z -> SHARD 4

É apenas um exemplo.

Na prática estratégias podem ser muito mais sofisticadas.

Sharding resolve alguns problemas.

E cria outros.

Sempre existe essa regra da arquitetura:

Toda solução resolve um problema e ganha três novos de bônus.

Agora surgem questões:

rebalanceamento
hotspots
consistência
roteamento
falhas
migração

Roy olha.

— Parece complicado.

Moss:

— É porque é.


21. Banco distribuído é um casamento entre física e filosofia

Quando dados estão distribuídos, surgem perguntas como:

SE DOIS NÓS DISCORDAM, QUEM ESTÁ CERTO?

Ou:

O QUE ACONTECE SE A REDE CAIR?

Ou:

QUANDO UMA TRANSAÇÃO ESTÁ REALMENTE CONFIRMADA?

Isso nos leva a consistência distribuída.

CAP theorem.

Quórum.

Replicação.

Consensus.

Eventual consistency.

Termos modernos.

Mas bancos sempre tiveram obsessão por:

ACID
COMMIT
ROLLBACK
LOCK
LOG
RECOVERY

Porque dinheiro não aceita filosofia muito abstrata.

O saldo precisa fechar.


22. Cloud-native não elimina contabilidade

Esse ponto parece óbvio.

Mas é importante.

Você pode usar:

Kubernetes
Clojure
Kafka
Datomic
AI

No fim do dia:

DÉBITO = CRÉDITO

A contabilidade continua lá.

Pode mudar a arquitetura.

Pode mudar o deployment.

Pode mudar o banco de dados.

Não muda a matemática.

Esse é o tipo de realidade que une mainframe e fintech.


23. IA agora entra no salão

Com escala gigantesca, atendimento também vira tecnologia.

Imagine milhões de perguntas:

onde está meu cartão?
por que meu limite caiu?
qual minha fatura?
como bloquear?
como negociar dívida?

Atender tudo apenas com humanos custa muito.

Então IA começa a entrar.

Chatbots.

Modelos.

Agentes.

Classificação.

Automação.

Mas agora o problema muda.

Uma IA pode responder errado.

Em banco, resposta errada pode virar:

reclamação
fraude
prejuízo
risco regulatório

Então surge outro desafio:

automação precisa ser auditável.

O mundo tecnológico moderno eventualmente descobre o mesmo princípio do mainframe:

TRUST, BUT LOG EVERYTHING.

24. Segurança: zero confiança, muitos logs

Banco digital é um alvo gigantesco.

Então precisa de:

IAM
MFA
secrets
encryption
network controls
fraud detection
monitoring
audit

No mainframe temos:

RACF
ACF2
Top Secret
SAF
profiles
permissions
logs

Novamente:

novo vocabulário.

Mesmo problema fundamental:

WHO ARE YOU?
WHAT CAN YOU DO?
WHAT DID YOU DO?

Essas três perguntas praticamente resumem segurança corporativa.


25. O curioso caso do “legado cloud”

Agora uma provocação.

Nubank nasceu moderno.

Mas qualquer plataforma suficientemente antiga cria legado.

Se um microsserviço criado em 2015 ainda existe em 2035, ele será legado.

Legado não é:

COBOL

Legado é:

software importante que sobreviveu.

Essa definição é muito mais útil.

Java vira legado.

Python vira legado.

Kubernetes vira legado.

Seu framework JavaScript favorito provavelmente já nasceu legado enquanto você lia esta frase.


26. O mainframe possui uma vantagem obscena

Existe algo que cloud-native frequentemente tenta reconstruir:

simplicidade operacional centralizada.

No mainframe você pode ter enorme quantidade de workloads dentro de uma plataforma extremamente integrada.

No mundo distribuído você ganha flexibilidade.

Mas paga em complexidade.

Milhares de containers.

Centenas de serviços.

Networking.

Observabilidade.

CI/CD.

Secrets.

Deployments.

Dependencies.

Service mesh.

Moss começa a explicar service mesh.

Roy levanta a mão.

— Não.

Moss:

— Mas é fascinante.

— Não.


27. Cloud possui outra vantagem obscena

Agora o outro lado.

Provisionamento.

Automação.

Experimentação.

Escalabilidade.

Velocidade de desenvolvimento.

Um time pode criar infraestrutura via código.

terraform apply

E ambientes aparecem.

Compare com processos históricos:

FORMULÁRIO
APROVAÇÃO
COMPRA
ENTREGA
INSTALAÇÃO
CONFIGURAÇÃO

Cloud mudou radicalmente o ciclo.

Isso foi crucial para empresas que cresceram rápido.


28. Arquitetura segue organização

Conforme a empresa cresce, aparece um problema humano.

Imagine:

10 engenheiros

Todo mundo conversa.

Agora:

100

Complica.

Agora:

1000

Você criou uma cidade.

Precisará de:

equipes
domínios
ownership
standards
platform engineering
governança

A Lei de Conway basicamente diz que sistemas tendem a refletir estruturas de comunicação das organizações.

Ou seja:

organograma também produz arquitetura.

Essa é uma verdade subestimada.


29. O programa COBOL também é arquitetura organizacional fossilizada

Pegue um programa antigo.

Ele talvez tenha:

PARA-CALCULA-TARIFA
PARA-AUTORIZA-LIMITE
PARA-GERA-HISTORICO

Por que esses módulos existem?

Talvez porque em 1994 existiam departamentos diferentes.

Arquitetura captura decisões humanas.

Software é arqueologia organizacional.

Isso vale igualmente para microservices.

Daqui a vinte anos alguém perguntará:

— Por que existem 417 serviços para processar uma fatura?

Resposta:

— Era assim que os squads estavam organizados em 2026.

😂


30. Passo a passo para um COBOLzeiro estudar arquitetura Nubank

Agora uma rota prática.

Passo 1 — Domine transações

Entenda:

COMMIT
ROLLBACK
ACID
LOCK
RECOVERY

Sem isso, arquitetura financeira vira decoração PowerPoint.

Passo 2 — Estude CICS

Entenda:

transaction manager
task
region
program
resource

Depois compare com serviços modernos.

Passo 3 — Estude Db2

Aprenda:

index
transaction
isolation
logging
recovery

Depois veja bancos distribuídos.

Passo 4 — Estude MQ

Mensageria é ponte perfeita entre os mundos.

Entenda:

queue
producer
consumer
delivery
retry

Depois Kafka e event-driven ficam muito mais fáceis.

Passo 5 — Estude containers

Docker primeiro.

Kubernetes depois.

Não comece tentando decorar YAML de 300 linhas.

Entenda o problema antes da ferramenta.

Passo 6 — Estude observabilidade

Compare:

SMF/RMF

com:

metrics/logs/traces

Passo 7 — Estude cloud economics

Aprenda:

compute
storage
network
database
egress

Depois FinOps.

Passo 8 — Estude arquitetura distribuída

Especialmente:

latency
timeout
retry
idempotency
consistency
partition

Passo 9 — Estude segurança

Compare:

RACF

com:

IAM

Passo 10 — Nunca aceite desenho de arquitetura sem perguntar:

WHAT HAPPENS WHEN THIS FAILS?

Essa pergunta vale mais que cem certificações.


31. Easter egg final: desligar e ligar não resolve tudo

Roy provavelmente tentaria:

— Have you tried turning Kubernetes off and on again?

Moss entraria em pânico.

— Não se desliga Kubernetes dessa maneira!

Roy:

— Então por que chamam de cluster?

Jen pisaria num cabo.

Produção cairia.

Alguém abriria um Sev1.

O COBOLzeiro no canto ficaria olhando.

Depois perguntaria:

— Existe rollback?

Silêncio.

— Existe backup?

Mais silêncio.

— Existe DR?

Moss:

— Naturalmente.

O veterano sorri.

Agora eles finalmente falam a mesma língua.


32. A grande conclusão

Nubank e mainframe representam épocas diferentes da engenharia.

Um nasceu em um mundo de:

cloud
smartphone
APIs
containers
distributed systems

Outro consolidou-se num mundo de:

centralized computing
transaction processing
batch
terminals

Mas ambos enfrentam:

dinheiro
estado
risco
falha
segurança
volume
auditoria
performance

E esses problemas não respeitam moda tecnológica.

É por isso que comparar Nubank com mainframe é tão interessante.

Você descobre que muitas vezes não estamos reinventando o problema.

Estamos reinventando a solução.

Às vezes melhor.

Às vezes apenas diferente.

Às vezes mais barata.

Às vezes mais rápida.

Às vezes mais complicada.

Às vezes todas essas coisas ao mesmo tempo.


Epílogo — O chamado do incidente

São 02:47 da manhã.

O celular toca.

Produção.

Roy atende.

— IT.

Do outro lado:

— Os pagamentos estão lentos.

Roy:

— Have you tried turning it off and on again?

Moss arranca o telefone.

— NÃO!

O programador COBOL olha para o dashboard.

CPU normal.

Banco normal.

Rede estranha.

Um serviço está repetindo requisições após timeout.

Retry.

Retry.

Retry.

Milhares.

Ele pergunta:

— As operações são idempotentes?

Moss congela.

Roy pergunta:

— Isso é alguma religião?

O COBOLzeiro dá um gole no café.

— Não.

Aponta para a tela.

— É a diferença entre cobrar uma vez e cobrar três.

Silêncio.

Finalmente todos entendem.

Porque por trás de:

AWS
CLOJURE
DATOMIC
KUBERNETES
MICROSERVICES
AI

continua existindo a pergunta mais antiga do sistema bancário:

O dinheiro chegou ao lugar certo, uma única vez, e conseguimos provar isso?

Se a resposta for sim, o sistema está funcionando.

Se a resposta for não...

bem...

ligue para o CPD.

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...