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

sábado, 12 de setembro de 2026

👄 COBOL Horror Picture Show — Frank-N-Furter e a Estranha Arte de Modernizar sem Matar a Criatura

 

Bellacosa Mainframe e a modernização do cobol

☕ Um Café no Bellacosa Mainframe

👄 COBOL Horror Picture Show — Frank-N-Furter e a Estranha Arte de Modernizar sem Matar a Criatura

“Don’t dream it. Be it.” — e, se estiver em produção há quarenta anos, talvez seja melhor descobrir primeiro todas as dependências antes de tentar transformá-lo.

Há alguma coisa deliciosamente apropriada em colocar Frank-N-Furter, de The Rocky Horror Picture Show, diante de uma arquitetura de modernização COBOL.

Pense na cena.

No centro do laboratório existe uma aplicação COBOL.

Ela é antiga.

Muito antiga.

Há décadas recebe transações, abre arquivos, atualiza bancos de dados, processa lotes durante a madrugada e alimenta sistemas que provavelmente nem existiam quando sua primeira versão foi compilada.

Em volta dela aparecem engenheiros carregando Git, Jenkins, Terraform, Ansible, AWS EC2, RDS, Secrets Manager e CloudWatch.

Luzes piscam.

Pipelines começam a executar.

Playbooks descem do Git.

EC2s surgem.

O banco ganha vida.

E alguém grita:

“IT'S ALIVE!”

Calma.

Frank-N-Furter ficaria encantado.

Eu ficaria procurando o JCL.

Porque existe uma diferença monumental entre fazer um programa COBOL executar em outro lugar e modernizar o sistema empresarial do qual aquele programa faz parte.

E é justamente essa diferença que vamos explorar.

Bem-vindo ao laboratório.



🎭 1. Antes de tudo: conheça o Dr. Frank-N-Furter

The Rocky Horror Picture Show nasceu como adaptação cinematográfica do musical The Rocky Horror Show, criado por Richard O'Brien, e chegou aos cinemas em 1975.

No centro daquela insanidade musical está o Dr. Frank-N-Furter, interpretado por Tim Curry.

Cientista.

Showman.

Manipulador.

Extravagante.

E, sobretudo, criador.

Frank não quer simplesmente estudar aquilo que existe.

Ele quer construir sua própria criatura.

Rocky nasce dentro do laboratório como materialização dessa ambição.

E é exatamente por isso que Frank é nosso tutor perfeito para esta conversa.

Modernização de sistemas também pode sofrer da síndrome de Frank-N-Furter:

ficamos tão fascinados com nossa capacidade de construir alguma coisa nova que esquecemos de perguntar se entendemos completamente aquilo que estamos substituindo.



⚡ 2. Há uma criatura COBOL sobre a mesa

Nossa arquitetura começa com algo aparentemente simples:

COBOL
   +
AWS EC2
   +
AWS RDS
   +
Ansible
   +
Terraform
   +
CI/CD

A proposta é elegante.

Temos ambientes:

DEV
 ↓
SIT
 ↓
UAT
 ↓
PRE-PROD
 ↓
PROD

Terraform provisiona infraestrutura.

Ansible configura máquinas e instala o ambiente necessário.

O pipeline controla o processo.

RDS fornece banco de dados gerenciado.

Git preserva código e configuração.

CloudWatch observa o ambiente.

Excelente.

Mas Frank-N-Furter aproxima-se da mesa, levanta o lençol e pergunta:

“Isso é realmente tudo que existe dentro da criatura?”

Não.

Quase nunca.



🧟 3. COBOL não é o monstro

Esta talvez seja a primeira grande inversão que precisamos fazer.

Quando alguém anuncia:

“Temos uma aplicação COBOL de quarenta anos.”

muita gente imediatamente imagina que encontrou o problema.

Não encontrou.

Encontrou uma linguagem.

O problema real pode estar em tudo aquilo que cresceu ao redor dela:

                COBOL
                  │
       ┌──────────┼──────────┐
       │          │          │
      CICS       IMS        Db2
       │          │          │
      VSAM       MQ        Stored
       │                   Procedures
       │
      JCL
       │
   Scheduler
       │
 GDG / datasets

Depois aparecem:

SORT
IDCAMS
REXX
PROCs
copybooks
utilities
FTP/SFTP
APIs
arquivos externos
interfaces
sistemas parceiros

Então alguém encontra um programa:

CALL 'XPTO123'

Ótimo.

Onde está XPTO123?

Ninguém sabe.

Até que aquele senhor sentado no fundo da sala fala:

“Ah... isso chama uma rotina que o Pereira escreveu em 1997.”

Onde está Pereira?

Aposentado.

Documentação?

Não existe.

Código?

Está numa load library.

Bem-vindo ao castelo.


🔬 4. “I can make you a man” — recompilar não significa modernizar

Imagine que conseguimos pegar determinado programa COBOL e compilá-lo para execução em Linux numa instância EC2.

Fantástico.

COBOL/zOS
    │
    ▼
COBOL/Linux
    │
    ▼
AWS EC2

A aplicação executa.

Então:

“IT'S ALIVE!”

Sim.

Mas cuidado.

Fizemos replatforming.

Talvez isso seja exatamente aquilo que o projeto necessita. Não há absolutamente nada de errado com replatforming.

O erro está em chamar qualquer mudança de plataforma de transformação completa.

A lógica pode continuar praticamente igual.

O código pode continuar COBOL.

O que mudou foi o ambiente no qual ele vive.

É como Rocky.

Frank criou um homem.

Mas criar um corpo funcionando não resolveu automaticamente todos os problemas do castelo.


🏗️ 5. Terraform constrói o laboratório

Vamos separar responsabilidades.

Terraform pode assumir a infraestrutura:

Terraform
    │
    ├── VPC
    ├── Subnets
    ├── Security Groups
    ├── EC2
    ├── IAM
    ├── RDS
    └── outros recursos

Pense nele como quem prepara o laboratório.

Mesa instalada.

Eletricidade ligada.

Tanque montado.

Cabos conectados.

Máquinas posicionadas.

Mas Terraform não deveria necessariamente decidir cada detalhe de configuração da criatura.

Para isso entra outro personagem.


🧰 6. Ansible entra usando salto alto

Ansible entra no laboratório dizendo:

“Deixem a configuração comigo.”

E começa.

EC2
 ↓
pacotes do sistema operacional
 ↓
COBOL compiler/runtime
 ↓
environment variables
 ↓
aplicação
 ↓
configuração
 ↓
database connectivity
 ↓
services
 ↓
health checks

É aqui que a arquitetura original fica realmente interessante.

Não precisamos ter um processo artesanal para DEV, outro para SIT, outro para UAT e um ritual secreto conhecido apenas por dois operadores para PRE-PROD.

Temos automação reutilizável.

Algo conceitualmente assim:

             ANSIBLE ROLE
                  │
       ┌──────────┼──────────┐
       │          │          │
      DEV        SIT        UAT
                              │
                              ▼
                          PRE-PROD

A receita permanece.

Os ingredientes variáveis são separados.


🧓 7. O programador COBOL olha para group_vars e começa a rir

Aqui temos uma das minhas partes favoritas.

A turma DevOps explica:

“Nós separamos a lógica da automação dos parâmetros específicos do ambiente.”

O programador COBOL responde:

“Parâmetros?”

Sim.

DEV pode ter:

DB = APP_DEV
PORT = 1521
ENDPOINT = dev-database

SIT:

DB = APP_SIT
PORT = 1521
ENDPOINT = sit-database

UAT:

DB = APP_UAT
PORT = 1521
ENDPOINT = uat-database

O playbook continua fundamentalmente o mesmo.

Para alguém vindo do mainframe, isso não deveria parecer ficção científica.

Nós passamos décadas trabalhando com conceitos semelhantes através de:

JCL
PROCs
symbolic parameters
PARMLIB
SYSIN
DD statements

Mudam as ferramentas.

A ideia de externalizar configuração é muito mais antiga que os slides modernos que a apresentam.

Frank-N-Furter provavelmente acrescentaria glitter.


👄 8. “Don’t dream it. Be it.” — Infrastructure as Code

Aqui encontramos uma mudança genuinamente poderosa.

Durante décadas tivemos infraestrutura e configuração documentadas mais ou menos assim:

“Instalar pacote X, editar arquivo Y, trocar parâmetro Z, reiniciar serviço e telefonar para Carlos se não funcionar.”

Carlos sai da empresa.

Fim da documentação.

Infrastructure as Code transforma parte desse conhecimento operacional em algo executável.

CONHECIMENTO
     ↓
    CODE
     ↓
Version Control
     ↓
Automation
     ↓
Environment

Isso é importante.

Código pode ser:

revisado, versionado, comparado, testado, auditado e reproduzido.

O conhecimento deixa de existir exclusivamente na memória do operador.


🧪 9. DEV → SIT → UAT → PRE-PROD

Agora Frank conduz nossa criatura pelos diferentes aposentos do castelo.

DEV

Aqui desenvolvemos e realizamos os primeiros testes.

SOURCE
  ↓
BUILD
  ↓
TEST
  ↓
DEPLOY

SIT

System Integration Testing.

Aqui descobrimos uma verdade universal da informática:

Tudo funciona perfeitamente até precisar conversar com outra coisa.

Banco.

APIs.

Filas.

Serviços.

Arquivos.

Autenticação.

Sistemas externos.

UAT

User Acceptance Testing.

Agora a pergunta deixa de ser apenas:

“Funciona?”

e torna-se:

“Isso faz aquilo que o negócio realmente precisa?”

Diferença enorme.

PRE-PROD

Aqui chegamos ao ensaio geral.

E PRE-PROD deveria ser assustadoramente parecido com produção.


🏰 10. PRE-PROD precisa ser o castelo quase completo

Um PRE-PROD simplificado demais produz falsa segurança.

Precisamos considerar:

OS version
runtime version
COBOL compiler/runtime
database version
patches
CPU architecture
memory
network
TLS
IAM
filesystem
locale
encoding
timezone
batch
integrations
security policies

Quanto mais diferente de PROD, mais perguntas surgem.

Imagine:

UAT
COBOL Runtime 8.0

PROD
COBOL Runtime 7.4

Funcionou no UAT.

Que maravilhoso.

Mas você não testou produção.

Testou outra coisa.


📦 11. Está faltando um personagem importante: o artefato

Aqui eu faria uma alteração importante na arquitetura.

Não gosto da ideia de recompilar arbitrariamente a aplicação em cada ambiente.

Prefiro:

          SOURCE
             │
             ▼
           BUILD
             │
             ▼
            TEST
             │
             ▼
      ARTIFACT REPOSITORY
             │
     ┌───────┼─────────┐
     ▼       ▼         ▼
    DEV     SIT       UAT
                       │
                       ▼
                   PRE-PROD
                       │
                       ▼
                     PROD

Isso nos leva a um princípio extremamente poderoso:

Build once, deploy many.

Produzimos uma criatura.

Depois submetemos aquela mesma criatura aos testes.

Não fazemos Rocky 1 para DEV, Rocky 2 para SIT, Rocky 3 para UAT e Rocky 4 para produção esperando que todos sejam geneticamente idênticos.


🕵️ 12. A pergunta do auditor

Imagine uma mudança chegando a produção.

O auditor pergunta:

“Esse binário é exatamente aquele homologado?”

Se cada ambiente recompila:

SOURCE
 ↓
DEV BUILD

SOURCE
 ↓
SIT BUILD

SOURCE
 ↓
UAT BUILD

SOURCE
 ↓
PROD BUILD

temos quatro processos de construção.

Mesmo que tudo pareça igual, aumentamos nossa superfície de dúvida.

Com artefato imutável:

SOURCE
 ↓
BUILD
 ↓
ARTIFACT 7.3.17
 ↓
DEV
 ↓
SIT
 ↓
UAT
 ↓
PRE-PROD
 ↓
PROD

agora existe uma cadeia muito mais clara.


🔐 13. Sweet Transvestite não significa senha escrita no YAML

Chegamos aos secrets.

Nunca faça:

database_password: "senha_supersecreta123"

e depois:

git commit

Parabéns.

Você acaba de transformar seu Git em museu arqueológico de credenciais.

A arquitetura corretamente menciona mecanismos como Ansible Vault e AWS Secrets Manager.

O princípio é:

CODE ≠ SECRET

Idealmente:

CI/CD
   │
   ▼
IAM / temporary authorization
   │
   ▼
Secrets Manager
   │
   ▼
Runtime

O segredo aparece apenas onde e quando precisa aparecer.


🧛 14. Privilégio mínimo: nem Frank deveria ter acesso a tudo

Outro princípio:

Developer ≠ Production Admin
Application ≠ Database Admin
Pipeline ≠ Unlimited AWS Administrator

Cada componente recebe apenas aquilo de que necessita.

Isso é least privilege.

Se determinado processo precisa consultar um segredo, não existe razão automática para permitir que consulte todos.

Se uma aplicação precisa acessar determinado banco, não significa que deva possuir poder administrativo sobre ele.

É o equivalente moderno de algo que o pessoal RACF conhece muito bem:

Quem é você e por que exatamente precisa acessar isso?


🗄️ 15. RDS parece simples até começarmos a falar de Db2

A imagem permite Oracle/PostgreSQL como exemplos.

Tudo bem.

Mas um cenário vindo de mainframe pode envolver:

COBOL
  +
Db2 for z/OS

E alguém inevitavelmente pensa:

Db2 → Db2

Então deve ser simples.

Ah, meu jovem Brad...

Não necessariamente.

Db2 for z/OS
      ≠
Db2 LUW
      ≠
RDS for Db2

Existe parentesco tecnológico.

Não existe identidade operacional perfeita.

Precisamos investigar SQL utilizado, stored procedures, utilities, comportamento transacional, autorização, integração e características específicas da plataforma.

O banco pode carregar tanta arqueologia quanto o COBOL.


🗃️ 16. E o VSAM?

Agora Frank encontra um arquivo VSAM no porão.

Silêncio.

Se a aplicação original utiliza:

KSDS
ESDS
RRDS

precisamos responder:

Para onde esses dados vão?

RDS?

Arquivos?

Outro datastore?

Mantemos comportamento equivalente?

E principalmente:

a aplicação depende semanticamente da organização original?

Não basta exportar registros e dizer:

“Migrei.”

Dados possuem comportamento.

Chaves.

Ordenação.

Concorrência.

Locking.

Integridade.

Performance.

Tudo isso importa.


📜 17. E o JCL?

Aqui está uma das grandes vítimas dos diagramas bonitos de modernização.

Pegamos o COBOL.

Migramos.

E esquecemos que às 02:00 existe isto:

JOB A
 ↓
JOB B
 ↓
JOB C ─── JOB D
   │
   ▼
 JOB E
   │
   ▼
 JOB F

Existem dependências.

Calendários.

Arquivos.

Condições.

Return codes.

Restart.

Checkpoints.

SLA.

Janelas de processamento.

O JCL talvez desapareça.

A necessidade que ele implementava não desaparece.

Alguma outra coisa precisará orquestrar aquilo.


⏰ 18. O batch não quer saber que agora você é cloud

Imagine um processamento que precisa terminar até 06:00.

No mainframe:

23:00 START
...
05:31 END

Migramos para AWS.

Agora:

23:00 START
...
06:47 END

Tecnicamente funciona.

Funcionalmente funciona.

Os resultados estão corretos.

E mesmo assim:

A MIGRAÇÃO FALHOU.

Porque o negócio precisava dos dados às 06:00.

Essa é uma lição gigantesca.

Compatibilidade funcional não é suficiente.

Precisamos de compatibilidade operacional.


📊 19. CloudWatch não deveria ficar decorando o canto do desenho

Observabilidade precisa atravessar toda a solução.

Não basta:

EC2 = UP
RDS = UP

Enquanto:

Pedidos processados = ZERO

Infraestrutura saudável não significa aplicação saudável.

Precisamos enxergar:

CPU
memory
disk
network
database latency
connections
locks
errors
transaction rate
response time
batch duration
business transactions

E aqui o veterano do mainframe reconhece novamente uma velha ideia.

O importante não é saber apenas:

“A máquina está ligada?”

O importante é:

“O workload está entregando aquilo que deveria?”


💥 20. PRE-PROD também precisa morrer

Frank provavelmente aprovaria esta parte.

Testamos:

DATABASE ONLINE

Excelente.

Agora desligue o banco.

Testamos:

NETWORK OK

Excelente.

Agora introduza timeout.

Testamos:

DISK SPACE OK

Encha o disco.

Testamos:

PASSWORD VALID

Revogue a credencial.

Queremos descobrir:

database unavailable
network failure
bad credentials
timeout
disk full
process killed
duplicate transaction
corrupted input
rollback failure
partial deployment

Porque produção descobrirá essas condições por você.

E produção não agenda laboratório.


🔥 21. O health check mais importante talvez seja o ABEND

Um health check dizendo:

HTTP 200

é agradável.

Mas para uma aplicação empresarial eu quero saber:

Aplicação iniciou?
Banco conecta?
Fila responde?
Transação funciona?
Arquivo abre?
Batch executa?
Rollback funciona?
Restart funciona?
Dados permanecem consistentes?

Um sistema não é saudável porque existe um processo no ps.

Ele é saudável quando consegue realizar sua função.


🔄 22. Rollback precisa entrar no espetáculo

Deployment sem rollback testado é fé.

O pipeline deveria conhecer algo como:

VERSION 8.4
    │
    ▼
DEPLOY
    │
    ├── SUCCESS → continue
    │
    └── FAILURE
            │
            ▼
        VERSION 8.3
            │
            ▼
        VALIDATION

Mas existe uma complicação.

Rollback de executável é relativamente fácil.

Rollback de banco pode não ser.

Se versão 8.4 alterou schema e começou a gravar dados novos, voltar simplesmente o executável para 8.3 talvez não resolva.

Portanto deployment strategy precisa conversar com database migration strategy.


🧬 23. A criatura tem memória

Esse é outro erro frequente.

Tratamos aplicação como código.

Mas aplicações empresariais são:

CODE
 +
DATA
 +
STATE
 +
INTEGRATIONS
 +
HISTORY

Migrar código é apenas uma parte.

Migrar décadas de dados mantendo integridade pode ser o verdadeiro projeto.

Frank consegue construir outro corpo.

Transferir quarenta anos de memória para ele é outra história.


🕸️ 24. Discovery deveria aparecer antes de Terraform

Se eu redesenhasse completamente a figura, colocaria no início:

             DISCOVERY
                 │
      ┌──────────┼───────────┐
      │          │           │
    COBOL       JCL         DATA
      │          │           │
     CICS    Scheduler     VSAM
      │                      │
     IMS                    Db2
      │
      MQ
      │
 External Systems

Depois:

Dependency Mapping
       ↓
Workload Classification
       ↓
Modernization Strategy
       ↓
Architecture
       ↓
Terraform / Ansible / CI/CD

Essa ordem é fundamental.

Não escolha a ferramenta antes de compreender o problema.


🧭 25. Nem tudo precisa sair do mainframe

Aqui está outra heresia contra certas apresentações de modernização.

Podemos terminar com:

                   ENTERPRISE
                       │
           ┌───────────┴───────────┐
           │                       │
         IBM Z                    AWS
           │                       │
      COBOL/CICS                 Services
           │                       │
          Db2       ← API/MQ →     RDS
           │                       │
        Batch                    Analytics

Isso também é modernização.

Talvez seja uma modernização melhor.

Mainframe não precisa desaparecer para AWS existir.

AWS não precisa substituir IBM Z para gerar valor.

O objetivo deveria ser colocar cada workload onde faz sentido técnico, econômico e operacional.


🏎️ 26. Performance: “funciona” é uma palavra perigosíssima

Suponha que uma transação CICS respondesse em:

40 ms

A nova aplicação responde em:

480 ms

Funciona?

Sim.

É equivalente?

Talvez não.

Agora multiplique pela quantidade de transações.

Adicione network latency.

Database round trips.

APIs.

TLS.

Logs.

Tracing.

De repente aquela diferença aparentemente pequena torna-se enorme.

Modernização precisa de baseline antes da migração.

Sem baseline você termina dizendo:

“Parece mais lento.”

Isso não é engenharia.


💰 27. E existe FinOps

Outro easter egg escondido sob a mesa do laboratório.

No mainframe alguém pode reclamar:

“MIPS são caros!”

Migramos para cloud.

Então descobrimos:

EC2
RDS
storage
IOPS
snapshots
data transfer
NAT
logs
monitoring
backup
licenses
support

e percebemos que cloud não significa:

barato.

Significa principalmente:

modelo econômico diferente.

Se não medirmos consumo, uma arquitetura elasticamente maravilhosa pode gerar uma conta elasticamente maravilhosa também.


👄 28. “Don’t dream it. Be it.”

Chegamos finalmente à grande lição de Frank-N-Furter.

Não devemos ter medo de transformar sistemas.

COBOL pode viver em novas plataformas.

Pode participar de pipelines modernos.

Pode trabalhar com Git.

Pode ser automatizado com Ansible.

Pode ter infraestrutura criada com Terraform.

Pode conversar com cloud.

Pode expor APIs.

Pode entrar num processo CI/CD.

Não existe qualquer contradição nisso.

O problema começa quando confundimos modernização com maquiagem tecnológica.

Trocar:

z/OS

por:

Linux

não moderniza automaticamente arquitetura.

Trocar:

Db2

por:

PostgreSQL

não moderniza automaticamente dados.

Trocar:

JCL

por:

YAML

não moderniza automaticamente processos.

E trocar:

datacenter

por:

AWS

não moderniza automaticamente engenharia.


🧠 29. A verdadeira modernização

Para mim, modernização aparece quando conquistamos:

REPRODUCIBILITY
      +
AUTOMATION
      +
OBSERVABILITY
      +
TRACEABILITY
      +
SECURITY
      +
TESTABILITY
      +
RESILIENCE
      +
MAINTAINABILITY

Se conseguimos isso mantendo COBOL?

Excelente.

Se parte precisa ser reescrita?

Pode fazer sentido.

Se outra parte permanece no IBM Z?

Perfeitamente possível.

Se determinado workload vai para AWS?

Ótimo.

Tecnologia é consequência da decisão arquitetural.

Não deveria ser sua causa.


🥚 Easter egg — 03:17 no castelo

Naturalmente precisamos deixar uma pequena surpresa.

São 03:17 da madrugada.

O telefone toca.

Produção parou.

O dashboard está verde.

EC2:

RUNNING

RDS:

AVAILABLE

CPU:

12%

Memory:

41%

CloudWatch:

NO INFRASTRUCTURE ALARM

Mas o batch não termina.

Um engenheiro olha para outro.

Ninguém entende.

Então aparece um veterano COBOL carregando uma caneca de café.

Ele olha cinco minutos para os logs e pergunta:

“Onde está o arquivo que o JOB anterior deveria ter criado?”

Silêncio.

O arquivo não existe.

O JOB anterior terminou com RC=04.

O novo scheduler considerou RC=04 sucesso.

O sistema antigo possuía uma regra que tratava aquele retorno especificamente.

Ela nunca apareceu no diagrama de migração.

Frank-N-Furter olha para sua criatura.

A criatura olha para Frank.

E o veterano toma outro gole de café.

O COBOL havia sido migrado perfeitamente.

O conhecimento operacional, não.


☕ 30. A lição final do Bellacosa Mainframe

Há algo profundamente fascinante nesses sistemas antigos.

Quando encontramos um programa COBOL escrito em 1989, atualizado em 1997, alterado em 2008, integrado com uma API em 2019 e ainda executando em 2026, não estamos olhando simplesmente para código legado.

Estamos olhando para história empresarial executável.

Cada IF.

Cada copybook.

Cada DD.

Cada tabela.

Cada fila.

Cada estranho RC=04.

Pode existir porque alguma coisa aconteceu.

Alguém tomou uma decisão.

Algum problema ocorreu.

Alguma regra comercial nasceu.

Algum cliente reclamou.

Algum auditor exigiu.

Alguma madrugada de produção ensinou uma lição.

Por isso, quando alguém entrar no laboratório segurando Terraform numa mão e Ansible na outra, não devemos impedi-lo.

Muito pelo contrário.

Acendam as máquinas.

Preparem AWS.

Construam pipelines.

Versionem tudo.

Automatizem.

Observem.

Testem.

Modernizem.

Só não cometam o erro de Frank-N-Furter:

não fiquem tão apaixonados pela nova criatura a ponto de esquecer de compreender o mundo no qual ela terá de sobreviver.

Porque, no final, a pergunta mais importante de uma modernização COBOL não é:

“Conseguimos fazê-lo rodar na AWS?”

É:

“Conseguimos preservar quarenta anos de comportamento, regras, dependências e conhecimento — eliminando aquilo que ficou obsoleto e melhorando aquilo que realmente precisava mudar?”

Se a resposta for sim, então podem aumentar o volume.

As luzes do laboratório podem acender.

Terraform pode subir a infraestrutura.

Ansible pode executar o playbook.

Jenkins pode promover o artefato.

CloudWatch pode começar a observar.

E Frank-N-Furter finalmente poderá anunciar:

⚡ “IT'S ALIVE!”

Enquanto o velho programador COBOL, sentado discretamente no fundo do laboratório, acrescentará:

“Muito bonito. Agora vamos ver se fecha o batch antes das seis.” ☕👄⚡



 

domingo, 30 de agosto de 2026

Dr. House Entra no Centro de Operações — Seis Etapas de IA, um Programa COBOL em Coma e o Diagnóstico que o Logo Bonito Não Faz

 

Bellacosa Mainframe e as 6 etapas de ia para um programador cobol

☕ Um Café no Bellacosa Mainframe

Dr. House Entra no Centro de Operações — Seis Etapas de IA, um Programa COBOL em Coma e o Diagnóstico que o Logo Bonito Não Faz

Ou: por que assinar vinte ferramentas de inteligência artificial não salva um processo mal definido, não conserta um S0C7 e certamente não dá alta para produção sem exame, teste e alguém disposto a dizer “isso não fecha”


Prólogo — O paciente chegou falando em produtividade

Eram 7h12 quando um jovem padawan COBOL entrou na sala de diagnóstico do hospital imaginário de Princeton-Plainsboro, carregando um notebook, três abas abertas, uma apresentação com quarenta logos coloridos e uma expressão de quem acabara de descobrir o Santo Graal da produtividade.

— Doutor House, encontrei o mapa definitivo. São seis etapas para fazer mais com IA: pensar, programar, criar conteúdo, trabalhar melhor, fazer imagens e automatizar tudo.

House nem levantou os olhos da bengala.

— “Automatizar tudo” é uma frase linda. Também é uma ótima maneira de automatizar um desastre inteiro antes do café.

O rapaz ficou imóvel.

— Mas tem ChatGPT, Claude, Perplexity, Cursor, Replit, Midjourney, n8n, Zapier…

— Exatamente — respondeu House. — Uma ambulância cheia de aparelhos não cura o paciente se ninguém souber qual órgão está falhando. Agora me diga: qual é o problema?

E ali começa a conversa que todo iniciante precisa ter. Inteligência artificial não é uma coleção de aplicativos com ícones bonitos. É uma camada de apoio para pensar, pesquisar, escrever, programar, revisar, criar, organizar e automatizar. Quando usada com método, poupa tempo e melhora a qualidade. Quando usada como caixa-preta, produz uma quantidade industrial de respostas convincentes, código aparentemente elegante, imagens espetaculares e erros muito bem embalados.

No mainframe, onde um detalhe de dado, segurança ou processamento pode afetar milhares — às vezes milhões — de operações, essa diferença é ainda maior.

O Dr. House, naturalmente, não está interessado em “qual IA é a melhor”. Ele quer saber: qual é o sintoma? Qual dado confirma a hipótese? O que pode estar escondido? E qual ação ainda precisa de um ser humano com responsabilidade e café suficiente?



1. Primeira etapa: pensar e perguntar — antes de pedir resposta, descubra a pergunta

A primeira camada do quadro reúne ferramentas como ChatGPT, Claude e Perplexity. Em aparência, elas fazem a mesma coisa: você escreve uma pergunta e recebe uma resposta. Na prática, o uso saudável é mais profundo.

Uma ferramenta conversacional pode ajudar a:

  • organizar uma ideia confusa;

  • explicar um conceito técnico em vários níveis;

  • criar exemplos;

  • comparar soluções;

  • revisar um texto;

  • transformar um requisito em casos de teste;

  • fazer o papel de aluno iniciante, arquiteto, revisor ou advogado do diabo.

Já uma ferramenta focada em pesquisa tende a ser mais útil quando você precisa localizar fontes, comparar documentação, verificar onde uma afirmação apareceu e continuar a investigação por conta própria.

A primeira lição do padawan COBOL é simples: a IA responde à pergunta que você fez, não à pergunta que você queria ter feito.

Compare:

“Explique CICS.”

Agora compare:

“Explique HANDLE CONDITION em CICS para um programador COBOL iniciante. Diferencie-o de HANDLE ABEND, apresente um exemplo de erro ao tratar NOTFND e explique por que capturar um abend e simplesmente retornar pode esconder um problema de integridade.”

A segunda pergunta tem objetivo, contexto, profundidade e critérios de qualidade. Ela força a ferramenta a trabalhar. A primeira pede uma apostila genérica, algo entre “CICS é um monitor de transações” e uma vontade súbita de fechar a aba.

House bateu com a bengala na mesa.

— Todo mundo mente. Inclusive o requisitante. Ele diz que precisa de “uma explicação sobre Db2”, mas na verdade precisa descobrir por que o programa Java recebe -805 e o SELECT no SPUFI funciona.

É uma provocação, mas ela carrega uma verdade operacional: perguntas vagas produzem respostas vagas. Em tecnologia, o problema real costuma estar escondido atrás da primeira descrição.

Um método simples para perguntar melhor

Antes de chamar uma IA, organize cinco itens:

  1. Objetivo: o que você quer decidir, aprender ou produzir?

  2. Contexto: qual ambiente, linguagem, versão, público ou restrição?

  3. Entrada: quais dados, logs, trecho de código ou fontes são confiáveis?

  4. Saída esperada: explicação, checklist, código, teste, tabela, roteiro?

  5. Critério de aceitação: como você saberá que a resposta presta?

Exemplo aplicado:

“Tenho um programa COBOL batch que lê um arquivo sequencial e recebe S0C7 ao calcular valor líquido. Crie hipóteses ordenadas por probabilidade, diga quais campos devo inspecionar, mostre um exemplo seguro de validação antes do cálculo e não invente o conteúdo do dump.”

Essa é uma excelente conversa técnica. A IA pode sugerir que campos numéricos contêm espaços, caracteres inválidos, sinal inesperado, desalinhamento de layout ou uma origem de dados mal tratada. Mas o dump, o DISPLAY, o FILE STATUS, o layout real e a evidência ainda são seus.

A IA pode levantar diagnóstico diferencial. Não pode declarar o paciente curado sem exame.


2. A segunda etapa: construir e programar — velocidade não substitui entendimento

Cursor, Replit, Lovable, Base44 e ferramentas semelhantes prometem construir aplicações rapidamente. E cumprem parte da promessa. Elas conseguem gerar telas, APIs simples, formulários, protótipos, integrações comuns e até estruturas iniciais de projetos em tempo muito menor que o desenvolvimento manual.

Mas existe uma diferença histórica entre:

  • fazer uma demonstração funcionar;

  • fazer um sistema sobreviver à realidade.

No hospital de House, o jovem padawan mostra um aplicativo de cadastro de clientes gerado em vinte minutos.

— Ele cria, altera e exclui clientes — comemora.

House olha para a tela.

— Quem pode excluir? Exclusão é física ou lógica? O CPF pode mudar? Como você evita que dois operadores alterem o mesmo registro? Cadê o log de auditoria? Onde está o rollback? O que acontece se o banco cair entre atualizar o cadastro e registrar a transação? Quem validou a autorização?

Silêncio.

Em COBOL, nós já conhecemos esse filme. Um MOVE é fácil. O difícil é saber se ele deveria acontecer. Um WRITE é fácil. O difícil é garantir que o registro não foi duplicado, que a chave é válida, que o arquivo está consistente e que o operador não está vendo uma mensagem bonita escondendo um erro grave.

A IA é muito boa para acelerar tarefas mecânicas:

  • criar o esqueleto de um programa;

  • explicar um trecho legado;

  • gerar comentários iniciais;

  • sugerir refatorações;

  • criar casos de ZUnit;

  • transformar regras descritas em linguagem natural em cenários de teste;

  • elaborar uma matriz de entradas e saídas;

  • ajudar a escrever JCL de laboratório;

  • documentar um fluxo CICS, Db2 ou VSAM.

Mas ela precisa ser tratada como um desenvolvedor júnior muito rápido, muito disponível e perigosamente confiante. Ela não conhece o seu ambiente por osmose. Ela não sabe quais copybooks são padrão, quais campos carregam regras históricas, qual job tem janela crítica, qual transação depende de outra nem que um campo aparentemente inocente é usado por um sistema de fraude há quinze anos.

O teste da pergunta incômoda

Antes de aceitar código gerado por IA, pergunte:

  • Compila?

  • Passa nos testes?

  • Trata erro?

  • Mantém o padrão do projeto?

  • Expõe dado sensível?

  • Tem permissão excessiva?

  • Entende concorrência?

  • É reversível?

  • Foi revisado por alguém que conhece a regra de negócio?

Se a resposta a qualquer uma for “não sei”, o código não está pronto. Está apenas escrito.

A produtividade verdadeira não é gerar mais linhas. É reduzir o tempo entre entender uma necessidade e entregar uma mudança correta, testada, auditável e sustentável.


3. Terceira etapa: criar conteúdo — a IA multiplica formatos, não fabrica autoridade

A terceira faixa do mapa fala de ferramentas para texto, avatar, vídeo, edição, cortes e newsletter. Aqui existe um ganho extraordinário para quem cria conteúdo técnico.

Uma explicação boa sobre COBOL pode virar várias peças:

  • artigo detalhado para blog;

  • roteiro de vídeo;

  • short de 45 segundos;

  • carrossel para LinkedIn;

  • infográfico;

  • checklist;

  • newsletter;

  • exercício para alunos;

  • perguntas e respostas;

  • thumbnail para YouTube.

A IA reduz o esforço de conversão entre formatos. Ela pode pegar um texto longo e sugerir títulos, cortes, pontos de curiosidade, estrutura de carrossel ou uma lista de dúvidas frequentes.

Mas atenção: converter não é repetir.

Se você pega um artigo técnico e manda a IA “criar dez posts”, ela provavelmente entregará dez versões da mesma sopa requentada: “No mundo acelerado de hoje…”, “Você sabia?”, “A revolução chegou…”. É conteúdo que não ofende ninguém e também não permanece em ninguém.

A conexão nasce de uma voz própria, de um exemplo realista e de uma tese. Um texto sobre S0C7 é mais memorável quando explica que o programa não “ficou louco”: alguém mandou o COBOL tratar como número algo que, em algum ponto da cadeia, deixou de ser número. O abend é o médico gritando que o exame de sangue não combina com o diagnóstico.

House aprovaria essa parte.

— O sintoma não é a doença. Febre não é diagnóstico. S0C7 também não.

Para conteúdo técnico, a IA deve ajudar a estruturar e editar; a experiência humana deve fornecer o cheiro de produção. É ela que sabe por que um ICH408I em homologação pode ser uma configuração inocente ou a primeira pista de uma concessão de acesso feita sem controle. É ela que sabe que o programa “simples” costuma ter uma regra escondida no copybook, uma exceção em um IF e uma história antiga que ninguém documentou.

A máquina produz texto. O autor produz significado.


4. Quarta etapa: trabalhar com mais inteligência — não é só escrever melhor, é construir memória confiável

Ferramentas de correção, anotações, e-mail, ditado, pesquisa de documentos e organização parecem menos glamourosas do que gerar um vídeo cinematográfico. Mas, para quem trabalha com conhecimento, elas podem ser mais úteis.

A maior virada de chave ocorre quando a IA deixa de conversar apenas com “a internet” e passa a trabalhar sobre material confiável e permitido: documentação oficial, runbooks, procedimentos, atas, manuais, apostilas, normas, código autorizado e notas técnicas.

Imagine duas perguntas.

A primeira:

“Como resolver um ICH408I?”

A segunda:

“Com base no procedimento de acesso de homologação, explique o fluxo aprovado para investigar ICH408I, indicando que evidências devem ser coletadas antes de solicitar alteração de perfil.”

A primeira pode oferecer boas ideias gerais. A segunda pode ajudar no trabalho real — desde que a base de documentos esteja correta e que a empresa autorize esse tratamento.

Aqui entra um cuidado sério: dados de produção, dumps, credenciais, informações pessoais, chaves, código proprietário e documentação interna não devem ser enviados automaticamente para qualquer serviço externo. O entusiasmo com IA não suspende LGPD, contrato, sigilo profissional, política de segurança ou bom senso.

No mainframe, segurança não é enfeite de apresentação. É controle de acesso, segregação de funções, trilha de auditoria e mínima permissão necessária. Uma ferramenta inteligente com acesso amplo continua sendo uma ferramenta com acesso amplo. E isso é exatamente o tipo de coisa que House chamaria de “ideia ruim com interface amigável”.


5. Quinta etapa: voz, imagem, vídeo e design — visual forte exige direção, não apenas geração

Ferramentas de imagem, vídeo, música, voz e design permitem testar ideias com uma rapidez que seria impensável há pouco tempo. Você pode imaginar um mainframe como uma usina, um cowboy CICS perseguindo um abend ou Dr. House examinando um programa COBOL em coma — e transformar essa cena em imagem.

Isso é valioso. O visual prende atenção, facilita a memória e abre a porta para a explicação.

Mas imagem gerada não é documentação técnica. Ela ilustra uma ideia; não prova um fato. E qualquer texto técnico dentro de uma imagem exige revisão. Nomes de comandos, mensagens de erro, campos COBOL, números de versão e sintaxe são terreno fértil para pequenas deformações que o olho passa por cima e o leitor atento percebe.

Um bom processo visual tem quatro partes:

  1. Definir a mensagem: qual é a única ideia que a imagem deve transmitir?

  2. Gerar a cena-base: usar IA para composição, personagens, cor e atmosfera.

  3. Revisar os detalhes: corrigir termos, legibilidade, logo, dados e contexto.

  4. Manter identidade: repetir elementos visuais que façam o leitor reconhecer sua marca.

A imagem não precisa explicar tudo. Ela deve fazer o leitor querer entrar no texto.


6. Sexta etapa: automatizar — o ponto onde a produtividade vira operação

Automação é a etapa mais poderosa e, por isso mesmo, a que exige mais disciplina.

Ferramentas como n8n, Zapier, agentes, conectores, robôs de coleta e serviços de integração permitem ligar eventos e ações. Um arquivo chegou? O fluxo lê, organiza, gera resumo e envia para revisão. Uma fonte oficial publicou notícia? O fluxo coleta links, classifica assuntos e prepara o radar semanal. Uma planilha mudou? O processo atualiza uma base ou cria uma tarefa.

Isso poupa horas. Mas “automatizar tudo” é uma frase que deveria vir com sirene, extintor e uma pessoa segurando o botão de desligar.

O fluxo saudável é:

Evento → coleta → organização → rascunho → revisão humana → ação externa

O fluxo perigoso é:

Evento → IA interpreta → IA decide → IA publica → IA responde → problema

A diferença é a aprovação humana. Quanto maior o impacto da ação, maior deve ser a trava.

Para automatizar com segurança, siga o passo a passo do jovem padawan:

  1. Escolha uma tarefa repetitiva e bem compreendida.

  2. Execute o processo manualmente algumas vezes e documente cada passo.

  3. Defina entradas, saídas e exceções.

  4. Automatize primeiro apenas a coleta ou o rascunho.

  5. Mantenha aprovação humana para publicar, enviar, apagar, pagar, conceder acesso ou alterar registros críticos.

  6. Registre logs.

  7. Crie limite de volume, tentativas e custo.

  8. Teste falhas de propósito.

  9. Garanta que exista um botão de desligar.

  10. Revise o fluxo periodicamente.

Em linguagem de mainframe: não entregue ALTER, DELETE, acesso privilegiado e SUBMIT de produção para um processo que ninguém consegue explicar. Primeiro defina o procedimento. Depois teste. Depois limite. Depois monitore. Só então escale.


7. A etapa esquecida no infográfico: validar

O grande buraco de muitos mapas de IA é a ausência da validação. Eles mostram pensar, criar e automatizar, mas pulam justamente a parte em que o adulto entra na sala e pergunta: “como sabemos que isso está certo?”

A versão madura das seis etapas seria:

  1. definir o problema;

  2. pesquisar e raciocinar;

  3. produzir um rascunho;

  4. validar tecnicamente e contextualmente;

  5. publicar ou executar;

  6. automatizar o que já funciona.

A validação depende do tipo de trabalho:

EntregaValidação mínima
Texto técnicofontes, exemplos, termos e versão correta
Códigocompilação, testes, revisão e segurança
Imagemlegibilidade, fidelidade de termos e direitos
Automaçãologs, limites, falhas e reversão
Resposta operacionalevidência, procedimento e responsável

House fecha a pasta do paciente.

— Então qual é o diagnóstico?

O padawan respira e responde:

— IA não é um substituto para pensar. É uma forma de encurtar a distância entre uma pergunta bem feita e uma entrega revisada.

House dá um meio sorriso, o equivalente médico a fogos de artifício.

— Agora você pode ter alta. Mas não toque em produção.


Epílogo — O logo não tem a culpa, mas também não faz o trabalho

As ferramentas do infográfico são úteis. Muitas são excelentes. Algumas serão substituídas, incorporadas por outras ou mudarão de preço, recurso e qualidade em poucos meses. Esse é o detalhe menos importante.

O que permanece é o método.

Use IA para pensar melhor, não para terceirizar o pensamento. Use-a para acelerar código, mas teste antes de confiar. Use-a para multiplicar um conteúdo que tenha substância. Use-a para organizar conhecimento permitido e confiável. Use-a para criar visuais que abram a conversa. Use-a para automatizar o repetitivo — nunca para entregar decisões perigosas a uma caixa-preta simpática.

O programador COBOL iniciante que aprende isso cedo leva uma vantagem enorme. Ele não será a pessoa que sabe pedir “faça um sistema bancário completo”. Será a pessoa que entende a pergunta, identifica a regra, procura a evidência, testa a resposta, protege os dados e sabe onde a automação deve parar.

No fim, o mainframe e o Dr. House concordam em algo: confiança não vem de uma tela bonita dizendo que deu certo. Confiança vem de evidência, controle, rastreabilidade e da capacidade de descobrir o que aconteceu quando, inevitavelmente, alguma coisa der errado.

E quando o primeiro S0C7 aparecer no plantão, não entre em pânico. Pegue o café, reúna os fatos, faça perguntas melhores e desconfie de toda resposta que parece fácil demais.

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, 8 de maio de 2026

☕🔥 O NOVO PROFISSIONAL MAINFRAME — O “SYSOP DO FUTURO” JÁ CHEGOU… E MUITA GENTE AINDA NÃO PERCEBEU 🔥☕

 

Bellacosa Mainframe fala sobre o futuro do profissional mainframe

☕🔥 O NOVO PROFISSIONAL MAINFRAME — O “SYSOP DO FUTURO” JÁ CHEGOU… E MUITA GENTE AINDA NÃO PERCEBEU 🔥☕

Durante anos o mercado repetiu a mesma ladainha:

“Mainframe morreu.”
“COBOL acabou.”
“Tudo vai para cloud.”
“Só tem profissional velho.”
“Daqui 5 anos ninguém mais usa z/OS.”

…e mesmo assim o mainframe continua processando bilhões de transações financeiras, cartões, seguros, companhias aéreas, governo, saúde e bancos do planeta inteiro.

O mais curioso?

Enquanto muita gente fazia meme do COBOL…
a IBM lançava:

  • novas releases do z/OS,
  • melhorias absurdas de segurança,
  • integração com Linux,
  • OpenShift,
  • containers,
  • APIs REST,
  • IA embarcada,
  • automação,
  • observabilidade,
  • criptografia quântica,
  • integração cloud híbrida,
  • DevOps,
  • Ansible,
  • Zowe,
  • Python no z/OS,
  • pipelines CI/CD,
  • modernização de CICS,
  • Db2 acelerado,
  • zCX,
  • Wazi,
  • integração com Kubernetes…

Ou seja:

o mainframe não ficou parado.

Muita gente ficou.

☕💾 O PROFISSIONAL MAINFRAME DE HOJE NÃO É MAIS “OPERADOR DE TELA VERDE”

Esse é talvez o maior choque cultural.

O profissional moderno de mainframe virou um híbrido raro no mercado.

Hoje ele precisa entender:

  • infraestrutura,
  • cloud,
  • segurança,
  • automação,
  • Linux,
  • APIs,
  • containers,
  • integração distribuída,
  • observabilidade,
  • DevOps,
  • redes,
  • performance,
  • IA,
  • além do velho e poderoso conhecimento de z/OS.

O cara que antes conhecia apenas:

  • JCL,
  • JES2,
  • TSO,
  • COBOL,
  • CICS,

…agora conversa com:

  • squads cloud,
  • times DevOps,
  • arquitetos AWS/Azure/GCP,
  • desenvolvedores Java,
  • SRE,
  • engenharia de plataforma,
  • segurança ofensiva,
  • APIs e microsserviços.

E isso muda completamente a carreira.

☕🔥 O MAINFRAME VIROU O “CORE ENGINE” DA CLOUD HÍBRIDA

Muita gente ainda pensa:
“Cloud substitui mainframe.”

Mas na prática o mercado percebeu algo diferente:

☁️ Cloud resolve elasticidade.
💾 Mainframe resolve missão crítica.

E o mundo corporativo descobriu que:

  • downtime custa bilhões,
  • segurança importa,
  • consistência importa,
  • throughput importa,
  • governança importa,
  • estabilidade importa.

Resultado?

O discurso mudou de:
“vamos eliminar o mainframe”

…para:
“como integrar o mainframe com cloud?”

Esse é o novo jogo.

E quem entende dos dois mundos virou profissional premium.

☕🚀 O PROFISSIONAL 50+ MAINFRAME NÃO ESTÁ ULTRAPASSADO

Esse talvez seja o ponto mais importante.

Existe uma geração inteira de profissionais carregando:

  • décadas de experiência,
  • conhecimento de negócio,
  • troubleshooting real,
  • visão sistêmica,
  • disciplina operacional,
  • capacidade analítica,
  • experiência em crises reais.

Essa experiência vale ouro.

Porque infraestrutura crítica não é TikTok.
Não é hype.
Não é framework da semana.

Banco não pode “dar refresh”.
PIX não pode travar.
Cartão não pode cair.
Folha de pagamento não pode falhar.

E quando tudo explode às 2h da manhã…
a empresa descobre rapidamente quem é profissional de verdade.

☕💡 O DESAFIO NÃO É IDADE. É ATUALIZAÇÃO.

O mercado não está descartando profissionais 50+.

O mercado está descartando quem:

  • parou no tempo,
  • rejeita aprender,
  • tem medo de mudança,
  • trata novidade como inimiga.

Porque hoje existe espaço gigantesco para:

  • mentor técnico,
  • especialista híbrido,
  • arquiteto legado/cloud,
  • modernização,
  • automação z/OS,
  • segurança,
  • observabilidade,
  • integração API/mainframe,
  • DevOps enterprise.

O profissional experiente que aprende:

  • Linux,
  • automação,
  • APIs,
  • Python,
  • cloud híbrida,
  • IA aplicada,
  • ferramentas modernas IBM,

vira praticamente um “unicórnio corporativo”.

☕🔥 IA NÃO VEIO PARA MATAR O MAINFRAME

Na verdade…

IA vai aumentar ainda mais a importância dos ambientes estáveis.

Porque IA precisa:

  • dados confiáveis,
  • processamento consistente,
  • segurança,
  • governança,
  • rastreabilidade.

E adivinha onde estão os dados mais críticos do planeta?

No mainframe.

O que muda é o papel do profissional.

Menos trabalho repetitivo.
Mais automação.
Mais integração.
Mais análise.
Mais arquitetura.
Mais inteligência operacional.

O futuro do mainframe não é apertar ENTER em tela verde.

É orquestrar ambientes híbridos gigantescos.

☕💾 HOME OFFICE MUDOU O JOGO

Antigamente o profissional mainframe era visto quase como:
“o cara preso no CPD.”

Hoje:

  • participa de reuniões globais,
  • trabalha remoto,
  • atende clientes internacionais,
  • opera ambientes gigantes de casa,
  • ensina online,
  • cria conteúdo,
  • ministra treinamento,
  • faz consultoria mundial.

O conhecimento ficou global.

E isso abriu espaço enorme para profissionais experientes.

☕🔥 O MAINFRAME NÃO MORREU. ELE EVOLUIU.

Talvez a maior mentira da TI tenha sido:
“mainframe vai acabar.”

O que acabou foi:

  • o isolamento do mainframe,
  • a cultura fechada,
  • o profissional que só conhecia um único mundo.

O novo profissional z/OS conversa com:

  • cloud,
  • Linux,
  • IA,
  • APIs,
  • automação,
  • DevSecOps,
  • observabilidade,
  • analytics,
  • containers.

E isso é fascinante.

☕🚀 UMA MENSAGEM PARA O PROFISSIONAL MAINFRAME 50+

Se você tem décadas de carreira:
não carregue vergonha da sua experiência.

Carregue orgulho.

Você sobreviveu:

  • a migração Y2K,
  • downsizing,
  • ondas Unix,
  • client/server,
  • virtualização,
  • internet,
  • cloud,
  • DevOps,
  • microsserviços,
  • IA…

…e o mainframe continua aqui.

Mas agora existe uma missão nova:

não proteger o passado.

E sim conectar o passado ao futuro.

Aprenda algo novo.
Teste Linux.
Brinque com Python.
Entenda cloud.
Automatize tarefas.
Explore IA.
Converse com equipes jovens.
Compartilhe experiência.

Porque o mercado não precisa apenas de juventude.

O mercado precisa de gente que entende o que acontece quando sistemas críticos realmente importam.

E nisso…
o profissional mainframe ainda é uma das peças mais valiosas da tecnologia mundial. ☕🔥

segunda-feira, 2 de fevereiro de 2026

🔥 PYTHON NÃO É COBOL! — Os Pecados Capitais que Todo Coboleiro Comete (e Como Evitar Antes de Quebrar em Produção)

 

Bellacosa Mainframe dicas python para dev cobol

🔥 “PYTHON NÃO É COBOL! — Os Pecados Capitais que Todo Coboleiro Comete (e Como Evitar Antes de Quebrar em Produção)”

Se você veio do mundo do mainframe, já carrega uma das maiores vantagens da indústria: disciplina, clareza de fluxo e respeito por processamento crítico. Mas aqui vai a verdade nua e crua:

👉 Python não joga pelas mesmas regras.
E é exatamente aí que muita gente boa tropeça.

Hoje você vai receber aquele conteúdo raiz, estilo Bellacosa Mainframe: direto, prático, com história, pancada técnica e alguns “easter eggs” pra deixar a jornada divertida.


🧠 Python: o Anti-COBOL?

Antes de tudo, entenda o choque cultural.

COBOL 🧾Python 🐍
Verboso, explícitoMinimalista, implícito
Tipagem forteTipagem dinâmica
Estruturado por divisãoEstruturado por blocos
Batch e previsívelDinâmico e interativo
RigidezFlexibilidade extrema

📌 Python nasceu nos anos 90 com Guido van Rossum, inspirado na ideia de código legível como inglês.
📌 O nome vem do grupo de comédia Monty Python (sim, já começa com humor 😄).

👉 Enquanto COBOL foi feito para processar negócios, Python foi feito para resolver problemas rapidamente.


⚠️ Os Pecados Capitais do Coboleiro em Python

❌ 1. Escrever Python como se fosse COBOL

Se você começa assim:

if x == True:

👉 Você já caiu na armadilha.

✔️ O jeito Python:

if x:

💡 Python valoriza simplicidade extrema.


❌ 2. Tentar declarar tudo antes (mentalidade DATA DIVISION)

Em COBOL:

01 WS-NOME PIC X(30).

Em Python:

nome = "Vagner"

👉 Não existe declaração formal. Variável nasce no uso.

⚠️ Problema comum:

  • Confundir tipos
  • Criar bugs silenciosos
x = 10
x = "dez" # permitido (e perigoso!)

❌ 3. Ignorar identação (o maior choque)

COBOL usa palavras.
Python usa espaços.

if x > 10:
print("erro") # ERRO!

✔️ Correto:

if x > 10:
print("ok")

👉 Em Python, identação define o programa.


❌ 4. Criar código “proceduralzão”

Coboleiro ama fluxo linear.
Python ama abstração.

Evite isso:

def processar():
# 200 linhas aqui

✔️ Prefira:

def validar():
pass

def calcular():
pass

def gravar():
pass

👉 Modularização é essencial.


🧬 Como Python Funciona (Mentalidade Correta)

🔹 Tudo é objeto

x = 10

👉 x é um objeto. Até funções são objetos.

def f():
pass

print(type(f))

🔹 Interpretado e dinâmico

Python executa linha por linha.

👉 Isso traz:

  • rapidez de desenvolvimento
  • bugs em runtime (cuidado!)

🔹 Duck Typing 🦆

“Se parece com pato e faz quack, é pato.”

def som(animal):
animal.fazer_som()

👉 Não importa o tipo, importa o comportamento.


🧠 Patterns que Você PRECISA Aprender

🟢 1. List Comprehension (o “SORT” do Python)

numeros = [x for x in range(10)]

✔️ Mais poderoso:

pares = [x for x in range(10) if x % 2 == 0]

🟢 2. EAFP vs LBYL

COBOL: valida tudo antes
Python: tenta e trata erro

try:
x = int("10")
except:
x = 0

👉 Filosofia Python: é melhor pedir perdão do que permissão


🟢 3. Context Manager (tipo controle de arquivo elegante)

with open("arquivo.txt") as f:
dados = f.read()

👉 Ele fecha automaticamente (sem CLOSE manual)


🟢 4. Funções de primeira classe

def soma(a, b):
return a + b

f = soma
print(f(2,3))

💥 Problemas Clássicos de Iniciantes

⚠️ 1. Mutabilidade traiçoeira

lista = []
def add(x, l=lista):
l.append(x)
return l

👉 Isso acumula valores entre chamadas!


⚠️ 2. Comparação errada

if x is 10: # errado

✔️ Use:

if x == 10:

⚠️ 3. Import bagunçado

from modulo import *

❌ Nunca faça isso!

✔️ Prefira:

import modulo

⚠️ 4. Performance ignorada

Python não é batch otimizado como COBOL.

👉 Evite:

  • loops desnecessários
  • processamento pesado sem biblioteca (use NumPy, etc.)

🧰 Dicas de Ouro (Modo Produção Mainframe)

💡 1. Use virtualenv

Isola dependências:

python -m venv venv

💡 2. Leia o “Zen of Python”

import this

👉 Easter egg clássico 😄

Você verá frases como:

“Simple is better than complex.”


💡 3. Logging > Print

import logging
logging.info("processando...")

💡 4. Teste sempre (mentalidade batch)

Use:

pytest

💡 5. Nome de variável importa MUITO

# ruim
x = 10

# bom
quantidade_registros = 10

🕰️ Curiosidades que Todo Coboleiro Vai Gostar

  • Python foi criado como projeto de férias de Natal 🎄
  • O criador sumiu por anos (BDFL aposentado 😄)
  • Indentação obrigatória foi decisão polêmica e genial
  • Python roda até em mainframe hoje (sim, no z/OS!)

🎯 Mentalidade Final: O Upgrade do Coboleiro

Se você dominar isso, vira uma máquina híbrida:

👉 Disciplina COBOL + Flexibilidade Python = 🔥 PODER REAL

Você passa a:

  • Prototipar rápido
  • Automatizar processos
  • Integrar com APIs
  • Substituir scripts legacy

🚀 Conclusão

Python não substitui COBOL.
Mas ele expande seu alcance brutalmente.

👉 O erro não é aprender Python…
👉 O erro é tentar escrever Python como COBOL.

Se você mudar o mindset, acontece algo poderoso:

💡 Você deixa de ser apenas um programador…
💡 E vira um engenheiro de soluções moderno com raiz mainframe



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