☕ 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

sábado, 15 de dezembro de 2012

🔥 JCL como Pipeline DevOps

 


🔥 JCL como Pipeline DevOps


Conhecimento básico sobre aplicações distribuídas para mainframers




☕ Midnight Lunch no CPD (agora com YAML na mesa)

Era madrugada. Café forte. JES2 organizando a fila com mais elegância do que muito orquestrador moderno.
Um arquiteto cloud visita o CPD e comenta:

“Hoje fazemos tudo com pipeline DevOps.”

O mainframer olha para o JCL rodando há 20 anos e responde em silêncio:
👉 “Engraçado… eu faço isso desde antes de chamar assim.”

Este artigo é sobre isso:
JCL como pipeline DevOps, explicado para quem já domina batch, job, step, CC e restart — e quer entender aplicações distribuídas sem abandonar a alma mainframe.


🧠 Pipeline DevOps, em português mainframe

No mundo moderno, um pipeline DevOps:

  • Compila

  • Testa

  • Executa

  • Publica

  • Reprocessa em caso de falha

  • Controla recursos

  • Gera logs

No mundo mainframe, isso sempre foi:

//JOBNAME JOB ... //STEP01 EXEC ... //STEP02 EXEC ... //STEP03 EXEC ...

📌 Pipeline DevOps = Job bem escrito.


🕰️ Um pouco de história (spoiler: nada é novo)

Antes de:

  • Jenkins

  • GitLab CI

  • GitHub Actions

  • Argo

  • Airflow

Já existia:

  • JES

  • JCL

  • PROCs

  • COND

  • RESTART

  • SMF

💡 Curiosidade Bellacosa:
O JCL nasceu automatizando fluxo de trabalho. Exatamente o que DevOps promete até hoje.


🧩 Mapeamento direto: JCL ↔ DevOps

DevOps PipelineJCL
StageSTEP
Pipeline fileJOB
AgentInitiator
RetryRESTART
ConditionalCOND
Resource limitTIME / REGION
LogsSYSOUT / SMF
SchedulingJES

👉 A diferença é sintaxe, não conceito.


⚙️ JOB Statement: o manifesto DevOps original

Hoje você descreve tudo em YAML.
No mainframe, isso sempre existiu:

//PIPEJOB JOB 'BELLACOSA', /* CLASS=A, MSGCLASS=X, TIME=0, REGION=0M, PRTY=15 */

Isso define:

  • Prioridade

  • Limite (ou não) de CPU

  • Memória

  • Classe de execução

  • Comportamento operacional

💡 Easter Egg:
PRTY=15 é o “run ASAP” do DevOps raiz 😎


🔀 Steps como stages de pipeline

Cada STEP é um stage isolado, previsível e rastreável:

//BUILD EXEC PGM=IGYCRCTL //TEST EXEC PGM=TESTRUN //DEPLOY EXEC PGM=LOADMOD

📌 Isso é:

  • Build

  • Test

  • Deploy

Só que sem marketing.


❌ COND: o if/else que evita desperdício

DevOps fala em:

“Não execute se o estágio anterior falhar.”

JCL já resolvia:

COND=(4,GT)

Tradução:

“Se algo deu ruim, nem continua.”

👉 Economia de CPU, custo e paciência.


🔄 RESTART: o sonho de todo pipeline moderno

Quantos pipelines cloud ainda fazem restart de verdade?

No mainframe:

//JOB JOB ...,RESTART=STEP03
  • Nada de reprocessar tudo

  • Nada de gambiarra

  • Nada de “vamos rodar de novo desde o começo”

💡 Curiosidade:
RESTART idempotente é disciplina de projeto. O mainframe sempre exigiu isso.


🌐 JCL e aplicações distribuídas

Hoje, um pipeline DevOps pode:

  • Chamar APIs

  • Publicar eventos

  • Rodar batch

  • Integrar sistemas

No mundo híbrido:

  • JCL dispara batch

  • Batch chama MQ

  • MQ aciona microserviço

  • Microserviço chama CICS

  • CICS grava no DB2

  • SMF registra tudo

👉 JCL vira o maestro do ambiente distribuído.


📊 Observabilidade: antes era obrigação

Hoje falam:

  • Observability

  • Tracing

  • Metrics

No JCL:

  • SYSOUT

  • SMF

  • RMF

  • JES logs

📌 Se não tem log, não roda.
📌 Se não mede, não entra em produção.

Mainframe ensinou isso cedo.


🪜 Passo a passo mental para o mainframer virar “DevOps”

  1. Veja jobs como pipelines

  2. Veja steps como stages

  3. Veja JES como scheduler

  4. Veja SMF como observabilidade

  5. Veja RESTART como retry inteligente

  6. Ignore o hype, foque nos princípios


📚 Guia de estudo (com cérebro mainframe)

🔹 Estude:

  • CI/CD

  • Pipelines

  • Event-driven

  • Observabilidade

🔹 Faça paralelos:

  • JCL ↔ YAML

  • JES ↔ Orquestrador

  • COND ↔ if/else

  • RESTART ↔ rerun from failure

🔹 Exercício clássico:

“Esse pipeline sobreviveria a um batch noturno de verdade?”


🏁 Conclusão – El Jefe fecha o pipeline

DevOps não inventou:

  • Orquestração

  • Automação

  • Governança

  • Resiliência

Ele renomeou.

O JCL já fazia tudo isso:

  • Sem buzzword

  • Sem framework da moda

  • Sem quebrar a cada release

Por isso, quando alguém diz:

“Pipeline moderno é coisa nova”

O mainframer responde, calmamente, com o café na mão:

“Novo é o nome.
O conceito… eu já rodei em produção.” ☕🔥

 

☕ Gostou deste café?
Siga o Bellacosa Mainframe e acompanhe os próximos artigos.
SEGUIR O BLOG

Sem comentários:

Enviar um comentário

De Fã para Fã. Conteúdo não oficial produzido como homenagem, comentário, análise ou paródia. Personagens, marcas e obras eventualmente mencionados pertencem aos seus respectivos titulares.
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...