quarta-feira, 6 de fevereiro de 2013

Quiririm, 1984 — pedalando para o interior do interior

 Quiririm, 1984 — pedalando para o interior do interior



Nos mudamos do Quiririm e antes de partir, relembro mais algumas memorias,  direto do dataset de memórias carregado em fita magnética.




Algumas memórias de 1984, no Quiririm, voltam com cheiro de terra molhada e barulho de corrente de bicicleta mal lubrificada. Era comum, quase rotina, eu e o Celo montarmos nas bikes e seguirmos estrada afora em direção ao Tataúba e ao Pinheirinho. Não era passeio turístico, era deslocamento raiz, sem capacete, sem GPS, só com coragem, curiosidade e uma noção meio vaga de onde ficava a volta.

Meu pai, seu Wilson, às vezes ia fotografar festas nesses distritos rurais. Batizados, casamentos, quermesses, aniversários simples, mas cheios de significado. A máquina fotográfica era quase um artefato mágico naquele cenário. Fazer amizade era inevitável, e dessas amizades nasciam convites:
“Depois da festa passem lá em casa pra tomar um leite.”

E lá íamos nós.

Era o interior do interior, aquele São Paulo que não aparecia nos livros da escola nem no jornal da televisão. Antigas famílias colonas, gente que vivia da terra, num ritmo completamente diferente do nosso. O tempo ali parecia rodar em outro clock. O dia começava no raiar do sol e terminava quando a luz ia embora, porque em muitos lugares não tinha eletricidade.

Lembro das pescarias, esticando até o Rio Paraíba do Sul, das varas improvisadas, da paciência infinita dos adultos, do silêncio quebrado só pelo vento e pelos insetos. Do leite tirado na hora, morno, direto da vaca. Do cheiro do fogão a lenha, da comida simples e absurda de boa. Da primeira vez que entrei numa privada no meio do mato, experiência antropológica que nenhum manual prepara.

Tinha estrada de terra, poeira no seco, lama na chuva, cercas, pastos, mato alto e uma sensação constante de estar vivendo algo que já estava desaparecendo. Aquilo me lembrava aventuras ainda mais antigas, de Pirassununga, Ibitinga, Novo Horizonte, Urupês Catanduva. Era como revisitar um backup de infância que eu nem sabia que existia.

A vida no campo era pobre e dura. Trabalho pesado, repetitivo, sem descanso, do nascer ao pôr do sol. Nada romantizado. E, nesse cenário, a fotografia do seu Wilson era um luxo raro. Um registro precioso. Um pedaço de memória congelado para presentear parentes, guardar na gaveta, mostrar para quem não pôde ir. Aquela foto era prova de que aquele dia tinha existido.

Eu observava tudo com olhos atentos. Aquilo não era só passeio, era aprendizado. Um São Paulo completamente diferente daquele que eu conhecia, daquele que a escola ensinava, daquele que aparecia nos mapas.

Pedalar até o Tataúba e o Pinheirinho não era apenas ir longe. Era atravessar camadas do tempo, visitar um modo de vida que já naquela época dava sinais de fim. E eu, pequeno operador da própria história, ia armazenando tudo em memória permanente, sem saber que décadas depois estaria aqui, dando RECALL nessas lembranças e rodando esse programa de saudade chamado vida.


terça-feira, 5 de fevereiro de 2013

📸 O Pequeno Vendedor de Salgadinhos & O Carnaval Mítico de Pirassununga (1983)

 


🌙 El Jefe Midnight Lunch apresenta:
📸 O Pequeno Vendedor de Salgadinhos & O Carnaval Mítico de Pirassununga (1983)
Uma crônica Bellacosa Mainframe sobre liberdade, samba, coxinhas e destino


Existem histórias que chegam para mim como um dump do JES2: cheio de linhas caóticas, mensagens truncadas, e no meio da bagunça... um registro vital, um checkpoint da vida.
Pois bem: 1983, Pirassununga. Brasil em final de ditadura, moralismo fervendo, e um personagem que eu jamais esqueceria — Bene.



🏳️‍🌈 Bene, a entidade de Pirassununga

Bene não era apenas uma pessoa. Era praticamente um CICS Transaction ambulante:

  • Rápido,

  • Direto,

  • Chamado por todos,

  • E impossível de ignorar.

Em plena época de conservadorismo sufocante, ele era um homossexual efeminado assumido, colorido por natureza, vida e espontaneidade. Sambista nato, porta-bandeira de uma escola paulistana importada para o interior só para “causar”. Bene era aquilo que o Japão chamaria depois de ikemen invertido: exuberância em vez de contensão.

Ele era o próprio “easter-egg” vivo da cidade — algo que ninguém esperava ver num ambiente tão fechado… mas que todo mundo secretamente respeitava, porque Bene fazia a festa acontecer.

Nota de rodapé Pirassununga é uma cidade famosa pela sua base da Força Area, a Esquadrilha da Fumaça e milicos para todos os lados, a existência do Bene era uma prova da força divina e santo forte do rapaz. Imagine que ele escapou ileso aos porões do DOI-CODE sem nunca entrar nos radares desse povo louco.



📸 E onde entra a família Bellacosa?

Como sempre: onde há uma confusão, há um Bellacosa sendo puxado para dentro.

Numa daquelas noites aleatórias em que tudo parecia quieto demais para a década de 80, Bene aparece com um pedido insolito, quase divino:

“Ô, seu Wilson Bellacosa… cê não quer fazer a reportagem fotográfica do Carnaval?”

A promessa de dinheiro brilhou como painel do 3270 quando o VTAM finalmente conecta.
E lá vai meu pai — fotógrafo profissional, retratista raiz — abrir a temporada oficial de fotos do Carnaval de Pirassununga 1983.

Mas, como sabemos, ninguém da família Bellacosa trabalha sozinho. O caos sempre é distribuído como JCL mal comentado.



🥟 A vó Anna, pipeline master do destino

A vó Anna, grande arquiteta da vida Bellacosa, observando a inquietação do meu pai, irresponsabilidade para governar a família, incrível capacidade de ferrar com tudo, fez o que toda matriarca visionária faz:

  1. Pegou minha mãe pela mão

  2. Levou-a para a igreja

  3. Colocou-a num curso de fabricação de salgados para festas

E pronto: nasceu um microempreendimento familiar antes mesmo do MEI existir.
Coxinhas, risoles, croquetes, tudo gerado em batch noturno diretamente na cozinha da casa.



👦 E eu, pequeno padawan?

Promovido — sem concurso público — a vendedor de salgadinhos.

Melhor dizer, convocado, alistado e inscrito nessa operação especial. Sem direito a fuga...

  • Meu pai no meio da rua fotografando tudo, parecendo repórter oficial do Globo Repórter: edição folia interiorana

  • Minha mãe numa calçada vendendo os salgados

  • Eu na outra calçada, um mini-hardware humano processando vendas, troco e clientela com throughput digno de MQSeries

  • Vivi e Dandan… off-line, sem escalonamento naquela missão

Esse foi o primeiro job remunerado do jovem Bellacosa.
O JOB001, o início de uma longa sequência de execuções bem-sucedidas, cada uma com sua história, suas exceções e suas mensagens $HASP aleatórias da vida.



🎭 O Carnaval que me iniciou no “modo trabalhador”

Entre um sambista, um fotógrafo, uma cozinheira recém-formada, uma matriarca estrategista e eu — o pequeno vendedor — nasceu o primeiro workflow profissional Bellacosa.

E tudo isso no meio de:

  • Fantasias improvisadas

  • Sambas ecoando pela praça

  • O povo celebrando a liberdade recém permitida era final da ditadura

  • Bene, radiante, reinando como supernova em meio à poeira conservadora

🌟 Easter-egg que só quem é da época sabe

  • Em 1983, várias cidades pequenas ainda proibiam travestis de desfilar — Pirassununga permitiu Bene sem pestanejar.

  • As fotos do meu pai se tornaram parte da memória oral da cidade — muita gente ainda lembra e guarda estas relíquias de família.

  • A polícia olhava torto, mas deixava passar. Carnaval é exceção até para militar.

📌 Moral do episódio (versão Bellacosa Mainframe)

Às vezes, a vida me coloca para vender coxinhas no meio da rua, achando que é só um bico…
Mas ali nasceu o meu senso de:

  • trabalho,

  • responsabilidade,

  • criatividade,

  • improviso,

  • e principalmente… resiliência.

E tudo isso graças a Bene — o trigger humano — que, só por existir livre, bagunçou positivamente a história da sua família.


segunda-feira, 4 de fevereiro de 2013

COBOL no Mainframe Programa → O Esqueleto: Divisões → Seções → Parágrafos → Frases → Declarações

 


🟦 COBOL no Mainframe e seu esqueleto

Programa → Divisões → Seções → Parágrafos → Frases → Declarações

(ou: como o código mais longevo do planeta ainda governa o mundo)

“COBOL não é velho. Velho é o problema que ele resolve.”
— Bellacosa, olhando um extrato bancário



🧬 Origem: antes do Java, antes do C, antes do hype

COBOL nasceu em 1959, patrocinado pelo Departamento de Defesa dos EUA, com uma ideia revolucionária para a época:

👉 programas legíveis por humanos de negócios, não apenas por matemáticos.

Enquanto outras linguagens focavam em ciência e engenharia, o COBOL foi criado para:

  • Folha de pagamento

  • Contabilidade

  • Bancos

  • Seguros

  • Governo

  • Tudo que não pode parar

E aqui vai o primeiro easter-egg:

🥚 Mais de 70% das transações financeiras globais ainda passam por COBOL.
Se ele cair, o mundo sente.


🧱 O mantra sagrado do COBOL

Todo programa COBOL clássico segue esta hierarquia:

Programa └── Divisões └── Seções └── Parágrafos └── Frases └── Declarações

Isso não é só estilo.
É contrato social, organização mental e engenharia de sobrevivência.

Vamos por partes, Padawan.


🧠 1️⃣ Programa: o universo

O programa COBOL é a unidade máxima:

  • Compilável

  • Executável

  • Chamável por outro programa

  • Controlado por JCL

  • Versionado (ou não… dependendo do museu 😅)

Exemplo:

IDENTIFICATION DIVISION. PROGRAM-ID. ELJEFE01.

Se não tem PROGRAM-ID, não é programa.
É só tristeza.


🧩 2️⃣ Divisões: os grandes blocos da mente COBOL

O COBOL clássico tem 4 divisões principais:

🔹 IDENTIFICATION DIVISION

Quem você é:

  • Nome do programa

  • Autor

  • Data

  • Comentários históricos (às vezes fósseis)

IDENTIFICATION DIVISION. PROGRAM-ID. ELJEFE01. AUTHOR. BELLACOSA.

🥚 Easter-egg: muitos programas em produção ainda têm DATE-WRITTEN. 1987.


🔹 ENVIRONMENT DIVISION

Onde você vive:

  • Arquivos

  • Dispositivos

  • Ambiente de execução

Hoje em dia:

  • Muitas vezes vazia

  • Mas ainda respeitada por tradição


🔹 DATA DIVISION

O coração do COBOL.

Aqui você define:

  • Arquivos

  • Registros

  • Variáveis

  • Estruturas

  • Formatos

  • Tamanhos

  • Regras de negócio implícitas

DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-SALDO PIC 9(9)V99.

👉 Se você erra aqui, o programa compila… e falha em produção.


🔹 PROCEDURE DIVISION

Onde a mágica acontece.

É o fluxo lógico, a história do programa, o passo a passo do negócio.

PROCEDURE DIVISION. PERFORM CALCULA-SALDO DISPLAY WS-SALDO STOP RUN.

🧩 3️⃣ Seções: organização lógica (nem sempre usada)

As seções são agrupadores de parágrafos.

Exemplo clássico:

PROCEDURE DIVISION. MAIN-SECTION.

Hoje:

  • Alguns usam

  • Outros ignoram

  • Todos respeitam quando encontram

🥚 Easter-egg: programas antigos têm seções enormes com 5 mil linhas.


🧩 4️⃣ Parágrafos: unidades de execução

O parágrafo é:

  • Um ponto de entrada

  • Um bloco executável

  • Algo que você pode PERFORM

CALCULA-SALDO. ADD WS-CREDITO TO WS-SALDO SUBTRACT WS-DEBITO FROM WS-SALDO.

👉 Parágrafo bom:

  • Nome claro

  • Uma responsabilidade

  • Fácil de testar (na teoria 😄)


🧩 5️⃣ Frases: uma ou mais declarações terminadas por ponto

No COBOL clássico:

  • O ponto (.) encerra uma frase

  • E também pode quebrar fluxo

Exemplo:

ADD A TO B SUBTRACT C FROM B.

⚠️ Dica Bellacosa:

Ponto em excesso mata legibilidade e cria bugs invisíveis.


🧩 6️⃣ Declarações: as instruções de verdade

Aqui estão os verbos COBOL:

  • MOVE

  • ADD

  • SUBTRACT

  • MULTIPLY

  • DIVIDE

  • IF

  • EVALUATE

  • PERFORM

  • READ

  • WRITE

Exemplo:

IF WS-SALDO < 0 MOVE 'NEGATIVO' TO WS-STATUS END-IF

👉 Leia em voz alta.
Se fizer sentido, é COBOL bem escrito.


🛠️ Boas práticas Bellacosa Approved™

✔ Um parágrafo = uma responsabilidade
✔ Nomeie tudo como se fosse explicar para auditor
✔ Evite GO TO (sim, ele existe…)
✔ Centralize regras no DATA DIVISION
✔ Comente o porquê, não o como
✔ Código COBOL é lido mais do que escrito


🧠 Curiosidades que ninguém te conta

🥚 COBOL foi feito para ser lento para mudar, rápido para confiar
🥚 Programas com 40 anos rodam sem recompilar
🥚 O maior risco não é o COBOL — é ninguém entender o que ele faz
🥚 Modernizar não é reescrever, é encapsular e expor


🧘 Visão final para o Padawan

COBOL não é uma linguagem.
É uma forma de pensar sistemas críticos.

A hierarquia:

Programa → Divisões → Seções → Parágrafos → Frases → Declarações

existe para:

  • Clareza

  • Controle

  • Manutenção

  • Sobrevivência a décadas

Se você entende isso, você:

  • Lê qualquer programa

  • Não tem medo de legado

  • Está pronto para integrar com cloud, APIs, microsserviços

E lembre-se:

“Todo hype passa.
O extrato bancário continua.”

terça-feira, 15 de janeiro de 2013

😈 Top 10 mentiras que contam sobre sistemas distribuídos

 


😈 Top 10 mentiras que contam sobre sistemas distribuídos

Conhecimento básico sobre aplicações distribuídas para quem já viu produção cair “sem motivo”


☕ 01:12 — Quando tudo “funcionava no ambiente”

Se você já ouviu:

“Distribuído escala sozinho, é resiliente e se resolve”

…parabéns. Você foi apresentado às mentiras fundacionais dos sistemas distribuídos.

Este artigo não é pessimista.
É experiente.


1️⃣ “Distribuído é mais confiável” 🧨

Mentira.
Distribuído falha de mais formas.

No mainframe:

  • Falha é binária

No distribuído:

  • Falha parcial

  • Falha lenta

  • Falha intermitente

  • Falha invisível

📌 Comentário Bellacosa:
Mais nós = mais maneiras de quebrar.


2️⃣ “Se cair, o retry resolve” 🔁

Mentira perigosa.

Retry sem:

  • Idempotência

  • Limite

  • Backoff

= duplicação + avalanche.

😈 Easter egg traumático:
Retry mal feito é GO TO recursivo com autoestima.


3️⃣ “Stateless simplifica tudo” 📦

Mentira elegante.

O estado:

  • Não desapareceu

  • Só foi escondido

📌 Tradução mainframês:
Estado sem dono vira problema de todos.


4️⃣ “Event-driven desacopla completamente” 📣

Mentira conceitual.

Eventos:

  • Criam acoplamento temporal

  • Exigem contrato

  • Precisam de versionamento

🔥 Comentário ácido:
MQ não é desculpa para ignorar consistência.


5️⃣ “Microservices facilitam manutenção” 🧩

Mentira organizacional.

Eles facilitam:

  • Deploy independente

Mas complicam:

  • Debug

  • Observabilidade

  • Governança

😈 Easter egg:
Microservices sem observabilidade = terror distribuído.


6️⃣ “Alta disponibilidade vem da cloud” ☁️

Mentira de marketing.

Alta disponibilidade vem de:

  • Arquitetura

  • Disciplina

  • Teste

  • Orçamento

📌 Mainframe feelings:
HA sempre foi requisito, não feature premium.


7️⃣ “Monitorar logs é suficiente” 📜

Mentira operacional.

Logs sem:

  • Contexto

  • Correlação

  • Métrica

são romance técnico.

😈 Comentário Bellacosa:
Quem já leu SMF sabe: log sozinho mente.


8️⃣ “Deploy contínuo reduz risco” 🚀

Mentira condicional.

Reduz risco se:

  • Houver rollback

  • Métricas pós-deploy

  • Feature flags

Sem isso:
= erro contínuo.

📌 Regra imortal:
Quem não sabe voltar, não deveria ir.


9️⃣ “Falha é exceção” 👻

Mentira infantil.

Em sistemas distribuídos:

  • Falha é estado normal

  • Sucesso é transitório

🔥 Comentário realista:
Projetar para sucesso é fácil.
Projetar para falha paga salário.


🔟 “Distribuído elimina o mainframe” ⚰️

A maior mentira de todas.

O que aconteceu foi:

  • O mundo ficou distribuído

  • O mainframe continuou crítico

  • Alguém precisou integrar tudo

😈 Easter egg final:
Cloud herdou os problemas do mainframe — sem a maturidade.


🧭 Passo a passo para não cair nessas mentiras

1️⃣ Desconfie de absolutos
2️⃣ Pergunte “e se falhar?”
3️⃣ Exija observabilidade
4️⃣ Pense em rollback
5️⃣ Trate estado como ativo crítico
6️⃣ Documente decisões
7️⃣ Proteja produção


📚 Guia de estudo honesto 📖

Conceitos

  • CAP Theorem

  • Resiliência

  • Observabilidade

  • Event-driven

  • SRE

Leitura obrigatória

  • Post-mortems reais

  • Casos de outage

  • Relatórios de falhas

📌 Dica Bellacosa:
Leia mais incidentes do que tutoriais.


🎯 Aplicações práticas no mundo real

  • Core bancário híbrido

  • Sistemas regulados

  • Plataformas críticas

  • Times de arquitetura

  • Governança técnica


🖤 Epílogo — 02:59, ninguém sabe por que caiu

Distribuído não é ruim.
É honesto com quem aceita complexidade.

El Jefe Midnight Lunch encerra:
“Quando alguém diz que distribuído é simples, prepare o café e esconda a produção.”

segunda-feira, 14 de janeiro de 2013

Japão: um Sistema Milenar em Produção Contínua

 


Japão: um Sistema Milenar em Produção Contínua

(Uma leitura Bellacosa Mainframe da linha do tempo japonesa)

Essa imagem não é apenas uma timeline. É o diagrama de arquitetura de um dos sistemas culturais mais resilientes da história. O Japão nunca desligou. Reiniciou, sim — várias vezes — mas sempre preservando memória.


🌾 Japão Antigo – Boot Inicial (até 710 d.C.)

Aqui o sistema carrega os módulos básicos: arroz, xintoísmo e escrita. A introdução do arroz não foi só agrícola; foi administrativa. Arroz virou imposto, poder e controle social. Já o xintoísmo, com seus kami, criou uma espiritualidade descentralizada — nada de dogma pesado, tudo integrado à natureza.

📌 Easter egg: os primeiros santuários xintoístas não tinham prédios. O “templo” era a árvore, a pedra, o rio.


📜 Japão Clássico – Documentação Oficial (710–1185)

Com o Kojiki, o Japão escreve sua própria “documentação do sistema”. Mistura mito com história sem pedir desculpa. Aqui o país importa conhecimento da China: escrita, budismo, burocracia.

🗣️ Fofoquice histórica: a elite japonesa copiava a China… mas adaptava tudo. Nada era clone puro.


⚔️ Japão Feudal – Controle por Guerreiros (1185–1603)

Samurais assumem o console. Honra, espada e hierarquia rígida. O poder sai do imperador simbólico e vai para o shogun — clássico caso de quem manda não aparece no organograma.

📌 Curiosidade: o bushidō foi romantizado depois. Na prática, samurai também fazia intriga, traição e política pesada.


🚪 Período Edo – Sistema Isolado (1603–1868)

O Japão entra em Sakoku: firewall total. Nada de estrangeiros, nada de saída. Estabilidade absurda por 250 anos.

🧨 Easter egg: enquanto o país “parava”, surgiam kabuki, haicais, ukiyo-e. Cultura floresce quando o sistema não vive em guerra.


🚢 Era Meiji – Upgrade Forçado (1868–1912)

Os EUA chegam como patch não solicitado. O Japão olha, avalia e faz algo raro: aprende rápido. Industrialização acelerada, exército moderno, fim dos samurais.

🗣️ Fofoquice: foi aqui que o Japão decidiu “vamos copiar o Ocidente… mas melhor”.


💣 Taishō–Shōwa – Erros Críticos (1912–1945)

Imperialismo, guerras, Pearl Harbor. O sistema entra em modo agressivo… e paga caro. Hiroshima e Nagasaki são o maior crash da história japonesa.

📌 Curiosidade: mesmo derrotado, o Japão não perde identidade. Isso é raríssimo.


🚄 Pós-Guerra – Sistema Reconstruído (1945–1989)

Sem exército, com tecnologia. O Japão vira potência industrial, cria o Shinkansen, eletrônicos, carros, anime, manga.

🗣️ Easter egg: Godzilla nasce aqui — metáfora direta do trauma nuclear.


🌊 Japão Moderno – Resiliência Ativa (1990–presente)

Terremotos, tsunamis, crises… e o sistema continua. Cultura pop global, tradição local intacta.

📌 Curiosidade final: poucos países conseguem ser antigos e futuristas ao mesmo tempo.


☕ Conclusão Bellacosa Mainframe

O Japão é prova viva de que sistemas não sobrevivem por força, mas por adaptação. Ele cai, reinicia, aprende e continua.

E como todo bom sistema legado…
ninguém entende completamente —
mas todo mundo depende.


domingo, 13 de janeiro de 2013

Mais uma mudança em Taubaté



Mais uma mudança em Taubaté

O CECAP foi um bairro especial. Daqueles locais magicos que ficam na memoria, nos lembrando deste e daquele momento, daqueles famosos e se.


Daqueles que entram em produção e ficam marcados no histórico do sistema para sempre. Foi um ambiente divertido, cheio de rotas alternativas, backdoors naturais e mapas secretos que só a molecada conhecia. Percorremos campos de arroz como se fossem territórios proibidos, atravessamos riachos e lagoas, exploramos trilhas que levavam ao Tataúba e ao Pinheirinho, sempre com aquele sentimento de aventura que hoje não cabe mais no mundo asfaltado.

Tinha a cooperativa da Volkswagen, as idas até Caçapava, as olarias, a barulhenta máquina de descascar arroz cuspindo grãos como se fosse um batch job sem JCL otimizado. Tinha os caquis furtados com técnica ninja, as jabuticabas roubadas em grupo, as iças coletadas em operação coordenada e, acima de tudo, os bons amigos. Companheiros de jornada, de ralada, de riso e de cascudo.



Mas sistemas instáveis sempre geram mudanças inesperadas.

Seu Wilson, inquieto, inconstante, aquele operador que nunca deixa o ambiente estabilizar, arrumou mais uma casa. E lá fomos nós novamente. Shutdown controlado? Nada. Foi power off mesmo.

Estamos agora em 1985.
Novo endereço: Jardim Garcez, no Parque Sabará, ainda em Taubaté, mas do outro lado do mapa. Outro extremo da cidade. Próximo de Tremembé, colado em fazendas, perto do Rio Paraíba do Sul. Um cenário completamente diferente, quase outro datacenter.

Nova casa.
Nova escola.
Novos colegas.

Aquela sensação clássica de quem acabou de dar IPL num sistema desconhecido: tudo parece estranho, os nomes não fazem sentido, os comandos ainda não funcionam direito. A gente observa, testa, mede, erra, aprende. É assim que sempre foi.

O CECAP ficou para trás, arquivado na memória como um dataset histórico, daqueles que você não apaga nunca, mesmo sabendo que não volta mais a usá-lo. As aventuras continuam, mas agora em outro ambiente, com outras regras, outros perigos, outros aliados.

E eu sigo, pequeno operador da própria vida, carregando experiências de um bairro que me ensinou a explorar, a dividir, a sobreviver e a rir. Agora é esperar os próximos eventos, porque se tem uma coisa que aprendi cedo é que, na minha história, a estabilidade nunca dura muito.

Vamos ver o que acontece.

sábado, 12 de janeiro de 2013

🧪 Plano de Tuning Batch COBOL – IBM Mainframe

 


🧪 Plano de Tuning Batch

COBOL – IBM Mainframe

“Batch lento não é destino, é diagnóstico.”


🟥 FASE 0 — PRINCÍPIO SAGRADO

Nunca tune sem medir
Nunca mude tudo de uma vez
Nunca confie só em elapsed time


🟦 FASE 1 — IDENTIFICAÇÃO DO PROBLEMA

🎯 Objetivo

Descobrir ONDE o batch gasta tempo:

  • CPU?

  • I/O?

  • Espera?

  • Lock?

  • Storage?

📌 Ações

☑ Identificar JOB / STEP problemático
☑ Horário de execução
☑ Pico ou fora do pico

🔧 Ferramentas

  • SMF 30 (Job)

  • SMF 72 (CPU)

  • OMEGAMON

  • RMF

  • SDSF (CPU TIME)

💬 Fofoquinha:

Batch “lento” às vezes só roda no horário errado.


🟨 FASE 2 — CPU vs ELAPSED (o divisor de águas)

SituaçãoDiagnóstico
CPU alto / Elapsed baixoCódigo ruim
CPU baixo / Elapsed altoI/O, lock, espera
Ambos altosTudo errado

☑ Compare:

  • CPU TIME

  • EXCP

  • SRB vs TCB


🟩 FASE 3 — ANÁLISE DE CPU (quando a conta dói)

🧠 Verificar compilação COBOL

☑ Parâmetros:

OPTIMIZE(2) TRUNC(BIN) ARITH(EXTEND) DATA(31) RULES

☑ Evitar:

  • NUMCHECK em produção sem necessidade

  • SSRANGE

  • INITCHECK

📉 Ganho típico: 5% a 30%


🟪 FASE 4 — CÓDIGO COBOL (o crime mais comum)

🔪 Pontos clássicos de CPU alta

☑ DISPLAY em loop
☑ MOVE repetido
☑ IF aninhado
☑ PERFORM THRU
☑ Conversão implícita de tipos

💡 Melhoria

  • Código linear

  • Parágrafos curtos

  • Cálculo com COMP/COMP-5

🥚 Easter egg:

Um DISPLAY por registro já custou mais que licença de compilador.


🟧 FASE 5 — I/O (onde o tempo some)

📊 Analisar

  • EXCP alto

  • WAIT I/O

  • VSAM CI/CA mal dimensionado

☑ Ajustes

  • Buffers maiores

  • Redução de leitura repetida

  • SORT externo em vez de interno

📉 Ganho típico: 10% a 50% de elapsed


🟫 FASE 6 — SORT (o vilão invisível)

☑ Verificar:

  • SORT interno vs DFSORT

  • Quantidade de registros

  • Campos de chave

💣 Erro comum:

SORT interno com milhões de registros sem tuning.

☑ Preferir:

EXEC PGM=SORT

🟥 FASE 7 — JCL (ninguém olha, mas paga)

☑ Revisar:

  • REGION exagerado

  • STEPLIB duplicado

  • Programas obsoletos rodando

☑ Ajustar:

  • DISP correto

  • CONCATENATION mínima

  • DD redundante removido


🟦 FASE 8 — PARALELISMO E JANELA

☑ Avaliar:

  • Jobs sequenciais sem dependência

  • Execução fora do pico

  • Divisão por partição lógica

💬 Fofoquinha:

Batch mais rápido é o que não disputa CPU.


🟩 FASE 9 — zIIP / LE (dinheiro dormindo)

☑ Verificar:

  • LE habilitado

  • Versão do COBOL

  • Ambiente preparado

📉 Offload possível:

  • XML

  • JSON

  • Serviços

  • Partes do LE


🟪 FASE 10 — MEDIR NOVAMENTE (o momento da verdade)

☑ Comparar:

  • CPU antes/depois

  • Elapsed antes/depois

  • EXCP antes/depois

  • SMF

☑ Documentar:

  • Mudança aplicada

  • Ganho real

  • Risco


☠️ ERROS QUE ARRUÍNAM O TUNING

ErroConsequência
Mudar tudo de uma vezIncidente
Não medir SMFIlusão
Otimizar DEV sóNenhum ganho real
Ignorar I/OElapsed explode
Culpar o mainframeVergonha técnica


🎓 RESUMO PADAWAN

✔ Batch lento tem causa
✔ CPU não mente
✔ Código importa
✔ I/O mata
✔ JCL conta
✔ zIIP salva


🧠 FRASE FINAL BELLACOSA™

“Tuning não é mágica.
É respeito à máquina.”