Translate

Mostrar mensagens com a etiqueta sla. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta sla. Mostrar todas as mensagens

segunda-feira, 26 de janeiro de 2026

💥 🧠 VISÃO GERAL — O TRIÂNGULO DA PERFORMANCE

 

Bellacosa Mainframe analise o triangulo da performance no Mainframe

💥 🧠 VISÃO GERAL — O TRIÂNGULO DA PERFORMANCE

👉 Em 90% dos problemas reais:

  • COBOL → lógica
  • VSAM → I/O
  • DB2 → acesso a dados

🔥 1. TUNING COBOL — CPU (o assassino silencioso)

🎯 Problema típico

  • CPU alto
  • EXEC alto no sampling

🧨 Anti-patterns clássicos

❌ Loop ineficiente

PERFORM UNTIL WS-END = 'Y'
READ FILE
END-PERFORM

❌ Reprocessamento desnecessário

  • Mesmo cálculo várias vezes
  • Falta de cache em memória

✅ Boas práticas

✔ Reduzir chamadas repetidas

IF WS-CALCULATED = 'N'
PERFORM CALC
END-IF

✔ Usar tabelas em memória (lookup)

  • Evita I/O repetido

✔ Minimizar chamadas externas

  • DB2
  • VSAM
  • APIs

💣 Insight

COBOL lento raramente é COBOL…
geralmente é acesso a dados mal feito


🐢 2. TUNING VSAM — I/O (o vilão invisível)

🎯 Problema típico

  • WAIT alto
  • I/O dominante no sampling

🧨 Problemas clássicos

❌ Acesso aleatório excessivo

  • KSDS sem chave eficiente

❌ CI/CA splits

  • Dataset mal definido

❌ Buffer insuficiente

  • Muitas operações físicas

✅ Boas práticas

✔ Aumentar buffers

  • BUFNI / BUFND

✔ Acesso sequencial sempre que possível

  • Evitar random

✔ Ajustar definição do dataset

  • CI size
  • CA size

✔ Usar READ NEXT quando possível

READ FILE NEXT RECORD

💥 Insight

VSAM mal configurado transforma CPU em WAIT


🗄️ 3. TUNING DB2 — O campeão de problemas

🎯 Problema típico

  • WAIT alto
  • CPU alto distribuído
  • SQL dominante

🧨 Problemas clássicos

❌ Full table scan

  • Falta de índice

❌ SQL executado milhares de vezes

PERFORM 10000 TIMES
EXEC SQL SELECT ...
END-EXEC

❌ Falta de filtro adequado

  • WHERE mal definido

✅ Boas práticas

✔ Criar índices corretos

  • Baseado no WHERE

✔ Reduzir chamadas SQL

  • Buscar em bloco
  • Usar cursor

✔ Evitar SELECT dentro de loop

👉 mover lógica para fora


✔ Usar EXPLAIN

  • Ver access path

💣 Insight

1 SQL ruim pode destruir toda a performance


🔗 4. INTEGRAÇÃO (onde mora o problema real)

💥 Cenário clássico

COBOL → chama DB2 → DB2 faz I/O → VSAM/disco

🧠 Diagnóstico via sampling

SintomaCausa
CPU altoCOBOL
WAIT altoVSAM
CPU + WAITDB2

🔥 5. CASO REAL COMPLETO

🎯 Sintoma

  • Job lento
  • 2 horas de execução

📊 Sampling mostra

DB2 → 50%
VSAM → 30%
COBOL → 20%

🧠 Diagnóstico

👉 Problema NÃO é COBOL
👉 É acesso a dados


🔧 Ações

  • Criar índice DB2
  • Reduzir chamadas SQL
  • Ajustar VSAM

🚀 Resultado

  • Tempo: 2h → 20min
    💥 ganho de 6x

⚡ 6. CHECKLIST RÁPIDO (produção)

1. CPU ou WAIT?
2. Identificar hotspot
3. COBOL → otimizar lógica
4. VSAM → otimizar I/O
5. DB2 → otimizar SQL
6. Validar com nova coleta

💣 ERROS QUE MAIS VEJO EM PRODUÇÃO

❌ Ajustar COBOL sem olhar DB2
❌ Culpar DB2 sem olhar VSAM
❌ Ignorar I/O
❌ Não usar sampling


🧠 MODELO MENTAL FINAL

COBOL = processamento
VSAM = acesso físico
DB2 = acesso lógico

💥 FRASE FINAL (nível arquiteto)

“O gargalo não está no código…
está na forma como o código acessa os dados.”

 

domingo, 25 de janeiro de 2026

💥 🔬 PERFORMANCE RELATÓRIO — VISÃO GERAL

 

Bellacosa Mainframe apresenta um estudo de caso para performance em Mainframe

💥 🔬 PERFORMANCE RELATÓRIO — VISÃO GERAL

PROGRAM MEASURED - PROG001
JOB NAME - JOB001
STEP NAME - P010.S010

🧠 O que isso já diz?

👉 Você está analisando:

  • Programa: PROG001
  • Job: JOB001
  • Step específico

💡 Ótimo sinal → análise já está refinada (não é genérica)


⚙️ 🔍 BLOCO 1 — Measurement Parameters

ESTIMATED SESSION TIME - 30 MIN
TARGET SAMPLE SIZE - 30,000

🧠 Interpretação

👉 Configuração padrão profissional:

  • 30 min
  • 1000 samples/min

✔ Excelente equilíbrio entre precisão e overhead


💣 Insight

Se isso estivesse errado → TODO o relatório seria suspeito


📊 🔥 BLOCO 2 — Measurement Statistics

EXEC TIME PERCENT - 90.84
WAIT TIME PERCENT - 9.16

🧠 Diagnóstico IMEDIATO

👉 Sistema está:

  • 90% executando (CPU)
  • 9% esperando

💥 Conclusão direta

✔ CPU-bound
❌ NÃO é problema de I/O
❌ NÃO é lock
❌ NÃO é DB2 wait


🎯 Ação

👉 Investigar:

  • Código COBOL
  • Algoritmo
  • Loop
  • Cálculo repetitivo

⚖️ 🔬 BLOCO 3 — Margem de erro

RUN MARGIN OF ERROR - 0.65
CPU MARGIN OF ERROR - 0.68
WAIT MARGIN OF ERROR - 2.16

🧠 Interpretação

👉 Estatisticamente confiável

ValorQualidade
< 1%excelente
< 5%confiável

💣 Insight

Você pode confiar nesse diagnóstico sem medo


🔢 📈 BLOCO 4 — Samples

TOTAL SAMPLES TAKEN - 37,549
TOTAL SAMPLES PROCESSED - 22,548

🧠 Interpretação

👉 Nem todos os samples foram úteis

Possíveis motivos:

  • CPU idle
  • Outro address space
  • Thread não relevante

💡 Insight

Isso é NORMAL — e esperado


⏱️ 📉 BLOCO 5 — Sampling Rate

INITIAL SAMPLING RATE - 8.33/sec
FINAL SAMPLING RATE - 4.17/sec

🧠 Interpretação

👉 Taxa caiu ao longo do tempo

Possíveis causas:

  • Mudança de carga
  • Menos CPU ativa
  • Contenção

💥 Insight

Sampling não é constante — ele reflete o ambiente real


🧾 🔍 BLOCO 6 — Ambiente

ADDRESS SPACE ID - 0061
DATE/TIME - execução real
CONDITION CODE - C-0000

🧠 Interpretação

✔ Job terminou OK
✔ Sem abend
✔ Ambiente válido


🔥 🔬 DIAGNÓSTICO FINAL

📊 Resumo técnico

CPU → 90%
WAIT → 10%
Erro → baixo
Samples → suficientes

🎯 Conclusão

💥 O problema está NO CÓDIGO, não no ambiente


💣 Possíveis causas reais

👉 Aqui começa o trabalho do especialista:

🔥 1. Loop ineficiente

PERFORM UNTIL ...

🔥 2. Leitura repetitiva

  • VSAM read desnecessário
  • DB2 repetido

🔥 3. Cálculo pesado

  • Reprocessamento
  • Falta de cache

🔥 4. Algoritmo ruim

  • Complexidade alta
  • Ordenação ineficiente

🚀 Próximo passo (o que você faria em produção)

  1. Abrir relatório detalhado (modules)
  2. Identificar:
    • módulo
    • offset
  3. Mapear para código COBOL
  4. Ajustar lógica

🧠 Modelo mental definitivo

EXEC alto → código
WAIT alto → recurso externo

💥 Frase final (nível especialista)

“O relatório já te deu a resposta.
Agora é você que precisa ir até o código.”

 

terça-feira, 23 de janeiro de 2024

Resiliência IBM Z – Conceitos Fundamentais: Por que os Mainframes Quase Nunca Param? Parte I

 

Bellacosa Mainframe ibm z resiliencia parte i

☕ Um Café no Bellacosa Mainframe

O Holocron da Resiliência IBM Z

Parte I – Conceitos Fundamentais: Por que os Mainframes Quase Nunca Param?

Quando um jovem Padawan COBOL entra pela primeira vez em uma empresa que utiliza IBM Z, normalmente ele acredita que seu trabalho consiste em escrever programas COBOL, executar alguns Jobs, consultar arquivos VSAM e, eventualmente, criar uma transação CICS.

Não demora muito para ouvir frases como:

"Precisamos garantir o SLA."

"O RTO deste sistema é de cinco minutos."

"Não podemos ter nenhum Single Point of Failure."

"Essa aplicação precisa ser resiliente."

Nesse momento, o Padawan percebe que entrou em um universo completamente diferente daquele ensinado na maioria dos cursos de programação.

No IBM Z, escrever software é apenas uma parte da engenharia. A outra metade consiste em garantir que esse software continue funcionando quando tudo ao redor começa a falhar.

Bem-vindo ao mundo da Resiliência.

Os conceitos apresentados nesta primeira parte são a base para compreender por que os maiores bancos, seguradoras, bolsas de valores, companhias aéreas e governos do mundo continuam confiando no IBM Z para executar suas aplicações mais críticas. Os termos discutidos a seguir fazem parte do glossário de Resiliency do IBM Z e representam os pilares conceituais dessa arquitetura.


O que significa Resiliency?

Imagine um hospital.

Ninguém espera que um hospital nunca enfrente problemas.

Equipamentos quebram.

Transformadores queimam.

Geradores precisam de manutenção.

Redes elétricas falham.

Mesmo assim...

A cirurgia não pode parar.

No mundo dos computadores acontece exatamente a mesma coisa.

Resiliência significa continuar prestando serviço mesmo quando partes da infraestrutura apresentam defeitos.

Esse é um conceito muito diferente de simplesmente "não quebrar".

Todo equipamento quebra.

Todo software possui defeitos.

Todo disco possui vida útil.

Toda memória pode apresentar falhas.

A diferença é que o IBM Z foi projetado assumindo que essas falhas acontecerão.

A arquitetura inteira trabalha para impedir que o usuário perceba qualquer interrupção.

Essa filosofia explica por que milhares de transações bancárias continuam acontecendo enquanto técnicos substituem processadores, discos ou placas de comunicação.

Para um programador COBOL, compreender Resiliency muda completamente a forma de pensar. O objetivo deixa de ser apenas fazer o programa "funcionar"; passa a ser escrever aplicações que convivam com uma infraestrutura preparada para falhas.


RAS – Reliability, Availability and Serviceability

Existe um conceito extremamente famoso dentro da IBM:

RAS.

São apenas três palavras.

Mas representam décadas de engenharia.

Reliability

Confiabilidade.

O equipamento precisa falhar pouco.

Isso envolve:

  • qualidade dos componentes;

  • redundância;

  • testes de fábrica;

  • validações contínuas.

Quanto maior a confiabilidade, menor a probabilidade de interrupções inesperadas.


Availability

Disponibilidade.

Mesmo quando alguma coisa quebra...

O serviço continua.

É exatamente aqui que entram conceitos como:

  • Parallel Sysplex;

  • GDPS;

  • Load Balancing;

  • WLM.

Disponibilidade não significa ausência de falhas.

Significa continuidade do negócio.


Serviceability

Facilidade de manutenção.

Imagine trocar um disco sem desligar o computador.

Ou substituir memória durante a operação.

Ou atualizar firmware sem interromper milhares de usuários.

Isso é Serviceability.

Quanto mais simples a manutenção...

Menor o tempo de indisponibilidade.


High Availability (HA)

Muitos iniciantes acreditam que Alta Disponibilidade significa "100% online".

Não é verdade.

Alta Disponibilidade significa reduzir o impacto das interrupções até um nível aceitável para o negócio.

Imagine dois caixas eletrônicos.

Se um apresentar defeito...

O cliente utiliza o outro.

Agora imagine dois servidores CICS.

Se um falhar...

O outro assume automaticamente.

Essa é a essência da HA.

A infraestrutura foi desenhada para absorver falhas sem interromper o serviço.


Disaster Recovery (DR)

Enquanto a Alta Disponibilidade lida com falhas locais, o Disaster Recovery pensa em eventos extremos.

Perguntas típicas são:

  • E se o prédio pegar fogo?

  • E se faltar energia por várias horas?

  • E se houver uma enchente?

  • E se todo o datacenter ficar inacessível?

Nesse cenário entra o Plano de Recuperação de Desastres.

O objetivo não é impedir o desastre.

É garantir que o negócio sobreviva a ele.

No IBM Z, tecnologias como GDPS, replicação de dados e sites espelhados fazem parte dessa estratégia.


SLA – Service Level Agreement

Todo sistema existe para atender um negócio.

E o negócio estabelece compromissos.

Exemplo:

"O Internet Banking deve permanecer disponível 99,99% do tempo."

Isso é um SLA.

Curiosamente, poucas pessoas percebem o impacto desses números.

Veja:

  • 99% parece excelente.

  • 99,9% é muito melhor.

  • 99,99% é extraordinário.

  • 99,999% representa apenas alguns minutos de indisponibilidade por ano.

Cada "9" adicional exige muito mais investimento em hardware, software, processos e pessoas.


RPO – Recovery Point Objective

Imagine que um banco sofra uma pane às 15h.

Qual o último dado aceitável?

15h00?

14h59?

14h30?

Ontem?

Essa resposta define o RPO.

Quanto menor o RPO...

Menor a perda de informações.

Em sistemas financeiros modernos, o objetivo costuma ser próximo de zero.

Nenhuma transação pode desaparecer.


RTO – Recovery Time Objective

Agora faça outra pergunta.

Quanto tempo o sistema pode permanecer parado?

Cinco minutos?

Uma hora?

Quatro horas?

Isso é o RTO.

Observe a diferença.

O RPO mede perda de dados.

O RTO mede tempo de recuperação.

São conceitos diferentes.

E ambos determinam toda a arquitetura de um ambiente corporativo.


Single Point of Failure (SPoF)

Este talvez seja o termo mais importante para qualquer arquiteto.

Imagine um único switch de rede.

Se ele quebrar...

Toda a empresa para.

Esse switch é um SPoF.

Agora pense em um único banco de dados.

Ou uma única fonte de alimentação.

Ou um único servidor DNS.

Todos são candidatos a pontos únicos de falha.

A missão dos arquitetos IBM Z é eliminar todos eles.

Por isso existem componentes redundantes, caminhos alternativos e múltiplos mecanismos de recuperação.


Component Failure Impact Analysis (CFIA)

O nome parece complicado.

Mas a ideia é simples.

Pergunte para cada componente:

"O que acontece se você morrer agora?"

Depois repita para:

  • discos;

  • processadores;

  • memória;

  • switches;

  • links;

  • storages;

  • sistemas operacionais.

Se alguma resposta for:

"Tudo para."

Você encontrou um problema.

O CFIA é justamente o exercício sistemático de identificar esses riscos antes que eles ocorram.


ITIL – Muito Além da Tecnologia

Muitos desenvolvedores imaginam que disponibilidade depende apenas do hardware.

Na prática, processos mal definidos também derrubam sistemas.

É aqui que entra a ITIL.

Ela organiza boas práticas para:

  • mudanças;

  • incidentes;

  • problemas;

  • configuração;

  • continuidade;

  • disponibilidade.

Quando uma grande instituição financeira realiza uma atualização em produção, normalmente existe todo um processo inspirado nessas práticas para reduzir riscos.


A Mentalidade IBM Z

Existe uma frase bastante conhecida entre profissionais experientes de Mainframe:

"No IBM Z, falhas são esperadas. O que não é aceitável é que elas interrompam o negócio."

Essa mentalidade muda completamente a forma de desenvolver software.

O programador COBOL deixa de enxergar apenas linhas de código e passa a compreender que sua aplicação faz parte de um ecossistema muito maior, onde hardware, sistema operacional, middleware, armazenamento e processos trabalham em conjunto para garantir continuidade.

Cada programa Batch, cada transação CICS e cada acesso ao Db2 participa de uma cadeia cuidadosamente projetada para manter milhões de pessoas utilizando serviços bancários, comprando passagens aéreas, movimentando bolsas de valores ou recebendo benefícios sociais sem sequer imaginar a complexidade escondida por trás de uma simples tela.

Esse é o verdadeiro espírito do IBM Z.

Não construir computadores que nunca falham.

Mas construir sistemas que continuam funcionando mesmo quando inevitavelmente algo dá errado.

No próximo capítulo, deixaremos os conceitos e entraremos na infraestrutura física do IBM Z, explorando componentes como CPC, Processing Units, HMC, Support Element, License Internal Code e outros elementos que fazem do mainframe uma das plataformas mais resilientes já criadas.


terça-feira, 28 de julho de 2020

☕🔥 Suporte à Produção Mainframe — engenharia operacional em estado bruto

 

Bellacosa Mainframe apresenta Suporte a Produção

☕🔥 Suporte à Produção Mainframe — engenharia operacional em estado bruto

Se você já deu CANCEL com o coração na mão, já leu dump em hexadecimal, já decorou mensagem $HASP melhor que CPF, então este texto não é para iniciantes.
Aqui falamos de Produção de verdade. Sem romantização. Sem power-point bonito.


🧠 Suporte à Produção Mainframe ≠ Operação

É engenharia operacional sob carga real.

Produção não é:

  • Rodar job

  • Reiniciar STC

  • Abrir chamado

Produção é:

  • Análise de impacto

  • Decisão em ambiente crítico

  • Entendimento sistêmico do z/OS

  • Correlação entre eventos aparentemente desconexos

Produção é onde o design encontra a realidade — e geralmente perde.


🕰️ Raiz Histórica (para quem veio do MVS, não do YouTube)

O Suporte à Produção nasce quando:

  • O batch deixou de ser “linear”

  • O online passou a ser 24x7

  • O negócio começou a depender de janela de processamento

  • O erro deixou de ser aceitável

A evolução foi clara:

  • Operador de console

  • Analista de Produção

  • Especialista em estabilidade operacional

Hoje, Produção é a última linha de defesa entre o z/OS e o prejuízo financeiro.


🎯 Objetivo Real do Suporte à Produção (versão sem marketing)

  • Garantir throughput, não apenas execução

  • Controlar contenção, não apenas erro

  • Preservar integridade transacional

  • Manter SLA, RTO e RPO

  • Atuar antes do incidente virar crise

Veterano sabe:

Produção não corrige código — corrige efeito colateral.


🧩 Arquitetura de Conhecimento (o que separa júnior de veterano)

🖥️ z/OS — domínio do núcleo

  • JES2/JES3, initiators, classes, priorities

  • Spool contention

  • ENQ/DEQ, RESERVE, latch

  • WTOR, automation hooks

  • Dumps SVC vs SYSMDUMP

🔥 Apimentado:
Quem não entende JES não entende produção.


🧠 CICS — transação é sagrada

  • Task Control

  • Storage violation

  • Transaction isolation

  • Deadlock silencioso

  • Dumps DSNAP / CEEDUMP

El Jefe truth:

CICS não cai — ele sangra em silêncio.


📬 MQ — quando o assíncrono vira gargalo

  • Depth x High/Low Threshold

  • Channels retrying

  • Poison message

  • Commit vs rollback

  • Impacto no batch e no online

🔥 Easter egg:
Fila cheia é sintoma, não causa.


🔌 Integration Bus (Broker)

  • Flow degradation

  • Message backlog

  • XML/JSON parsing cost

  • CPU vs I/O trade-off

  • Propagação de erro invisível

Fofoquice técnica:
Quando o Broker falha, todo mundo aponta para o mainframe.


🧪 REXX — automação tática

  • Monitoramento ativo

  • Ações condicionais

  • Coleta de evidência

  • Resposta automática a eventos

  • Integração com SDSF, consoles e logs

🔥 Produção sem REXX é operação cega.


🗄️ DB2 Utilities — o campo minado

  • REORG mal planejado

  • RUNSTATS atrasado

  • Lock escalation

  • Deadlock intermitente

  • Log pressure

Frase clássica:

“Não mexe agora… deixa rodar.”


🌐 WebSphere / Acesso Remoto

  • JVM pressure

  • Thread starvation

  • Timeout mascarado

  • Latência invisível

  • Cascata de falhas

🔥 Curiosidade:
O Web cai rápido. O mainframe aguenta a culpa.


🔍 Funcionamento Real em Produção (sem filtro)

  1. Sintoma aparece longe da causa

  2. Métrica parece normal

  3. SLA corre

  4. Dump gerado

  5. Análise cruzada (JES + CICS + DB2 + MQ)

  6. Decisão com risco calculado

  7. Execução mínima, impacto máximo

  8. Ambiente estabiliza

  9. Post-mortem técnico

  10. Documentação (que ninguém lê… até precisar)


🧠 Mentalidade do Veterano

✔️ Não confia em “achismo”
✔️ Não executa comando sem rollback mental
✔️ Pensa em efeito dominó
✔️ Prefere degradar a parar
✔️ Sabe quando não agir

☕🔥 Regra de ouro:

Em Produção, o comando mais perigoso é o que “sempre funcionou”.


🥚 Easter Eggs de Produção

  • Todo ambiente tem um job que “ninguém encosta”

  • Sempre existe um dataset com DISP=SHR que não deveria

  • Todo incidente grave começa com:

    “Isso nunca aconteceu antes…”

  • O melhor analista é o que não aparece no incidente report


🧨 Conclusão — El Jefe Midnight Lunch Manifesto

Suporte à Produção Mainframe é:

  • Arquitetura viva

  • Engenharia sob estresse

  • Decisão sem margem de erro

  • Responsabilidade sem aplauso

Não é glamour.
Não é palco.
É confiança operacional.

☕🔥 Se você já sobreviveu a uma madrugada de produção,
você sabe:

Produção não ensina — ela seleciona.

 

sexta-feira, 15 de maio de 2020

CICS Workload Management (WLM) — A Sociedade do Anel e o Guardião Invisível que Decide o Destino das Transações

 

Bellacosa Mainframe apresenta o cics workload management wlm

☕ Um Café no Bellacosa Mainframe

CICS Workload Management (WLM) — A Sociedade do Anel e o Guardião Invisível que Decide o Destino das Transações

"Um bom rei não governa apenas pela força. Ele sabe onde cada recurso deve ser empregado para que todo o reino prospere."

No universo de O Senhor dos Anéis, poucos personagens percebiam que a guerra contra Sauron não seria vencida apenas por espadas, magia ou coragem. O verdadeiro desafio era administrar recursos extremamente limitados.

Havia poucos exércitos.
Poucos cavalos.
Pouca comida.
Pouco tempo.

Cada decisão precisava colocar os recursos certos no lugar certo.

No mundo do IBM Mainframe, acontece exatamente a mesma coisa.

Milhares de programas executam simultaneamente.

Todos querem CPU.

Todos querem memória.

Todos querem acesso ao disco.

Todos querem prioridade.

Se cada aplicação decidisse sozinha quando executar, o resultado seria um verdadeiro caos, semelhante aos exércitos de Mordor atravessando os portões de Minas Tirith ao mesmo tempo.

É exatamente para impedir esse caos que existe um dos componentes mais inteligentes já criados pela IBM:

Workload Manager (WLM)

Talvez seja um dos softwares mais brilhantes do z/OS e, curiosamente, um dos menos conhecidos pelos programadores COBOL iniciantes.

Hoje faremos uma longa viagem pela Terra Média do Mainframe para entender por que o WLM é considerado o grande estrategista invisível do sistema operacional.

Pegue seu café.

A viagem começa agora.


Capítulo I — O Reino onde Todos Querem a Mesma CPU

Imagine um enorme banco brasileiro.

São exatamente 9 horas da manhã.

Milhões de clientes começam a acessar:

  • Internet Banking

  • Aplicativo Mobile

  • PIX

  • TED

  • Cartões

  • Caixa eletrônico

  • Agências

  • Open Finance

  • APIs

  • Débito automático

Ao mesmo tempo...

o departamento financeiro inicia:

  • fechamento contábil

A auditoria executa:

  • consultas gigantes

O RH imprime:

  • folhas de pagamento

O marketing gera:

  • relatórios

A segurança inicia:

  • varreduras

Os DBAs:

  • RUNSTATS

  • REORG

  • BACKUP

Enquanto isso...

milhares de programas COBOL continuam executando normalmente dentro do CICS.

Todos querem exatamente os mesmos recursos.

Como decidir quem recebe CPU primeiro?


A primeira ideia (que não funciona)

Seria muito simples dizer:

Quem chegou primeiro executa primeiro.

Parece justo.

Mas imagine o seguinte.

Um relatório interno começou um segundo antes de um cliente tentar sacar dinheiro.

O relatório consome CPU durante vários segundos.

O saque precisa esperar.

Resultado?

O cliente pensa que o caixa eletrônico travou.

Na prática, o problema nunca foi falta de CPU.

Foi falta de inteligência para decidir quem deveria utilizá-la primeiro.

Foi exatamente esse problema que deu origem ao WLM.


Capítulo II — O Conselho de Elrond

Na Sociedade do Anel, nenhuma decisão importante era tomada por apenas uma pessoa.

Existia um conselho.

No z/OS também existe um conselho.

Esse conselho chama-se:

Workload Manager.

Toda vez que milhares de tarefas competem pelos recursos do sistema, o WLM analisa a situação antes de distribuir o poder computacional disponível.

Ele não pergunta:

Quem pediu primeiro?

Ele pergunta:

Quem é mais importante para o negócio?

Essa pequena mudança de pensamento revolucionou completamente o gerenciamento de desempenho dos mainframes modernos.


O que realmente é o WLM?

Muitos iniciantes acreditam que o WLM distribui CPU.

Isso é apenas uma pequena parte.

Na realidade, o WLM administra praticamente toda a estratégia operacional do z/OS.

Ele acompanha continuamente:

  • utilização da CPU

  • memória

  • filas

  • tempo de resposta

  • tempo de espera

  • I/O

  • paging

  • dispatching

  • prioridades

  • utilização das regiões

  • cumprimento dos SLAs

Enquanto tudo isso acontece...

ele recalcula prioridades diversas vezes por segundo.

É quase como um grande computador de xadrez jogando milhares de partidas simultaneamente.


Capítulo III — Gandalf nunca envia todos para a mesma batalha

Imagine Gandalf recebendo notícias da guerra.

Ele possui apenas:

  • 100 cavaleiros

Mas existem cinco batalhas acontecendo ao mesmo tempo.

Como distribuir?

Ele poderia dizer:

"Cada batalha recebe vinte soldados."

Parece justo.

Mas seria uma decisão terrível.

Se Minas Tirith cair...

não importa que outra batalha tenha vencido.

O reino acabou.

Então Gandalf faz algo diferente.

Ele identifica qual batalha é crítica.

Depois envia a maior parte dos recursos para ela.

É exatamente isso que o WLM faz.


O conceito mais importante: prioridades de negócio

Esse talvez seja o maior choque para quem vem de outras plataformas.

No Windows ou Linux normalmente pensamos:

"Este processo possui prioridade alta."

No z/OS não.

O pensamento é completamente diferente.

O WLM pensa assim:

"Qual atividade gera mais valor para o negócio neste momento?"

Essa diferença muda tudo.


O fluxo completo do WLM

Podemos representar seu funcionamento da seguinte maneira:

Cliente

↓

Transação CICS

↓

Região CICS

↓

z/OS

↓

Workload Manager

↓

CPU

Memória

Disco

I/O

↓

Tempo de Resposta

Observe que o WLM não executa a aplicação.

Quem executa continua sendo:

  • CICS

  • Batch

  • Db2

  • IMS

O WLM apenas administra os recursos.

É como um maestro.

Ele nunca toca violino.

Mas sem ele a orquestra vira barulho.


Capítulo IV — As Classes da Sociedade

Uma das partes mais importantes do WLM chama-se:

Service Class

Imagine a Sociedade do Anel.

Cada membro possui uma função.

Frodo

Missão crítica.

Sam

Suporte essencial.

Aragorn

Alta prioridade.

Legolas

Ataque rápido.

Gimli

Combate pesado.

Merry e Pippin

Importantes, mas podem esperar alguns segundos em determinadas situações.

No WLM acontece exatamente isso.

Cada tipo de trabalho pertence a uma classe.

Exemplo:

PIX

Meta

200 ms

Importance 1


Saque ATM

Meta

300 ms

Importance 1


Consulta de saldo

Meta

800 ms

Importance 2


Extrato

Meta

2 segundos

Importance 3


Relatórios internos

Meta

30 segundos

Importance 5

Perceba uma curiosidade.

O WLM não pergunta:

"Quem possui prioridade máxima?"

Ele pergunta:

"Quem precisa cumprir determinada meta?"

Essa filosofia recebe o nome de:

Goal-Oriented Management


Curiosidade Bellacosa

O WLM foi um dos primeiros grandes exemplos de computação orientada a objetivos (goal-oriented computing), décadas antes de termos AIOps e sistemas inteligentes modernos.

Em vez de obedecer regras fixas, ele procura continuamente cumprir metas de negócio. É uma ideia que hoje aparece em plataformas de nuvem, orquestradores de containers e sistemas autônomos, mas que já fazia parte do z/OS há muitos anos.


Capítulo V — O Palantír do z/OS

Como o WLM sabe que alguém está sofrendo?

Ele observa tudo.

Literalmente tudo.

Entre centenas de indicadores, ele monitora:

  • utilização da CPU

  • filas

  • espera por I/O

  • uso da memória

  • paging

  • tempo médio

  • throughput

  • response time

  • velocity

  • dispatch delay

  • enfileiramentos

É como se o WLM tivesse um Palantír observando continuamente todo o reino.

Enquanto ninguém percebe...

ele está recalculando prioridades.


Importance

Além da meta existe outro conceito extremamente importante.

Importance.

Ela representa o peso daquele serviço.

Imagine duas aplicações.

As duas estão atrasadas.

As duas precisam de CPU.

Quem recebe primeiro?

Aquela cuja Importance é maior.

Normalmente encontramos níveis como:

Importance 1

Missão crítica.

Importance 2

Muito importante.

Importance 3

Importante.

Importance 4

Baixa prioridade.

Importance 5

Background.


O banco durante uma Black Friday

Vamos imaginar um cenário real.

CPU:

99%.

Milhões de acessos.

Ao mesmo tempo chegam:

  • PIX

  • consultas

  • investimentos

  • relatórios

  • backups

  • batch

  • monitoramento

Sem WLM...

todos brigam igualmente.

Resultado:

  • lentidão geral

  • clientes irritados

  • SLA perdido

  • prejuízo

Com WLM...

o sistema toma decisões inteligentes.

PIX continua rápido.

Saques continuam rápidos.

Cartões continuam rápidos.

Relatórios esperam.

Backups aguardam.

O cliente sequer percebe que a CPU está completamente ocupada.

Essa é uma das maiores virtudes do WLM: ele não faz milagres, mas faz escolhas inteligentes.


Capítulo VI — O mapa da Terra Média do CICS

Um ambiente CICS corporativo dificilmente possui apenas uma região.

É comum encontrarmos arquiteturas como:

Usuários

↓

TOR

↓

AOR1

↓

AOR2

↓

AOR3

↓

FOR

↓

Db2

Cada região possui suas características.

Algumas executam aplicações.

Outras fazem comunicação.

Outras gerenciam arquivos.

O WLM auxilia a manter esse ambiente equilibrado, trabalhando em conjunto com recursos do CICS e do z/OS para que nenhuma região se torne um gargalo permanente.


CICSPlex SM não é WLM

Este é um erro clássico em entrevistas.

Muitos candidatos confundem os dois produtos.

Na prática:

CICSPlex SM

Gerencia o ambiente CICS.

  • regiões

  • roteamento

  • administração

  • monitoramento

  • gerenciamento operacional

WLM

Gerencia os recursos do z/OS.

  • CPU

  • prioridades

  • objetivos

  • service classes

  • dispatching

Eles trabalham juntos.

Jamais competem.


O papel do Sysprog

O programador COBOL normalmente não altera políticas de WLM.

Quem faz isso costuma ser o System Programmer (Sysprog) ou o especialista em desempenho.

Ele define:

  • Service Policies

  • Service Classes

  • Goals

  • Importance

  • Workloads

  • Activation Policies

Depois ativa a política.

A partir desse momento o próprio z/OS ajusta continuamente a distribuição de recursos.


O WLM não cria CPU

Existe uma frase muito conhecida entre especialistas em performance:

"Nenhum software produz processadores do nada."

Se o ambiente possui vinte CPUs físicas e a demanda exige quarenta, o WLM não fará mágica.

Ele fará algo muito mais útil.

Garantirá que as aplicações essenciais sobrevivam primeiro.


RMF — O Cronista de Gondor

Depois de definir políticas, surge a pergunta:

Funcionou?

Quem responde é o RMF (Resource Measurement Facility).

Ele registra indicadores como:

  • utilização da CPU

  • Response Time

  • Velocity

  • Goal Achievement

  • Delays

  • Waits

É o RMF que mostra se as metas estabelecidas pelo WLM estão realmente sendo alcançadas.


SMF — O Livro Vermelho do Reino

Enquanto o RMF mede o desempenho, o SMF (System Management Facility) registra a história do sistema.

Cada evento importante deixa rastros.

Esses registros são usados para:

  • Capacity Planning

  • Engenharia de Performance

  • Auditorias

  • Estudos de tendência

  • Ajustes de WLM

  • Investigação de incidentes

  • Cumprimento de SLAs

Por isso, profissionais de performance frequentemente analisam registros SMF antes de propor qualquer alteração nas políticas de WLM.


Passo a passo: como um especialista ajusta o WLM

Embora o processo varie entre empresas, um fluxo típico é:

  1. Coletar dados com RMF e SMF para entender o comportamento real do ambiente.

  2. Identificar gargalos, verificando quais Service Classes não estão atingindo seus objetivos.

  3. Classificar os workloads de acordo com a importância para o negócio.

  4. Definir ou revisar Goals e Importance, alinhando-os aos SLAs.

  5. Criar ou atualizar a Service Policy utilizando os painéis ISPF ou ferramentas como o z/OSMF.

  6. Ativar a política em um momento controlado.

  7. Monitorar continuamente o impacto das mudanças.

  8. Repetir o ciclo, pois o ambiente de produção evolui constantemente.

O WLM não é configurado uma única vez para sempre; ele acompanha a evolução do negócio.


Dicas para um Programador COBOL Padawan

Se você está começando no mundo do CICS, lembre-se destas lições:

  • Nem toda lentidão vem do seu programa. Às vezes o código está aguardando CPU, I/O ou recursos disputados.

  • Aprenda os conceitos de Service Class, Goal, Importance e Service Policy. Eles aparecem com frequência em entrevistas e em projetos corporativos.

  • Conheça o básico de RMF e SMF. Mesmo sem administrá-los, entender seus relatórios ajuda a conversar com equipes de infraestrutura.

  • Escreva programas eficientes. Um COBOL bem otimizado reduz consumo de CPU e facilita o trabalho do WLM.

  • Pense sempre no negócio. Uma transação crítica deve ser projetada para responder rapidamente, pois ela provavelmente estará associada às Service Classes mais importantes.


Curiosidades

  • O WLM é considerado um dos pilares do conceito de autonomic computing da IBM, pois toma decisões de forma automática para cumprir metas de desempenho.

  • Muitas ideias usadas atualmente em plataformas de computação em nuvem, como priorização dinâmica de cargas e gerenciamento por objetivos, já estavam presentes no z/OS décadas antes.

  • Em ambientes financeiros, uma política de WLM bem ajustada pode representar milhões de reais economizados ao evitar a necessidade de ampliar capacidade apenas para absorver picos temporários.

  • O WLM não conhece o código COBOL; ele enxerga serviços, metas e comportamento do sistema. Isso reforça a importância de integrar desenvolvimento, operações e engenharia de performance.


Easter Egg Bellacosa Mainframe

Imagine que o Anel Único representa a CPU disponível.

Todos querem usá-lo.

Saruman deseja o Anel para dominar a Terra-média.

Sauron deseja o Anel para conquistar todos os povos.

Boromir acredita que poderia utilizá-lo para proteger Gondor.

Mas Gandalf compreende uma verdade fundamental:

O poder absoluto entregue à pessoa errada destrói todo o reino.

O WLM pensa exatamente assim.

Ele nunca entrega todos os recursos para quem simplesmente os solicita primeiro.

Ele entrega recursos para quem mantém o reino funcionando.

No Mainframe, o verdadeiro herói não é o programa que consome mais CPU.

É aquele que entrega valor ao negócio no momento certo, usando apenas os recursos necessários.

Assim como a Sociedade do Anel venceu porque cada integrante cumpriu sua missão, um ambiente CICS de alta disponibilidade permanece saudável porque CPU, memória e I/O são distribuídos com inteligência. O WLM é o guardião silencioso dessa ordem: raramente aparece nos holofotes, mas é um dos principais responsáveis por manter o "reino" do IBM Z funcionando de forma estável, eficiente e preparado para enfrentar até as cargas mais intensas.

quarta-feira, 2 de maio de 2012

⏰🔥 SRE explicado para quem já foi acordado por batch quebrado

 


⏰🔥 SRE explicado para quem já foi acordado por batch quebrado



02:47 — Introdução: quando o telefone tocava e você já sabia

Antes de existir SRE, já existia plantão.
Antes de “on-call rotation”, já existia pager, telefone fixo e operador nervoso.
Antes de “incident postmortem”, já existia a pergunta clássica:

“O que mudou desde ontem?”

Site Reliability Engineering (SRE) não nasceu no Google.
Nasceu no trauma coletivo de quem precisava manter sistema crítico em pé, custe o que custar.



1️⃣ O que é SRE (traduzido para dialeto mainframe)

SRE é aplicar engenharia para garantir:

  • Disponibilidade

  • Performance

  • Confiabilidade

  • Previsibilidade

Não é suporte.
Não é operação reativa.
É disciplina.

📌 Mainframer entende assim:

“Não apagar incêndio. Evitar que ele comece.”


2️⃣ O mito: SRE é coisa de cloud 😈

Mentira.

Mainframe já fazia SRE com:

  • SLAs rígidos

  • Janelas de batch

  • Planejamento de capacidade

  • Controles de mudança

  • Automação pesada

😈 Easter egg:
ITIL copiou metade disso e deu nome bonito.


3️⃣ SLIs, SLOs e SLAs (ou: como medir sem enganar)

SLI – Indicador

  • Tempo de resposta

  • Taxa de erro

  • Throughput

SLO – Objetivo

  • “99,9% das transações em até X ms”

SLA – Contrato

  • Multa

  • Diretoria

  • Dor

📎 Mainframer traduz:

“Se o fechamento não roda, tem reunião amanhã.”


4️⃣ Error Budget: a parte que o negócio nunca entendeu 💣

Error Budget =
100% − SLO

Se o sistema pode falhar 0,1% do tempo:

  • Você pode inovar

  • Pode mudar

  • Pode arriscar

Se estourar:

  • Congela mudança

  • Estabiliza

  • Arruma casa

😈 Easter egg:
No mainframe isso se chamava “congelamento pré-fechamento”.


5️⃣ Postmortem sem caça às bruxas 🧠

SRE prega:

  • Análise sem culpados

  • Foco no processo

  • Aprendizado real

Mainframer sabe:

“Sistema não quebra sozinho.”

📌 Curiosidade:
Quem caça culpado esconde problema.


6️⃣ Automação: batch, scripts e o futuro 🤖

SRE vive de automação:

  • Deploy automático

  • Rollback

  • Self-healing

  • Escala automática

Mainframe já fazia:

  • JCL

  • Restart automático

  • Schedulers

  • Abends tratados

😈 Easter egg:
JCL é Infrastructure as Code sem marketing.


7️⃣ Passo a passo para pensar como SRE (modo Bellacosa)

1️⃣ Defina o que é “funcionar”
2️⃣ Meça tudo que importa
3️⃣ Crie limites claros
4️⃣ Automatize o repetitivo
5️⃣ Aceite falhas pequenas
6️⃣ Aprenda com cada incidente
7️⃣ Melhore antes da próxima pancada


8️⃣ Guia de estudo para mainframers cansados 📚

Conceitos

  • SRE

  • SLIs / SLOs

  • Error Budget

  • Incident Management

  • Chaos Engineering

Ferramentas modernas

  • Instana

  • PagerDuty

  • Grafana

  • Kubernetes (sim…)


9️⃣ Aplicações práticas no mundo híbrido

  • Redução de chamadas noturnas

  • Menos stress operacional

  • Melhor diálogo com negócio

  • Estabilidade com inovação

  • Arquiteturas mais conscientes

🎯 Mainframer SRE vira pilar da empresa.


🔟 Curiosidades que doem 😬

  • 100% disponível não existe

  • Mudança sem métrica é aposta

  • Automatizar erro escala desastre

  • Confiabilidade custa tempo e dinheiro

📌 Verdade dura:
Sistema crítico exige humildade técnica.


11️⃣ Comentário final (05:31, céu clareando)

SRE não é moda.
É sobrevivência profissional.

Se você já:

  • Dormiu mal por batch quebrado

  • Evitou mudança perto do fechamento

  • Confiou mais em histórico do que em promessa

Então você já era SRE, antes do nome existir.

🖤 El Jefe Midnight Lunch encerra a série:
Confiabilidade não se improvisa. Se constrói.

 

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