segunda-feira, 30 de setembro de 2013

💾 z/OS 2.1 — O salto técnico rumo à era híbrida do Mainframe ☁️⚙️

 





💾 z/OS 2.1 — O salto técnico rumo à era híbrida do Mainframe ☁️⚙️

Por Bellacosa Mainframe — onde bits, café e história se misturam ☕🖥️


Quando a IBM lançou o z/OS 2.1 em setembro de 2013, o mundo mainframe vivia uma encruzilhada: ou se isolava como um dinossauro tecnológico, ou se reinventava como o titã resiliente da nova era digital.
Adivinha qual caminho ele escolheu? 😎
Spoiler: o z/OS 2.1 é o marco da virada para a era híbrida e cognitiva do mainframe.

Vamos destrinchar o que mudou, as camadas técnicas e as curiosidades que tornam essa versão um divisor de águas.


🧬 1. Contexto histórico — o z/OS reencontra o futuro

O z/OS 2.1 nasceu junto com os mainframes IBM zEnterprise EC12 (zEC12), um monstro de 5.5 GHz, com 2 TB de memória, 120 processadores físicos e uma arquitetura pensada para virtualização de workloads e análise em tempo real.

O grande desafio da IBM era:

“Como preparar o z/OS para o futuro da integração, da nuvem e do mobile sem perder o legado que roda o planeta?”

Assim surge o z/OS 2.1, com foco em eficiência, elasticidade e conectividade.


🧠 2. Arquitetura e uso de memória — o cérebro expandido

O z/OS 2.1 trouxe uma reengenharia no gerenciamento de memória, aproveitando melhor a arquitetura z/Architecture e as inovações do PR/SM (Processor Resource/System Manager).

Principais avanços:

  • Suporte a 16 TB de memória virtual (um salto em relação ao 2.0).

  • Melhor uso da 64-bit addressing mode, reduzindo page faults e swaps.

  • Buffer Pools e dataspaces otimizados — ideal para DB2, IMS e CICS.

  • Cross Memory Services mais rápidos e isolados.

💡 Curiosidade Bellacosa: O kernel do z/OS 2.1 literalmente “aprende” a liberar memória mais rápido para workloads que mudam de prioridade — algo que hoje chamamos de “inteligência operacional”.


⚙️ 3. PR/SM, LPAR e créditos de CPU — o cérebro por trás da mágica

O firmware PR/SM (Processor Resource/System Manager) foi profundamente atualizado nesta geração para oferecer:

  • Dynamic CPU Weight Management: ajuste automático da prioridade das LPARs.

  • Intelligent Capping: limita o consumo sem matar o desempenho.

  • Soft Capping por Workload: controle fino para billing e otimização.

  • Suporte ao zAAP/zIIP integrados — sem necessidade de hardware dedicado.

🎩 Easter egg técnico: no z/OS 2.1, as LPARs começaram a “conversar” melhor via HiperSockets IPv6, abrindo caminho para a nuvem privada z/OS Connect.


💬 4. Aplicativos internos e softwares — a revolução silenciosa

O z/OS 2.1 veio com uma leva de atualizações internas e ferramentas novas:

🔹 CICS TS 5.1

Suporte a aplicações RESTful, JSON e web services nativos, antecipando o que hoje chamamos de API Economy.

🔹 DB2 11 for z/OS

Melhoria brutal no storage engine e otimização de index rebuild.
Menos CPU, mais throughput.

🔹 JES2 e JES3

Ambos ganharam compressão de spool, melhor suporte a Unicode e integração com RACF e SAF aprimorada.
O JES2, inclusive, ficou mais “verbozão” — logs mais inteligentes para devs e ops.

🔹 UNIX System Services (USS)

Expansão total: mais comandos POSIX, shell modernizado e integração com ferramentas open source (hello, Perl e Python!).

🔹 Communications Server

Nativo IPv6, com QoS aprimorado e integração direta com o z/OSMF.


🧩 5. z/OSMF e o renascimento do operador

O z/OS Management Facility (z/OSMF) virou protagonista.
Pela primeira vez, o operador do mainframe podia administrar o sistema via interface web, com dashboards, workflows e diagnósticos integrados.

Isso mudou tudo:

  • A operação ficou mais visual e menos criptográfica (adeus, painéis 3270 infinitos).

  • Surgiram scripts e automações REST, abrindo portas para DevOps no mainframe.

  • O z/OS começou a dialogar com o mundo Linux e Cloud.

💬 Bellacosa insight: o z/OSMF foi o primeiro passo real para o que hoje chamamos de “Mainframe as Code”.


🔍 6. Instruções de máquina e otimizações no zEC12

O z/OS 2.1 foi ajustado para o novo processador zEC12, que introduziu:

  • Instruções novas como Transactional Execution (TX) — acelera commits em DB2.

  • Crypto Express4S — hardware de criptografia de ponta.

  • Simultaneous Multithreading (SMT) — mais threads, menos gargalo.

  • HiperDispatch refinado — balanceia threads automaticamente.

Tudo isso sob o comando de um PR/SM mais “inteligente”, que distribuía créditos de CPU conforme prioridade, workload e até custo horário da LPAR (sim, billing inteligente já era realidade).


🕹️ 7. Curiosidades, fofoquices e bastidores

  • 🧙‍♂️ Dentro da IBM, o z/OS 2.1 era apelidado de “O Feiticeiro do Silício”, por causa da automação mágica dos workloads.

  • 🧩 O time que desenvolveu o z/OSMF tinha ex-devs do OS/2!

  • 💬 Foi a primeira versão oficialmente “Cloud Ready”, base dos projetos iniciais do z/OS Connect EE.

  • 🕵️‍♂️ Algumas funções experimentais do z/OS 2.1 só foram “oficializadas” no 2.2, como a integração com zAware e zCX.


🚀 8. Conclusão — o mainframe, renascido

O z/OS 2.1 é o elo entre o legado e o futuro.
Ele consolidou a base técnica que permitiria o z/OS rodar workloads modernos, APIs REST, automações web e integração em nuvem — tudo sem quebrar um único programa COBOL dos anos 70.
Esse é o verdadeiro superpoder do mainframe: evoluir sem perder o passado.


Bellacosa Mainframe
☕ Onde bits têm alma e memória tem história.
💬 Deixe nos comentários: você chegou a migrar para o z/OS 2.1? Qual foi o impacto no seu ambiente?

sábado, 21 de setembro de 2013

🔥 “PASSOU EM HOMOLOGAÇÃO… QUEBROU EM PRODUÇÃO”: O Fantasma do S0C7 que Só Aparece Depois — Um Guia de Sobrevivência para QA, Sustentação e Padawans do Mainframe ☕💻

 

Bellacosa Mainframe ajudando a solucionar abends soc7

🔥 “PASSOU EM HOMOLOGAÇÃO… QUEBROU EM PRODUÇÃO”: O Fantasma do S0C7 que Só Aparece Depois — Um Guia de Sobrevivência para QA, Sustentação e Padawans do Mainframe ☕💻

Senhoras e senhores da trincheira do legado, cavaleiros do JCL, monges do dump IPCS e jovens padawans da qualidade…

Existe uma entidade que não respeita cronograma, SLA, ITIL nem cerimônia ágil.

Ela não aparece no DEV.
Não aparece no SIT.
Não aparece na UAT.

Mas às 02:37 da manhã de domingo, em batch crítico…

💥 S0C7 — DATA EXCEPTION

E o telefone toca.


☕ A História que Todo Time de Sustentação Já Viveu

Projeto entregue.
Testes aprovados.
Checklist verde.
Change implementado.

Primeira carga real de produção.

Tudo parece normal… até o job noturno cair.

No log:

IGZ0006S A data exception (System Completion Code=0C7)

O desenvolvedor jura:

“Mas isso passou em todos os testes!”

O analista de QA responde:

“Usamos os dados homologados aprovados pelo negócio.”

O suporte pensa:

“Ok… quem mexeu no layout do arquivo?”


🧠 Verdade Inconveniente nº 1

Homologação testa cenários.
Produção testa a realidade.

E a realidade tem:

✔ Dados sujos
✔ Interfaces antigas
✔ Sistemas externos fora de padrão
✔ Arquivos truncados
✔ Migrações parciais
✔ Conversões mal documentadas
✔ Operadores humanos cansados
✔ Programas de 1987 rodando “intactos”


🔎 O Vilão Invisível: Dados NÃO CONFIÁVEIS

Em ambientes corporativos reais, especialmente em sistemas core:

👉 O programa raramente quebra por lógica
👉 Ele quebra porque confiou em dados inválidos

E quando existe COMP-3 no meio

💣 Basta um nibble errado.


🧩 Onde QA e Homologação Mais Erram (Sem Saber)

Testes usam dados:

✔ Bonitos
✔ Consistentes
✔ Validados
✔ “De laboratório”

Produção usa dados:

💀 Históricos
💀 Herdados
💀 Convertidos
💀 Misturados
💀 Incompletos
💀 Digitados manualmente


📜 Um Easter Egg Histórico (Pouca Gente Sabe)

Nos anos 70 e 80, quando dados vinham de cartões perfurados e fitas:

👉 Erros físicos eram comuns
👉 Leituras incompletas aconteciam
👉 Bits podiam “virar”

Por isso, muitos sistemas antigos tinham:

  • Validações redundantes

  • Campos de controle

  • Checksums primitivos

  • Programas “sanitizadores”

Com a modernização…

Essas camadas desapareceram.

Mas os dados continuaram vivos.


🧨 Exemplo Real Clássico de Produção

Arquivo externo enviado por parceiro.

Layout:

05 VALOR-TOTAL PIC S9(9)V99 COMP-3.

Em homologação:

✔ Arquivo gerado por ferramenta
✔ Dados corretos

Em produção:

Um registro veio truncado por erro na transferência.

Hex esperado:

12 34 56 78 9C

Hex recebido:

12 34 56 78 9A

Nibble final inválido.

Resultado:

💥 S0C7 ao fazer COMPUTE


⚠️ Verdade Inconveniente nº 2

O erro não acontece na leitura.
Nem no MOVE.

👉 Ele explode quando o valor é usado.

Ou seja:

O problema pode estar centenas de linhas antes.


🛠️ Como Times de Sustentação Resolvem de Verdade

Não é só “corrigir o programa”.

É fazer engenharia reversa do desastre.

✔ Passo 1 — Identificar o registro exato

  • Dump

  • SYSOUT

  • SMF

  • Logs do step anterior


✔ Passo 2 — Analisar HEX (não DISPLAY)

Porque COMP-3 não é texto.

Ferramentas comuns:

  • IPCS

  • File-AID

  • Abend-AID

  • Debug Tool


✔ Passo 3 — Descobrir a origem

Perguntas chave:

  • Quem gerou o arquivo?

  • Houve compressão?

  • Transferência binária ou texto?

  • Mudou o layout?

  • Sistema fonte mudou linguagem?

  • Houve conversão ASCII/EBCDIC?


🧪 Guia de Ouro para QA de Mainframe

Se você trabalha com qualidade, homologação ou testes…

💎 Teste dados feios.

Crie cenários com:

  • Campos vazios

  • Bytes inválidos

  • Tamanhos errados

  • Registros truncados

  • Valores máximos

  • Valores negativos inesperados

  • Arquivos mistos

  • Dados históricos reais anonimizados

👉 Isso vale mais que mil casos “bonitinhos”.


🧙‍♂️ Técnicas de Defesa que Mestres do Mainframe Usam

🔹 Inicialização agressiva

MOVE ZERO TO WS-AMOUNT

🔹 Validação na entrada

Nunca confiar em interface externa.


🔹 Programas sanitizadores

Batch que valida e rejeita registros suspeitos antes do processamento principal.


🔹 Versionamento rigoroso de copybooks

Uma pequena divergência de layout pode causar caos.


🔹 Testes com dados de produção (mascarados)

Isso separa ambientes maduros dos amadores.


🤯 Curiosidade Técnica Pouco Comentada

S0C7 não é erro “de COBOL”.

É um hardware exception de decimal arithmetic tratado pelo runtime.

Ou seja:

👉 O processador detecta que os bits não formam um número decimal válido.

Mainframe não “tenta adivinhar”.
Ele simplesmente interrompe.

Precisão absoluta > tolerância.


🧩 Verdade Final para Padawans

Se você viu S0C7…

Não pense primeiro no código.

Pense:

“Qual dado traiu o programa?”


☕ Moral da História

Produção não é um ambiente maior.

É um ambiente mais caótico.

Programas COBOL antigos sobrevivem décadas porque:

👉 Foram escritos assumindo que o mundo é imperfeito.

Quando esquecemos disso…

O legado cobra.


💥 Regra de Ouro do Bellacosa Mainframe

“Sistema robusto não é o que funciona com dados corretos.
É o que sobrevive a dados errados.”

 

sexta-feira, 20 de setembro de 2013

🖥️🌍 Palavras de um velho jedi — O que é um Mainframe de Verdade?

 


🖥️🌍 Palavras de um velho jedi — O que é um Mainframe de Verdade?

“Mainframe não é grande porque é antigo.
É grande porque foi projetado para não falhar.”

Quando alguém pergunta “o que é um mainframe?”, a resposta curta é simples:

É o computador que segura o mundo quando tudo mais cai.

Mas o El Jefe não trabalha com resposta curta. Vamos abrir o capô.


🧠 O que é um mainframe, afinal?

Um mainframe é um computador corporativo de altíssimo desempenho, projetado para:

  • Processar volumes gigantescos de dados

  • Executar milhões de transações simultâneas

  • Atender milhares de usuários ao mesmo tempo

  • Operar 24x7x365, sem pausa, sem drama

Enquanto um PC é feito para um usuário,
e servidores comuns para dezenas ou centenas,
o mainframe nasce para escala industrial.


⚡ Concorrência real, não simulada

Mainframes não “aguentam” vários usuários.
Eles foram criados para isso.

  • Milhares de aplicações rodando juntas

  • Workloads batch e online convivendo em harmonia

  • Prioridades bem definidas

  • Recursos compartilhados com inteligência

Nada de briga por CPU.
Nada de gargalo inesperado.


💳 Onde o mainframe reina absoluto

Se existe:

  • Dinheiro

  • Pessoas

  • Regras

  • Risco

Existe um mainframe envolvido.

Ele é essencial para:
🏦 Bancos e sistemas financeiros
🏛️ Governo e serviços públicos
✈️🚆 Aviação, ferrovias e reservas
📑 Seguros e grandes corporações

Cada transação precisa ser:
✔️ correta
✔️ segura
✔️ auditável
✔️ recuperável


🔄 I/O pesado é o habitat natural

O verdadeiro desafio não é CPU.
É entrada e saída.

Mainframes são mestres em:

  • Processar milhões de leituras e gravações

  • Conversar com redes, terminais, discos e filas

  • Manter tudo fluindo sem travar

Enquanto outros sistemas engasgam com I/O,
o mainframe dança.


🔐 Segurança embutida no hardware

Aqui não existe:

“Vamos adicionar segurança depois.”

O mainframe nasce com:

  • Controle de acesso granular (RACF, etc.)

  • Isolamento total entre usuários

  • Criptografia acelerada por hardware

  • Auditoria completa

Por isso ele é confiável onde falhar não é opção.


⏱️ Disponibilidade contínua: zero drama

Mainframe não tem:

  • “Janela de manutenção”

  • “Reboot programado”

  • “Downtime aceitável”

Ele foi projetado para:

Continuar funcionando mesmo quando algo falha.

Se um componente cai, outro assume.
O usuário nem percebe.


🚀 Estabilidade, segurança e escalabilidade

Esses não são diferenciais.
São pré-requisitos.

Mainframe não compete por moda.
Ele entrega:

  • Estabilidade previsível

  • Segurança real

  • Escalabilidade comprovada


🥚 Easter-eggs do mundo real

  • Muitos sistemas “cloud-native” terminam no mainframe

  • Microserviços fazem a coreografia, o mainframe executa o dinheiro

  • Downtime sempre foi visto como bug, não como evento

  • Mainframe já fazia observabilidade antes do termo existir


🎓 Palavra final do El Jefe

Mainframe não é passado.
É infraestrutura crítica do presente.

Enquanto o mundo precisar:

  • De dinheiro correto

  • De sistemas confiáveis

  • De serviços sempre disponíveis

O mainframe continuará lá.
Firme.
Silencioso.
Indispensável.

segunda-feira, 2 de setembro de 2013

“86-13-37: Quando a casa ganhou voz”. Um conto do Pequeno Trabalhador, Parte 4

 


📞 El Jefe Midnight Lunch —  Um conto do Pequeno Trabalhador, Parte 4
“86-13-37: Quando a casa ganhou voz”
Por Bellacosa Mainframe

Estamos de volta ao Cecap no Quiririm em 1984.


O cheiro de tijolo novo, tinta fresca e esperança misturado a caótica mudança de Sampa a Taubaté. A família Bellacosa em modo multitarefa, estilo “z/OS em IPL pós-pânico”: todo mundo executando job, subtarefa, batch noturno, tarefa oculta… tudo ao mesmo tempo. Era reconstrução física, emocional e financeira — tudo junto, tudo misturado — depois do incêndio de 1983.

Foram meses puxados.
Arregaçamos as mangas, suamos, improvisamos, reciclamos e substituímos cacarecos velhos para devolver dignidade ao lar, meu pai com sua experiência em fazer funiliaria em seus automóveis velhos, usou massa plástica para reconstruir o gabinete da fiel TV CRT Preto e Branco Phico Ford. A geladeira parcialmente destruída, foi reformada tanto na lataria como no motor, e colocada em estado de novo, servindo nosso lar, por mais de uma década, sendo aposentada, quando eu ja trabalhava e comprei uma zero bala nas lojas Arapuam. Cada martelada era um checkpoint. Cada móvel novo (ou semi-novo) era uma vitória. E foi no meio desse caos organizado que surgiu a grande novidade.

Algo que, para muita gente hoje, não faz nem cócegas.
Mas pra nós… era a chegada do futuro.



O telefone. Nosso primeiro telefone. O lendário número 86-13-37.

Meus pais, sempre visionários, resolveram alugar um aparelho — porque na época telefone era quase um carro: caro, raro e valioso. A justificativa era prática: “pra divulgar trabalho, ligar pra clientes, fazer panfletagem…” — sim, panfletagem real, analógica, raiz, sem algoritmo, sem impulsionamento.

E adivinha quem ficou encarregado de distribuir spam manual, caixa postal por caixa postal, por todo o CECAP?

Sim, eu mesmo.
E o Celo, meu companheiro de aventuras.
Formávamos uma dupla dinâmica que hoje renderia um spin-off só nosso: dois moleques pedalando, colando panfletos, enfiando papel nos correios, correndo de cachorro, conversando com vizinhos… éramos quase um cluster de entrega distribuída, versão 1.0.

Mas nada — absolutamente nada — superava a sensação de ter um telefone em casa.

Parecia magia.
Era como se tivéssemos instalado um gateway para o mundo.



Com o 86-13-37, tudo mudou:

📞 falar com parentes distantes;
🏖 ligar para meus avôs Anna e Pedro na Praia Grande;
👋 ouvir histórias, novidades… e broncas;
🤣 ouvir as “historinhas” no 200-1234 (quem viveu, sabe!);
😂 aplicar e receber os primeiros trotes telefônicos — o proto-meme da década.

Era um universo novo.
Era CICS aberto, sessão iniciada, TSO READY.




E aí, abro um parênteses do século XXI, porque é impossível não comparar:

O telefone fixo virou fóssil.
Tenho um até hoje… não uso há séculos. Veio grudado no pacote da fibra ótica e ficou ali como quem guarda uma peça de museu — funcional, mas ignorado.

O celular então… virou mico.
Nos primórdios custava uma fortuna, cada impulso parecia preço de mainframe por MIPS. Depois virou SMS, depois WhatsApp, Telegram… e hoje quase ninguém usa pra ligar.
A ironia: as operadoras mataram o próprio produto com ganância e tarifas absurdas. Empurraram todos nós para alternativas mais baratas, eficientes e… livres.

O triste fim do telefone.
O outrora símbolo de status, comunicação e progresso… hoje é quase um ornamento.




Mas sem chatices, porque aqui é Midnight Lunch e nostalgia merece brilho:

Ainda lembro a emoção real, quase palpável, de ver aquele aparelho instalado na sala.
A liberdade que ele trouxe.
A sensação de que o mundo estava, literalmente, a um toque de distância.

O velho 86.13.37.
A primeira voz da casa renascida.

E um dia, prometo, conto a história da central móvel de telefonia, dos filamentos de cobre coloridos, das pulseirinhas estilosas feitas com restos de cabo multicolorido… um verdadeiro ASSEMBLER de memórias.

Porque cada fio daqueles carregava uma história.
E muitas delas ainda estão aqui, vivas, prontas pra ganhar outro capítulo.

Até a próxima chamada. 📞💾✨