Translate

quarta-feira, 19 de fevereiro de 2020

Jenkins - O Que Todo Programador COBOL Padawan Precisa Saber Sobre CI/CD, DevOps, Pipelines, Git, Automação, IBM Z

 

Bellacosa Mainframe apresenta o jenkins

☕ Um Café no Bellacosa Mainframe

Jenkins Muito Além do Botão "Build"

O Que Todo Programador COBOL Padawan Precisa Saber Sobre CI/CD, DevOps, Pipelines, Git, Automação, IBM Z e Como o Jenkins se Tornou o Maestro da Engenharia de Software Moderna

"Compilar um programa é uma tarefa. Automatizar uma empresa inteira é engenharia."


Introdução

Se você começou recentemente sua jornada no universo IBM Mainframe, provavelmente já ouviu alguém dizer algo parecido com:

"Faz um build no Jenkins."

Parece algo simples.

Você altera um programa COBOL.

Faz um git push.

Alguns minutos depois alguém informa:

"O pipeline ficou verde."

Ou então...

"O Jenkins quebrou."

Para quem está começando, tudo isso parece mágica.

Existe um servidor.

Existe um robô.

Existe um botão chamado Build Now.

E, aparentemente, tudo acontece sozinho.

Mas o Jenkins está muito longe de ser apenas um servidor que compila programas.

Na realidade, ele é um dos pilares que sustentam praticamente toda a engenharia moderna de software.

Se o Git organiza o código-fonte, o Jenkins organiza todo o trabalho realizado sobre esse código.

Neste artigo vamos muito além dos conceitos básicos. Vamos entender como o Jenkins nasceu, por que ele revolucionou a indústria, como funciona sua arquitetura, por que ele continua relevante mesmo na era do Kubernetes, GitHub Actions e Inteligência Artificial, e como tudo isso conversa perfeitamente com o universo IBM Z, COBOL, CICS, DB2 e z/OS.

Pegue seu café.

Hoje vamos conversar sobre um dos softwares mais importantes da história da Engenharia de Software.


Antes do Jenkins: a era da integração manual

Imagine um banco em 1998.

A equipe possui:

  • 80 programadores COBOL

  • 20 analistas

  • dezenas de aplicações

  • centenas de programas

Cada desenvolvedor trabalha em sua própria máquina.

Ao final da semana...

Todos entregam seus programas.

Alguém precisa reunir tudo.

Compilar.

Executar testes.

Gerar executáveis.

Mover bibliotecas.

Executar JCLs.

Atualizar CICS.

Publicar em produção.

Tudo manualmente.

Agora imagine o caos.

João alterou o Programa A.

Maria alterou o Programa B.

Carlos modificou um COPY utilizado por ambos.

Quando tudo é compilado junto...

Nada funciona.

Esse problema ficou conhecido como Integration Hell.

Quanto maior a equipe...

Maior o problema.

Era necessário encontrar uma solução.


O nascimento da Integração Contínua

Foi aí que surgiu uma ideia simples.

Ao invés de integrar o código apenas no final do projeto...

Por que não integrar continuamente?

Sempre que alguém fizer uma alteração:

  • compilar automaticamente;

  • executar testes;

  • verificar qualidade;

  • avisar imediatamente se algo deu errado.

Assim nasceu a Continuous Integration (CI).

A integração contínua não é uma ferramenta.

É uma filosofia.

O Jenkins tornou essa filosofia prática.


O que realmente é o Jenkins?

Muita gente responde:

"É uma ferramenta de Build."

Na verdade, isso é apenas uma pequena parte.

O Jenkins é um servidor de automação.

Ele automatiza praticamente qualquer tarefa repetitiva.

Pode:

  • compilar programas

  • executar testes

  • gerar documentação

  • criar containers Docker

  • executar scripts Shell

  • chamar APIs

  • publicar microsserviços

  • disparar Ansible

  • executar Terraform

  • chamar Zowe CLI

  • enviar notificações

  • atualizar ambientes Mainframe

Ou seja...

O Jenkins não entende apenas de software.

Ele entende de processos.


Pense no Jenkins como um maestro

Imagine uma orquestra.

Cada músico conhece apenas seu instrumento.

O maestro coordena todos.

O Jenkins faz exatamente isso.

Ele não precisa saber programar Java.

Nem COBOL.

Nem Python.

Ele apenas coordena.

Git

↓

Compilar

↓

Testar

↓

Analisar qualidade

↓

Criar artefatos

↓

Publicar

↓

Implantar

↓

Monitorar

Cada ferramenta executa sua especialidade.

O Jenkins organiza a sequência.


O Pipeline: a esteira de produção do software

Uma fábrica produz automóveis.

O software moderno produz versões.

Imagine uma linha de montagem.

Chassi

↓

Motor

↓

Pintura

↓

Inspeção

↓

Entrega

Agora substitua por desenvolvimento.

Código

↓

Build

↓

Testes

↓

Qualidade

↓

Deploy

↓

Monitoramento

Esse fluxo recebe o nome de Pipeline.

Pipeline significa literalmente:

tubulação.

Cada etapa entrega seu resultado para a próxima.

Se uma etapa falhar...

Nada continua.


O primeiro passo: Git

Tudo começa no Git.

O desenvolvedor altera um programa COBOL.

CLIENTE.CBL

Executa:

git add .

git commit

git push

Nesse instante acontece algo extremamente importante.

O Git envia um evento.

Esse evento dispara um Webhook.


WebHooks: quem avisa quem?

Um erro comum é imaginar que o Jenkins fica perguntando ao Git:

Mudou?

Mudou?

Mudou?

Isso existia.

Chamava-se Poll SCM.

Hoje o modelo mais moderno é o WebHook.

O GitHub avisa imediatamente:

Recebi um commit.

Pode iniciar o Pipeline.

É mais rápido.

Mais eficiente.

Mais escalável.


Build: muito além de compilar

No universo Java, Build normalmente significa:

.java

↓

.class

↓

.jar

No universo COBOL isso muda bastante.

Um Build pode incluir:

  • compilação COBOL

  • Link-Edit

  • geração do Load Module

  • pré-compilação DB2

  • BIND

  • geração de mapas CICS

  • cópia para bibliotecas

  • atualização de catálogos

Observe que "Build" não é apenas traduzir código.

É transformar código-fonte em algo executável.


Testes: por que eles são indispensáveis?

Imagine um caixa eletrônico.

Você altera apenas uma linha.

Sem testes.

Na segunda-feira...

Nenhum saque funciona.

Por isso o Pipeline executa testes automaticamente.

Existem vários níveis.

  • Unit Test

  • Integration Test

  • Component Test

  • Smoke Test

  • Regression Test

  • Performance Test

  • Security Test

  • Acceptance Test

No universo IBM Z encontramos ferramentas como:

  • IBM ZUnit

  • COBOL Check


SonarQube: o inspetor de qualidade

Compilar não significa qualidade.

Um programa pode compilar perfeitamente e ainda assim possuir:

  • código duplicado

  • vulnerabilidades

  • baixa cobertura de testes

  • alta complexidade

  • más práticas

Ferramentas como SonarQube analisam tudo isso.

Se a qualidade estiver abaixo do padrão...

O Jenkins interrompe o Pipeline.


Continuous Delivery e Continuous Deployment

Esses conceitos costumam gerar confusão.

Continuous Delivery

Tudo acontece automaticamente.

Mas existe aprovação humana antes da produção.

Build

↓

Testes

↓

Deploy QA

↓

Aprovação

↓

Produção

É o modelo predominante em bancos.

Continuous Deployment

Não existe aprovação manual.

Passou em todos os testes?

Vai automaticamente para produção.

Empresas como Netflix, Spotify e Amazon utilizam amplamente essa estratégia para muitos de seus serviços.


Jenkinsfile: Pipeline como Código

Antigamente configurávamos tudo pela interface gráfica.

Hoje utilizamos Pipeline as Code.

Arquivo:

Jenkinsfile

Exemplo simplificado:

pipeline {

    agent any

    stages {

        stage('Build') {
            steps {
                sh 'mvn clean package'
            }
        }

        stage('Test') {
            steps {
                sh 'mvn test'
            }
        }

        stage('Deploy') {
            steps {
                sh './deploy.sh'
            }
        }

    }

}

Esse arquivo também fica versionado no Git.

O Pipeline passa a fazer parte do projeto.


Parametrização: um Pipeline para vários cenários

Imagine quatro ambientes:

  • DEV

  • QA

  • HML

  • PRD

Você poderia criar quatro pipelines.

Ou criar apenas um.

Na execução o Jenkins pergunta:

Qual ambiente?

DEV

QA

HML

PRD

Isso é parametrização.

Também podemos solicitar:

  • número da versão

  • branch

  • Change Request

  • arquivo de entrada

  • descrição da implantação

Um único Pipeline atende dezenas de cenários.


Cron: automação baseada em tempo

Nem todo Build depende de commits.

Às vezes queremos executar tarefas periodicamente.

Por exemplo:

  • backup diário

  • limpeza semanal

  • geração de relatórios

  • sincronização de ambientes

O Jenkins utiliza a sintaxe CRON.

Exemplo:

0 2 * * *

Executa diariamente às duas da manhã.

Outro detalhe interessante é o uso da letra H, exclusiva do Jenkins.

Ela distribui automaticamente os horários dos Jobs, evitando que centenas de pipelines iniciem exatamente no mesmo minuto.


Controller e Agents

As versões antigas utilizavam os termos Master e Slave.

Hoje a nomenclatura oficial é:

  • Controller

  • Agent

O Controller coordena.

Os Agents trabalham.

Imagine um restaurante.

O gerente organiza os pedidos.

Os cozinheiros preparam os pratos.

O gerente não cozinha.

Da mesma forma, o Controller distribui tarefas para diversos Agents.


Por que vários Agents?

Suponha três Builds de 30 minutos.

Sem Agents:

Build A

↓

Build B

↓

Build C

Tempo total:

90 minutos.

Com três Agents:

Todos executam simultaneamente.

Tempo aproximado:

30 minutos.

Essa é a base da escalabilidade.


Labels: enviando o trabalho para a máquina certa

Nem todos os servidores possuem as mesmas ferramentas.

Podemos ter:

  • Linux

  • Windows

  • Docker

  • Kubernetes

  • IBM Z

  • Java

  • .NET

  • COBOL

Os Labels funcionam como etiquetas.

linux

docker

java

ibmz

cobol

Quando o Pipeline precisa compilar COBOL:

agent {
    label 'ibmz'
}

O Jenkins envia automaticamente o trabalho ao Agent correto.


Credenciais: segurança em primeiro lugar

Jamais coloque senhas dentro do Jenkinsfile.

O Jenkins possui um cofre chamado Credentials Store.

Nele podemos armazenar:

  • usuários

  • senhas

  • tokens GitHub

  • chaves SSH

  • certificados

  • chaves privadas

O Pipeline acessa essas informações de forma segura, sem expô-las no código.


Workspaces

Cada execução recebe um diretório exclusivo.

Nele ficam:

  • código baixado do Git

  • arquivos temporários

  • artefatos

  • logs

  • resultados de testes

Ao final da execução o Workspace pode ser limpo automaticamente.

Isso evita conflitos entre Builds.


Plugins: o verdadeiro poder do Jenkins

O Jenkins possui milhares de plugins.

Entre os mais conhecidos estão:

  • Git

  • GitHub

  • Docker

  • Kubernetes

  • SonarQube

  • Slack

  • Teams

  • Ansible

  • Terraform

  • Artifactory

  • Nexus

  • Blue Ocean

  • Pipeline Utility Steps

Essa arquitetura modular explica sua enorme popularidade.


Jenkins e Containers

Hoje muitos Builds acontecem dentro de containers Docker.

Cada execução recebe um ambiente completamente limpo.

Terminou?

O container é destruído.

Isso elimina problemas do tipo:

"Na minha máquina funciona."


Jenkins e Kubernetes

A evolução natural foi integrar o Jenkins ao Kubernetes.

Quando um Build começa:

  • um Pod é criado;

  • o Pipeline executa;

  • o Pod é removido.

O ambiente sempre inicia do zero.

É altamente escalável.


Jenkins no IBM Mainframe

Aqui começa a parte que mais interessa ao Programador COBOL Padawan.

Muitas pessoas acreditam que Jenkins serve apenas para aplicações Java.

Nada poderia estar mais distante da realidade.

Hoje o Jenkins integra perfeitamente o universo IBM Z.

Um Pipeline moderno pode executar:

Git Push

↓

Webhook

↓

Jenkins

↓

Zowe CLI

↓

Upload do Programa COBOL

↓

Compilação

↓

Link-Edit

↓

DB2 BIND

↓

Execução do ZUnit

↓

Análise SonarQube

↓

Deploy para CICS

↓

Smoke Test

↓

Atualização do Endevor

↓

Notificação

Perceba.

O Jenkins não substitui o Mainframe.

Ele conversa com o Mainframe.


DevOps não elimina o Mainframe

Existe um mito de que DevOps pertence apenas ao mundo Linux.

Na realidade, DevOps é uma cultura.

Ela pode ser aplicada em qualquer plataforma.

Inclusive no IBM Z.

Hoje encontramos pipelines automatizando:

  • COBOL

  • PL/I

  • Assembler

  • JCL

  • DB2

  • IMS

  • CICS

  • MQ

  • z/OS Connect

Tudo integrado ao GitHub, GitLab e Azure DevOps.


Inteligência Artificial e Jenkins

Estamos entrando em uma nova fase.

Os modelos de IA auxiliam na geração de código, revisão automática, documentação e testes.

Mas alguém ainda precisa orquestrar todo o processo.

É aí que o Jenkins continua relevante.

Imagine um Pipeline moderno:

Commit

↓

IA revisa Pull Request

↓

Build

↓

Testes

↓

SonarQube

↓

Análise de Segurança

↓

Deploy

↓

Observabilidade

↓

Feedback para IA

A automação não desaparece.

Ela apenas incorpora novas ferramentas.


Conclusão

Quando começamos a estudar Jenkins, é comum enxergá-lo apenas como uma tela com um botão chamado Build Now.

Depois descobrimos os Pipelines.

Mais tarde aprendemos sobre WebHooks, Agents, Labels, Credenciais, Containers, Kubernetes e DevOps.

Finalmente percebemos algo muito maior.

O Jenkins não é apenas uma ferramenta.

Ele é uma plataforma de orquestração da engenharia de software.

Para um Programador COBOL Padawan, compreender esse ecossistema significa deixar de pensar apenas na compilação de programas e começar a enxergar o ciclo completo de vida das aplicações.

O futuro do IBM Mainframe não está em competir com as tecnologias modernas, mas em integrá-las. Git, Jenkins, Zowe CLI, Ansible, APIs REST, testes automatizados, observabilidade e Inteligência Artificial já fazem parte da realidade dos ambientes corporativos que executam aplicações críticas sobre IBM Z.

Dominar Jenkins é compreender que escrever código é apenas o começo. A verdadeira engenharia acontece quando conseguimos transformar esse código em software confiável, testado, rastreável, seguro e entregue continuamente aos usuários. E é justamente nesse ponto que o Jenkins deixa de ser um simples servidor de Build para se tornar o maestro que coordena toda a sinfonia da entrega contínua, conectando o legado robusto do Mainframe às práticas mais modernas da Engenharia de Software.

terça-feira, 18 de fevereiro de 2020

☕🔥🔄💣 HIGURASHI NO NAKU KORO NI GOU — O DIA EM QUE O AMBIENTE HOMOLOGADO VOLTOU A DAR ABEND E NINGUÉM ENTENDEU O PORQUÊ

 

Bellacosa Mainframe exibe higurashi no naku koro ni gou

☕🔥🔄💣 HIGURASHI NO NAKU KORO NI GOU — O DIA EM QUE O AMBIENTE HOMOLOGADO VOLTOU A DAR ABEND E NINGUÉM ENTENDEU O PORQUÊ

"O sistema estava estável. O incidente havia sido encerrado. O relatório final foi arquivado. Então alguém apertou RESET."


Dados Técnicos

Título Original: ひぐらしのなく頃に業 (Higurashi no Naku Koro ni Gou)

Título Internacional: Higurashi: When They Cry – Gou

Autor Original: Ryukishi07

Obra Base: Franquia Higurashi no Naku Koro ni

Estúdio: Passione

Direção: Keiichiro Kawaguchi

Roteiro Supervisionado por: Ryukishi07

Exibição Original: Outubro de 2020 a Março de 2021

Quantidade de Episódios: 24


Gênero

  • Terror Psicológico

  • Mistério

  • Horror

  • Suspense

  • Thriller

  • Drama

  • Sobrenatural

  • Ficção Temporal


Classificação Indicativa

18 anos

Contém:

  • Violência extrema

  • Automutilação

  • Assassinatos gráficos

  • Trauma psicológico

  • Tortura

  • Conteúdo perturbador

É provavelmente a entrada mais brutal da franquia até então.


O Maior Engano da História de Higurashi

Quando Gou foi anunciado, praticamente todo mundo acreditou que fosse:

REMAKE = TRUE

Inclusive muitos veículos de mídia.

Inclusive muitos fãs antigos.

Inclusive espectadores novos.

Mas Ryukishi07 preparava uma armadilha narrativa monumental.

Após alguns episódios descobrimos a verdade:

REMAKE = FALSE

SEQUÊNCIA = TRUE

Gou não reinicia a franquia.

Ele continua a história.

E essa revelação mudou completamente a percepção da obra.


Sinopse

Keiichi Maebara chega novamente a Hinamizawa.

As mesmas amigas.

A mesma vila.

O mesmo festival.

Os mesmos eventos aparentemente familiares.

Tudo parece seguir exatamente o roteiro de 2006.

Mas pequenos detalhes começam a divergir.

Algumas escolhas mudam.

Alguns personagens agem de forma diferente.

Algumas tragédias ocorrem em momentos inesperados.

E rapidamente fica claro:

algo está corrompendo a linha temporal novamente.


Resumo da História

Ao estilo Bellacosa Mainframe:

Imagine que um sistema passou anos sofrendo falhas.

Após centenas de correções, finalmente estabilizou.

Os operadores comemoraram.

Os relatórios foram encerrados.

Então um novo incidente surge.

Mas desta vez o erro não vem do código antigo.

O erro vem de uma modificação feita depois da correção.

PRODUÇÃO = ESTÁVEL

PATCH NOVO INSTALADO

ABEND RETORNOU

É exatamente isso que Gou representa.


O Que Tem de Diferente?

Tudo.

E essa é a genialidade.

Inicialmente parece nostalgia.

Mas logo vira desconforto.

O espectador veterano percebe que conhece os eventos.

Mas os eventos não obedecem mais às regras conhecidas.

A sensação é semelhante a executar um programa antigo e descobrir que alguém alterou linhas críticas do código sem documentar nada.


O Retorno de Hinamizawa

Visualmente, Gou moderniza completamente a franquia.

O Studio Passione entrega:

  • animação mais fluida

  • cenários detalhados

  • direção mais cinematográfica

  • iluminação moderna

  • cenas de horror muito mais impactantes

A pequena vila nunca pareceu tão bonita.

Nem tão assustadora.


Principais Personagens

Keiichi Maebara

Retorna como principal ponto de vista.

Mas agora existe uma sensação constante de que algo está fora do lugar.


Rena Ryugu

Continua sendo uma das figuras mais imprevisíveis da franquia.

Em Gou ganha novas interpretações.


Mion Sonozaki

Recebe momentos extremamente importantes para os fãs antigos.


Shion Sonozaki

Continua sendo uma peça fundamental dos mistérios.


Satoko Houjou

A personagem que redefine completamente a série.

Sem exagero.

Sem spoilers.

Gou transforma Satoko de forma tão radical que altera toda a percepção da franquia clássica.


Rika Furude

Após finalmente escapar do inferno...

descobre que talvez o inferno não tenha terminado.


A Verdadeira Protagonista

Uma das maiores surpresas da obra.

Durante anos acreditávamos que a história de Higurashi era sobre Rika.

Gou questiona essa ideia.

A série começa a deslocar o foco para outra personagem.

E essa mudança é responsável por algumas das discussões mais intensas da comunidade.


Temáticas Profundas

Obsessão

O tema dominante de Gou.

Mais do que medo.

Mais do que destino.

Mais do que sobrevivência.

A obsessão torna-se o motor da tragédia.


Dependência Emocional

A série explora relações que ultrapassam os limites da amizade saudável.


Mudança

Nem todos conseguem aceitar que as pessoas cresçam.

Nem todos conseguem aceitar despedidas.


Livre Arbítrio

Até onde alguém pode ir para impedir o futuro?


Egoísmo Disfarçado de Amor

Talvez o tema mais perturbador da série.


As Aventuras

Diferentemente de Kai, onde a missão era salvar Hinamizawa...

Gou transforma a narrativa em uma investigação sobre quem está sabotando a nova realidade.

Cada arco funciona como:

INCIDENTE NOVO

ANALISAR LOGS

ISOLAR VARIÁVEIS

LOCALIZAR RESPONSÁVEL

O espectador torna-se novamente um analista de problemas.


As Mensagens Ocultas

Amar Não É Possuir

Uma das mensagens centrais.

Muitas tragédias surgem quando afeto transforma-se em controle.


O Passado Não Pode Ser Prisão

A série questiona a dificuldade humana de seguir em frente.


Crescer Significa Aceitar Mudanças

Nem todos os relacionamentos permanecem iguais para sempre.


A Felicidade Individual Importa

Um dos debates mais importantes da obra.

Até onde alguém deve sacrificar sua felicidade pelos outros?


O Impacto Cultural

Gou explodiu a internet.

Os fóruns ficaram em estado de guerra.

As teorias multiplicaram-se.

A comunidade passou meses tentando descobrir o que realmente estava acontecendo.

A obra revitalizou completamente a franquia.

Uma nova geração descobriu Higurashi.

Veteranos voltaram a discutir a série.

Poucos retornos foram tão bem-sucedidos.


Houve Censura?

Sim.

E muita.

A violência gráfica de Gou é significativamente superior à da série de 2006.

Diversas transmissões utilizaram:

  • escurecimento de cenas

  • redução de detalhes

  • filtros visuais

  • cortes internacionais

Alguns episódios ficaram famosos justamente pelas diferenças entre as versões televisiva e Blu-ray.


A Grande Jogada de Ryukishi07

O autor executou uma manobra brilhante.

Ele usou a nostalgia como isca.

Fez os fãs acreditarem que estavam retornando a uma história conhecida.

E então revelou que estavam entrando em um novo pesadelo.

É uma das maiores pegadinhas narrativas da história dos animes.


Veredito Bellacosa Mainframe

Se Higurashi foi o incidente.

Se Kai foi a correção.

Se Rei foi a auditoria final.

Então Gou é o chamado inesperado às três da manhã.

ALERTA CRÍTICO

SISTEMA ESTÁVEL APRESENTOU FALHA

CAUSA DESCONHECIDA

SEVERIDADE = MÁXIMA

E o mais assustador?

O erro não veio do sistema.

Veio de alguém que não conseguia aceitar que o sistema tivesse sido corrigido.

☕🔥🔄💣 Nota Bellacosa Mainframe: 10/10 chamados críticos abertos após o encerramento do incidente.

Status do Ambiente:

HINAMIZAWA.EXE

LOOP DETECTADO NOVAMENTE

ORIGEM DO PROBLEMA:
NÃO IDENTIFICADA

INVESTIGAÇÃO EM ANDAMENTO

E quando você acredita que finalmente entendeu Higurashi...

Gou mostra que o verdadeiro dump ainda nem começou. 🌾🩸🔥🔄💣


segunda-feira, 17 de fevereiro de 2020

🔥💣 REXX + CICS: O “CENTRO DE COMANDO SECRETO” DO z/OS — 30 LABORATÓRIOS PRÁTICOS QUE TRANSFORMAM UM ANALISTA DE PRODUÇÃO EM UM MESTRE DA AUTOMAÇÃO MAINFRAME 💣🔥

 

Bellacosa Mainframe laboratorio pratico REXX e CICS

🔥💣 REXX + CICS: O “CENTRO DE COMANDO SECRETO” DO z/OS — 30 LABORATÓRIOS PRÁTICOS QUE TRANSFORMAM UM ANALISTA DE PRODUÇÃO EM UM MESTRE DA AUTOMAÇÃO MAINFRAME 💣🔥

☕ Introdução

Existe um momento na carreira de todo Analista de Produção Senior em Mainframe em que ele percebe uma verdade brutal:

“Quem domina automação no CICS deixa de apagar incêndio… e começa a controlar o incêndio antes dele nascer.”

E é exatamente aqui que entra o velho — porém absurdamente poderoso — REXX.

Enquanto muita gente ainda usa REXX apenas para pequenos scripts no TSO, os veteranos sabem:

🔥 REXX consegue:

  • conversar com CICS
  • operar consoles
  • controlar filas
  • monitorar transações
  • automatizar recovery
  • analisar dumps
  • integrar SDSF
  • conversar com DB2
  • chamar APIs
  • acionar comandos MVS
  • gerar alertas inteligentes

Tudo isso com poucas linhas.

Este laboratório foi pensado para:

  • Analistas de Produção Senior
  • Operadores avançados
  • Especialistas z/OS
  • Equipes de automação
  • Times de observabilidade mainframe

🚀 Estrutura do Laboratório

Cada caso possui:

✅ Objetivo
✅ Cenário real
✅ Passo a passo
✅ Código exemplo
✅ Dicas de produção
✅ Curiosidades Bellacosa Mainframe
✅ Solução operacional


🔥 LAB 01 — Consultando Status de Região CICS

🎯 Objetivo

Automatizar consulta de status da região CICS.


☕ Cenário Real

O operador precisa verificar:

  • se a região está ativa
  • número de tasks
  • uso de CPU
  • mensagens de erro

🚀 Passo a Passo

1. Criar EXEC REXX

ADDRESS SDSF

"ISFEXEC ST"

DO IX = 1 TO JNAME.0

IF POS("CICS", JNAME.IX) > 0 THEN
SAY JNAME.IX STATUS.IX

END

🔥 Resultado Esperado

CICSA ACTIVE
CICSB ACTIVE

💡 Dica Senior

Nunca dependa apenas de:

  • ping
  • VTAM
  • TCP/IP

Uma região pode responder rede e estar:

  • hung
  • loopando
  • sem dispatcher

☕ Curiosidade

Grandes bancos possuem robôs REXX monitorando CICS desde os anos 90.

Muita automação “moderna” apenas reinventou isso.


🔥 LAB 02 — Derrubando Transações Presas

🎯 Objetivo

Cancelar transações em loop.


🚀 Comando CICS

CEMT SET TASK(12345) PURGE

🚀 Automação REXX

ADDRESS TSO

TASK = 12345

CMD = "F CICSPROD,CEMT SET TASK("TASK") PURGE"

"CONSOLE "CMD

💡 Dica Senior

Sempre validar:

  • tempo de execução
  • CPU
  • enqueue
  • wait type

antes de purgar.


🔥 LAB 03 — Monitorando Número de Tasks

ADDRESS SDSF

"ISFEXEC ST"

TOTAL = 0

DO I = 1 TO JNAME.0

IF POS("CICS",JNAME.I) > 0 THEN
TOTAL = TOTAL + 1

END

SAY "REGIOES CICS:",TOTAL

🔥 LAB 04 — Detectando Região Travada

🎯 Estratégia

Comparar:

  • CPU baixa
  • tasks altas
  • ausência de logs

🚀 Exemplo

IF CPU < 1 & TASKS > 500 THEN
SAY "POSSIVEL HANG"

🔥 LAB 05 — Automatizando CEMT INQ TASK

ADDRESS TSO

"CONSOLE F CICSPROD,CEMT INQ TASK"

🔥 LAB 06 — Restart Automático de Região CICS

🚨 Cenário

Região caiu inesperadamente.


🚀 Fluxo

  1. Detecta DOWN
  2. Verifica horário permitido
  3. Sobe região
  4. Valida startup
  5. Gera alerta

🚀 Exemplo

"START CICSPRD"

🔥 LAB 07 — Verificando SOS (Short On Storage)

IF POS("SOS",MSG) > 0 THEN
SAY "ALERTA CRITICO"

🔥 LAB 08 — Ler JESMSGLG Automaticamente

ADDRESS SDSF
"ISFEXEC ST"

SAY "LENDO JESMSGLG..."

🔥 LAB 09 — Detectar Abend AEI9

IF POS("AEI9",LINHA) > 0 THEN
SAY "TRANSACAO INVALIDA"

🔥 LAB 10 — Automação de CEDF

🎯 Objetivo

Automatizar tracing de transações.


"CONSOLE F CICSPROD,CEDF TRANS(PGMA)"

🔥 LAB 11 — Monitor de Deadlocks

IF POS("DEADLOCK",MSG) > 0 THEN
SAY "DB2 DEADLOCK DETECTADO"

🔥 LAB 12 — Captura Automática de Dumps

"CONSOLE DUMP COMM=(CICSABEND)"

🔥 LAB 13 — Monitorando VSAM Locks

IF POS("ENQUEUE",MSG) > 0 THEN
SAY "LOCK VSAM"

🔥 LAB 14 — Robô de Health Check CICS

Checklist

✅ Tasks
✅ Storage
✅ CPU
✅ MQ
✅ DB2
✅ VTAM


🔥 LAB 15 — Integração REXX + SDSF + CICS

ADDRESS SDSF
"ISFEXEC DA"

🔥 LAB 16 — Restart Inteligente Pós-Abend

Estratégia

Nunca restartar:

  • em loop
  • acima de X falhas
  • fora da janela

🔥 LAB 17 — Monitorando Transações Long Running

IF TEMPO > 300 THEN
SAY "TRANSACAO SUSPEITA"

🔥 LAB 18 — Gerando Alertas Operacionais

SAY "ENVIANDO ALERTA PARA NOC"

🔥 LAB 19 — Detectando Storage Violation

IF POS("ASRA",MSG) > 0 THEN
SAY "POSSIVEL STORAGE VIOLATION"

🔥 LAB 20 — Operando CICS Pelo Console MVS

"CONSOLE F CICSPROD,CEMT INQ SYS"

🔥 LAB 21 — Monitorando MQ no CICS

IF POS("MQ",MSG) > 0 THEN
SAY "MQ ISSUE"

🔥 LAB 22 — Auditoria de Comandos Operacionais

QUEUE USERID DATE TIME CMD

🔥 LAB 23 — Detectando Loops de CPU

IF CPU > 90 THEN
SAY "LOOP CPU"

🔥 LAB 24 — Shutdown Controlado

"CONSOLE F CICSPROD,CEMT P SHUT"

🔥 LAB 25 — Coleta Automática de Estatísticas

SAY "GERANDO RELATORIO"

🔥 LAB 26 — Integração com DB2

ADDRESS DSNREXX

🔥 LAB 27 — Automação de Recovery

Fluxo

  1. Detecta erro
  2. Coleta dump
  3. Reinicia recurso
  4. Valida aplicação

🔥 LAB 28 — Detectando Flood de Tasks

IF TASKS > 5000 THEN
SAY "FLOOD DETECTADO"

🔥 LAB 29 — Operação Multi-CICS

DO FOREVER

Monitorando dezenas de regiões simultaneamente.


🔥 LAB 30 — Central de Automação Mainframe

🎯 Objetivo Final

Construir:

  • console inteligente
  • monitor operacional
  • auto recovery
  • observabilidade
  • automação enterprise

Tudo em REXX.


🚀 Arquitetura Recomendada

REXX
├── SDSF
├── CONSOLE
├── CICS
├── DB2
├── MQ
├── JES2
├── VTAM
└── SYSLOG

☕ Dicas de Ouro de Produção Senior

🔥 Nunca automatize sem rollback

Toda automação precisa:

  • validação
  • fallback
  • retry
  • logging
  • auditoria

🔥 REXX pode derrubar um banco inteiro

Um EXEC mal feito:

  • purga task errada
  • derruba região
  • gera storm de comandos

Produção não perdoa.


🔥 Monitore antes de agir

Senior não automatiza “ação”.

Senior automatiza:

  • decisão
  • contexto
  • diagnóstico

💣 Curiosidades Bellacosa Mainframe

☕ O REXX virou “DevOps” antes do DevOps existir

Muito antes de:

  • Ansible
  • Terraform
  • Kubernetes
  • Jenkins

o mainframe já fazia:

  • automação
  • self-healing
  • orchestration
  • monitoramento inteligente

com:

  • REXX
  • NetView
  • OPS/MVS
  • System Automation

🚀 Missão Final do Curso

Ao terminar estes 30 laboratórios você será capaz de:

✅ Automatizar CICS
✅ Criar robôs operacionais
✅ Detectar incidentes automaticamente
✅ Fazer self-healing
✅ Integrar múltiplos subsistemas
✅ Construir observabilidade real no z/OS
✅ Reduzir MTTR
✅ Operar ambientes enterprise críticos


🔥 Frase Final Bellacosa Mainframe

“No mundo distribuído o operador reage ao problema.

No Mainframe automatizado o problema já foi resolvido antes do telefone tocar.” 🚀☕

 

domingo, 16 de fevereiro de 2020

🍷 O Vinho Licoroso do Padre – o santo fermento dos botecos e sacristias

 


🍷 O Vinho Licoroso do Padre – o santo fermento dos botecos e sacristias
por El Jefe – Bellacosa Mainframe / Crônicas da Ressaca Sagrada

Há expressões que parecem inocentes, mas guardam histórias mais espirituosas que a própria bebida.
Vinho licoroso do padre” é uma dessas.
Um nome que soa respeitoso, quase litúrgico — mas que, na prática, era o primeiro passo do fiel rumo ao pecado da ressaca.

Vamos destrinchar esse clássico com o respeito (e ironia) que ele merece.


1. Origem: o vinho que atravessou a missa e foi parar no boteco
O “vinho licoroso” é, tecnicamente, um vinho fortificado — ou seja, um vinho ao qual se adiciona álcool (geralmente aguardente vínica) para aumentar o teor alcoólico e conservar melhor.
É o mesmo princípio do Porto e do Jerez.

Nos tempos coloniais e até boa parte do século XX, o Brasil importava ou produzia versões simples desse vinho para uso religioso — principalmente para missas.
A Igreja Católica precisava de algo doce, encorpado, estável e barato, que resistisse bem ao calor tropical sem azedar antes da comunhão.

E assim nasciam vinhos como o São Roque, Dom Bosco, Sangue de Boi, Canção e outros tantos “santos fermentos” nacionais.
Todos vinhos de cor rubi escura, adocicados e fortes — entre 16 e 18 graus alcoólicos —, usados não só pelo padre no cálice da missa, mas também pelo povo... no cálice de boteco.


🍇 2. A transubstanciação etílica – do altar ao balcão
O “vinho do padre” começou a circular fora da sacristia ainda nos anos 50 e 60, quando os fiéis descobriam que aquele vinho docinho, vendido em garrafa de litro com rótulo católico, era perfeito para adoçar o espírito nas tardes frias de São Paulo.

Nasceu ali um dos bordões mais espirituosos da malandragem paulistana:

“Hoje vou tomar o vinho do padre — porque o do boteco é mais forte que o da missa.”

E assim, nos bares da Mooca, do Brás, da Penha e da Lapa, o vinho licoroso ganhou seu novo altar: o balcão de madeira gasta.
Servido em copo americano, acompanhado de queijo minas ou mortadela, ele virou o drink dos humildes e dos nostálgicos.


🩸 3. O apelido e as lendas urbanas
O nome “vinho licoroso do padre” nasceu de duas referências:

  • A origem religiosa (era realmente usado em celebrações católicas).

  • O gosto doce e intenso, que parecia coisa de missa, mas “batizado” com o dobro do álcool.

E como toda boa história brasileira, há lendas:
Dizem que alguns padres mais espertos produziam suas próprias versões caseiras, “um pouco mais encorpadas para as celebrações de domingo”.
Outros juram que o nome surgiu num boteco do Brás, quando um freguês perguntou:

“Que vinho é esse?”
E o balconista respondeu:
“É o do padre — pra abençoar o fígado.”


📜 4. O vinho do povo simples
Nos anos 70 e 80, o vinho licoroso virou símbolo de um Brasil analógico e sem frescura.
Era o vinho de domingo, o que acompanhava frango assado, macarronada e rádio AM.
O que o pobre podia comprar e chamar de “vinho fino”.
Uma taça de Sangue de Boi na mesa era o equivalente proletário de um Romanée-Conti — só que com muito mais sinceridade e menos pretensão.

Os rótulos religiosos ajudavam na mística.
“Dom Bosco”, “Canção”, “São Francisco”, “Santa Felicidade” — todos pareciam bênçãos engarrafadas, mesmo quando deixavam o beato de joelhos na segunda-feira.


🍷 5. Curiosidades e bugs culturais

  • O “vinho licoroso do padre” foi muito usado como base para batidas caseiras, especialmente com leite condensado e canela.

  • No interior paulista, alguns bares misturavam o vinho com soda limonada, criando o lendário “vinho frisante do povo”.

  • E reza a lenda (sem trocadilho) que em certas paróquias do interior, os fiéis levavam a própria garrafa para a missa, para “garantir a comunhão mais intensa”.


🧠 6. Filosofia de balcão – a moral etílica
O vinho licoroso do padre é a prova líquida de que o sagrado e o profano compartilham o mesmo tonel.
É doce, mas não inocente.
É simples, mas cheio de camadas — como a alma paulistana.
É o drink da conciliação: entre fé e festa, entre missa e boteco, entre o altar e o balcão.

Como diria o Bellacosa:

“Há quem encontre Deus no vinho.
E há quem encontre o vinho no caminho até Deus.”


Dica do El Jefe para os padawans nostálgicos:
Quer reviver a experiência?
Compre uma garrafa de Dom Bosco licoroso, sirva gelado no copo americano e escute um vinil do Agnaldo Rayol ou um tape do Demônios da Garoa.
Mas atenção: esse vinho é traiçoeiro.
Ele entra rezando... e sai cantando.


🕯️ Bellacosa Mainframe – onde até o altar tem balcão e o debug é feito com vinho doce.


sexta-feira, 14 de fevereiro de 2020

📬 “Cartas ao Mar” — o verão de 1991 e o amor que viajava em envelopes

 


💌✨ Post Bellacosa Mainframe / El Jefe Midnight Lunch Edition

📬 “Cartas ao Mar” — o verão de 1991 e o amor que viajava em envelopes


Existem memórias que não se apagam — apenas ficam guardadas no spool do coração, esperando o comando certo pra serem impressas outra vez.
Verão de 1991, Praia Grande, São Paulo.
O som das ondas misturado com o apito do picolé Chica-Bon, o cheiro de protetor solar misturado com maresia, e o vento trazendo aquela promessa que só os amores de verão sabem fazer: a de durar pra sempre… mesmo que o sempre dure apenas até o próximo janeiro.

Foi ali que apareceu elaClaudiane Peres, de Catanduva.
Cabelos ao vento, sorriso de pôr do sol, e aquele jeito tímido de quem dizia muito sem precisar falar nada.
Entre beijinhos roubados, sorvete de casquinha, e passeios de mãos dadas no calçadão, o tempo parecia suspenso — uma versão analógica do amor, sem filtros nem notificações.




💌 O tempo das cartas

Quando as férias acabaram, a maré levou cada um de volta ao seu porto.
Mas a história não se dissolveu — virou papel, tinta e selo.
Era o tempo do namoro por correspondência, aquele ritual sagrado que fazia o coração bater mais forte só de ouvir o carteiro gritar:

“Cooorreiooo!”

A expectativa era um misto de ansiedade e doçura.
Abrir o envelope era quase abrir o peito: o cheiro do papel, a letra dela, as palavras redondas e carinhosas, o “até logo” escrito com esperança.
Depois vinha o outro ritual — responder.
Caprichar na letra, escolher o envelope mais bonito, passar perfume (sim, perfume!), e caminhar até a agência dos Correios, coração em overclock, imaginando a carta cruzando estradas, cidades e saudades.


⏳ A lentidão bonita

Hoje tudo é instantâneo: mensagens que atravessam o mundo em segundos.
Mas naquela época, o amor tinha latência de semanas — e era justamente isso que o tornava especial.
Cada carta era um checkpoint emocional, um snapshot da alma de dois adolescentes tentando entender o tempo.
A espera era parte da magia.

Com o tempo, claro, as cartas foram rareando.
Vieram as provas, os empregos, os compromissos, os desencontros.
Até que um dia o carteiro deixou de gritar seu nome, e a caixa de correio ficou muda.
Mas o coração… o coração guardou backup.


🌅 Trinta anos depois

Hoje, em 2020, o verão ainda tem o mesmo cheiro salgado da Praia Grande.
Você passa pelo mesmo calçadão e quase pode ver o reflexo de dois jovens caminhando lado a lado.
O tempo apagou as pegadas, mas não o arquivo de memória.
E fica aquela pergunta que ecoa suave, entre uma onda e outra:

“Será que a Claudiane casou?
Teve filhos? Netos?
Será que às vezes ela também pensa naquele verão?”

Talvez sim, talvez não.
Mas o importante é que houve.
Houve aquele amor simples, sincero, que cabia em duas páginas de papel almaço e um selo de 50 cruzeiros.


🕯️ Filosofia de balcão do El Jefe

O amor de carta é o COBOL dos sentimentos — antigo, mas confiável.
Demora pra compilar, mas quando roda, grava tudo na fita da memória.
E enquanto houver lembrança, sempre haverá um E SE… flutuando no ar, suave como o vento do mar em 1991.


📮 Dica de El Jefe:
Se um dia achar uma carta antiga numa gaveta, não jogue fora.
Leia.
Sinta.
Ali mora um pedaço do que você foi — e talvez do que ainda é.

“Cartas são como conchas: simples por fora, mas cheias de oceano por dentro.” 🌊💙

 

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