☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

segunda-feira, 6 de dezembro de 2010

🔥 Os 50 Principais ABENDs em CICS

 

Lista dos 50 principais erros em CICS

🔥 Os 50 Principais ABENDs em CICS
Possíveis causas, soluções e sabedoria de data center


☕ Midnight Lunch, região viva… e o ABEND aparece

14h07.
Tela congelou.
CEMT I TASK mostra status estranho.
O operador solta a clássica frase:

“Deu ABEND no CICS…”

Mas qual ABEND?
E mais importante: por quê?

Hoje vamos entrar no lado sombrio do CICS — os 50 ABENDs mais comuns, com causa raiz, solução e comentários de quem já apagou muito incêndio.


🏛️ História: ABEND não é erro, é aviso

No mundo CICS:

  • ABEND ≠ bug automático

  • ABEND = proteção

  • O sistema prefere matar a task do que corromper dados

📌 ABEND é o CICS dizendo: “daqui não passa”.


🧠 Conceito essencial

Quem entende ABEND, domina produção.


Lista de abends mais comuns em CICS


💥 Top 50 ABENDs em CICS (causas & soluções)


🔴 ABENDs de Programação

  1. AEIP – Comando CICS inválido
    👉 Causa: erro de lógica
    ✅ Solução: revisar comando EXEC CICS

  2. AEIM – Mapa inexistente
    👉 MAPSET não carregado
    ✅ Definir corretamente no CICS

  3. AEI0 – Erro de terminal
    👉 Sessão inválida
    ✅ Validar TC

  4. AEIS – Storage corrompido
    👉 Ponteiro inválido
    ✅ Revisar GETMAIN/FREEMAIN

  5. AEIN – Intervalo inválido
    👉 WAIT TIME errado
    ✅ Ajustar intervalo


🔴 ABENDs de Arquivo (File Control)

  1. AEIO – Erro de I/O
    👉 VSAM indisponível
    ✅ Verificar dataset

  2. AEIL – Arquivo não definido
    👉 FCT incorreta
    ✅ Corrigir definição

  3. AEIR – Registro não encontrado
    👉 READ sem verificação
    ✅ Tratar NOTFND

  4. AEIW – WRITE inválido
    👉 Layout errado
    ✅ Ajustar estrutura

  5. AEID – DELETE inválido
    👉 Registro inexistente
    ✅ Validar chave


🔴 ABENDs de Storage

  1. AEY9 – Falta de storage
    👉 Vazamento de GETMAIN
    ✅ Liberar storage

  2. ASRA – Protection exception
    👉 Storage corrompido
    ✅ Revisar ponteiros

  3. ASRB – Arithmetic exception
    👉 DIVIDE BY ZERO
    ✅ Validar cálculo

  4. AEYA – Storage key error
    👉 Região protegida
    ✅ Revisar chave

  5. AEYD – Stack overflow
    👉 Loop recursivo
    ✅ Corrigir lógica


🔴 ABENDs de Program Control

  1. AEIX – XCTL inválido
    👉 Programa inexistente
    ✅ Corrigir nome

  2. AEIL – LINK inválido
    👉 Parâmetros errados
    ✅ Ajustar COMMAREA

  3. AEIY – Programa não reentrante
    👉 Uso incorreto
    ✅ Tornar reentrante

  4. AEIZ – RETURN inválido
    👉 Fluxo quebrado
    ✅ Revisar lógica

  5. AEIP – LINK circular
    👉 Arquitetura ruim
    ✅ Refatorar fluxo


🔴 ABENDs de Terminal / BMS

  1. AEIM – Mapa não encontrado
    👉 MAPSET não carregado
    ✅ CEDA INSTALL

  2. AEIT – Erro de terminal
    👉 Sessão encerrada
    ✅ Validar conexão

  3. AEIB – Buffer overflow
    👉 Campo maior que área
    ✅ Ajustar tamanho

  4. AEIA – Atributo inválido
    👉 BMS errado
    ✅ Revisar mapa

  5. AEIC – Cursor inválido
    👉 Campo inexistente
    ✅ Corrigir IC


🔴 ABENDs de Transação / Task

  1. AEIT – Task inválida
    👉 Estado inconsistente
    ✅ Revisar RETURN

  2. AEI3 – Transação não definida
    👉 PCT ausente
    ✅ Definir TRANSID

  3. AEI4 – Security violation
    👉 Falta de autorização
    ✅ Ajustar RACF

  4. AEI5 – Time-out
    👉 Loop infinito
    ✅ Otimizar lógica

  5. AEI6 – Deadlock
    👉 Lock excessivo
    ✅ Reduzir escopo


🔴 ABENDs de Integração / Sistema

  1. APCT – Erro de Program Control
    👉 Configuração errada
    ✅ Revisar região

  2. AICA – Conversão inválida
    👉 Dados inconsistentes
    ✅ Validar formatos

  3. AICM – MQ error
    👉 Fila indisponível
    ✅ Verificar MQ

  4. AIDB – DB2 error
    👉 SQLCODE negativo
    ✅ Tratar SQL

  5. AIDS – Data inconsistente
    👉 Conversão errada
    ✅ Sanitizar dados


🔴 ABENDs “Clássicos de Guerra”

  1. ASRA – O mais temido
    👉 Memory overwrite
    ✅ Debug profundo

  2. AEIP – O mais comum
    👉 Código mal tratado
    ✅ Revisar lógica

  3. AEY7 – Storage leak
    👉 GETMAIN sem FREEMAIN
    ✅ Corrigir ciclo

  4. AEZC – CICS internal
    👉 Bug ou stress
    ✅ IBM support

  5. AFCA – File corruption
    👉 VSAM danificado
    ✅ Rebuild


🔴 ABENDs de Segurança

  1. AEI4 – RACF denial
    👉 Permissão faltando
    ✅ Ajustar perfil

  2. AESP – Security program
    👉 Violação
    ✅ Revisar acessos

  3. AEPI – Program protected
    👉 Programa não autorizado
    ✅ CEDA SET PROG

  4. AEXY – User exit failure
    👉 Exit defeituoso
    ✅ Debug exit

  5. AEXZ – Transaction denied
    👉 Perfil incorreto
    ✅ RACF


🔴 Os últimos, mas não menos perigosos

  1. AEZ9 – Resource unavailable
    👉 Falta de recurso
    ✅ Ajustar região

  2. AEZA – Internal error
    👉 Estado crítico
    ✅ Restart controlado

  3. AEZH – Program load failure
    👉 Load module ausente
    ✅ Reinstalar

  4. AEZI – System overload
    👉 Pico de tasks
    ✅ Tuning

  5. AEZZ – O “não documentado”
    👉 Algo muito errado
    ✅ Chamar o mais velho da sala 😈


📚 Guia de estudo para mainframers

Domine:

  • HANDLE ABEND

  • CEMT I TASK

  • DFHDU

  • Dumps CICS

  • SMF + logs

📖 Manual essencial: CICS Problem Determination Guide


🤓 Curiosidades de boteco mainframe

🍺 ASRA já aposentou muita gente
🍺 AEIP é quase rito de passagem
🍺 Todo ABEND ensina algo
🍺 Quem lê dump vira referência


💬 Comentário El Jefe Midnight Lunch

“ABEND não é o fim.
É o CICS pedindo para você pensar.”


🎯 Conclusão Bellacosa

Conhecer ABEND:

  • Reduz MTTR

  • Evita pânico

  • Dá respeito em produção

🔥 Quem entende ABEND, manda no CICS.


domingo, 5 de dezembro de 2010

Bellacosa Index Page: Checklist de Indexação SEO – Guia Completo

 

Check list seo page

Checklist de Indexação SEO – Guia Completo

1. Permitir indexação nos motores de busca

Antes de qualquer otimização, é essencial garantir que o site possa ser indexado. Verifique se não há bloqueios globais, como:

  • noindex aplicado ao site inteiro

  • configurações de privacidade ativadas

  • cabeçalhos HTTP do tipo X-Robots-Tag: noindex

Use o Google Search Console para confirmar se as páginas estão “Disponíveis para o Google”.


2. Robots.txt bem configurado

O arquivo robots.txt controla o rastreamento. Uma configuração correta:

  • permite acesso às páginas importantes

  • bloqueia áreas irrelevantes (ex: páginas de busca internas)

  • declara o sitemap

Exemplo recomendado:

User-agent: * Disallow: /search Allow: / Sitemap: https://www.seusite.com/sitemap.xml

Evite erros graves como Disallow: /, que bloqueia todo o site.


3. Sitemap XML funcional e enviado

O sitemap ajuda o Google a descobrir URLs.
Boas práticas:

  • gerar sitemap automático

  • incluir apenas páginas indexáveis

  • enviar no Google Search Console

  • monitorar erros de leitura

O sitemap não deve ser indexado, apenas lido por robôs.


4. Uso correto de meta robots

As tags meta robots ou regras de robôs personalizadas devem ser usadas com cautela:

  • páginas e posts importantes: index, follow

  • páginas de busca e arquivo: noindex

Nunca aplique noindex em páginas que você deseja que apareçam nos resultados.


5. Estrutura correta de títulos (Headings)

Cada página deve conter:

  • 1 único H1 (título principal)

  • H2 para subtítulos

  • H3/H4 para hierarquia interna

Os headings ajudam o Google a entender o tema e a organização do conteúdo.


6. Títulos e meta descrições otimizados

Cada página deve ter:

  • título único e descritivo (50–60 caracteres)

  • meta descrição clara e atrativa (120–160 caracteres)

Esses elementos influenciam diretamente o CTR (taxa de cliques) nos resultados de busca.


7. Conteúdo com qualidade e profundidade

Conteúdo é um dos principais fatores de SEO.
Checklist mínimo:

  • textos com 300 palavras ou mais

  • conteúdo original

  • respostas claras à intenção do usuário

  • parágrafos curtos e escaneáveis

Conteúdo fraco tende a ser ignorado ou removido do índice.


8. URLs amigáveis

Boas URLs:

  • curtas

  • sem parâmetros desnecessários

  • com palavras-chave

  • sem caracteres especiais

Exemplo bom:

/checklist-indexacao-seo.html

9. Links internos estratégicos

Links internos:

  • ajudam o Google a descobrir páginas

  • distribuem autoridade

  • aumentam tempo de permanência

Checklist:

  • cada post deve linkar para outros conteúdos relevantes

  • páginas importantes devem ser acessíveis a partir da home


10. Links externos confiáveis

Links para sites relevantes:

  • aumentam credibilidade

  • contextualizam o conteúdo

  • melhoram a experiência do usuário

Evite links quebrados ou para sites de baixa qualidade.


11. Otimização de imagens

Imagens também são indexáveis:

  • usar nomes descritivos

  • preencher o atributo alt

  • comprimir arquivos

  • evitar imagens muito pesadas

Isso melhora SEO e velocidade.


12. Performance e velocidade

Sites lentos têm pior desempenho nos rankings.
Verifique:

  • tempo de carregamento

  • excesso de scripts

  • imagens não otimizadas

Ferramenta recomendada: Google PageSpeed Insights.


13. Mobile-friendly (responsivo)

A indexação do Google é mobile-first.
Checklist:

  • layout responsivo

  • textos legíveis no celular

  • botões clicáveis

  • sem pop-ups intrusivos


14. Evitar conteúdo duplicado

Conteúdo duplicado confunde os buscadores.
Cuidados:

  • não repetir textos inteiros

  • usar canonical quando necessário

  • evitar múltiplas URLs com o mesmo conteúdo


15. Dados estruturados (Schema)

Sempre que possível, use dados estruturados para:

  • artigos

  • breadcrumbs

  • reviews

  • vídeos

Isso pode gerar rich snippets e aumentar o CTR.


16. Frequência de publicação

Sites atualizados com frequência são rastreados com mais regularidade.

  • mantenha consistência

  • evite longos períodos sem novos conteúdos


17. Monitoramento constante

SEO não é tarefa única.
Checklist de acompanhamento:

  • revisar relatórios do Search Console

  • corrigir páginas excluídas

  • atualizar conteúdos antigos

  • acompanhar desempenho


18. Experiência do usuário

O Google avalia sinais de uso:

  • tempo na página

  • taxa de rejeição

  • navegação intuitiva

Conteúdo bom e bem estruturado retém o visitante.


Conclusão

Um Checklist de Indexação SEO bem aplicado garante que seu site:

  • seja rastreável

  • seja indexado corretamente

  • tenha conteúdo compreendido pelos motores de busca

  • ofereça boa experiência ao usuário

SEO não é sobre truques, mas sobre clareza, qualidade e consistência.
Ao seguir este checklist, você cria uma base sólida para crescer organicamente, ganhar visibilidade e construir autoridade nos motores de busca de forma sustentável.


sexta-feira, 3 de dezembro de 2010

🧱 IBM Mainframe Storage Management no z/OS

Bellacosa Mainframe apresenta Storage Management no IBM z/OS



🧱 IBM Mainframe Storage Management no z/OS

DFSMS, SMS x non-SMS, ISMF, ACS, DASD, TAPE, JCL, VSAM, PS e PO

O disco não é só espaço. É política, disciplina e sobrevivência.


☕ Introdução – Quando o disco manda mais que o código

Todo mainframe nasce vazio.
Nenhum COBOL roda, nenhum CICS responde, nenhum batch fecha balanço sem que alguém tenha decidido onde os dados vão morar.

E é aqui que muita gente erra:

“Ah, storage é só pedir espaço no JCL…”

❌ Errado.
No IBM Mainframe, storage é governança, automação, história, política corporativa e, muitas vezes, briga silenciosa entre times.

Este artigo é para você que:

  • Já sofreu com SMS override

  • Já ouviu “o ACS mandou”

  • Já viu dataset ir parar num disco que você nem sabia que existia

  • Ou ainda acha que VOL=SER ainda manda em tudo

Senta, pega o café, que a aula começa agora.


🏛️ Origem e História – Do ferro bruto ao cérebro automático

📼 Anos 60–70: tudo era manual

  • Disco era caro

  • Poucos volumes

  • Programador escolhia tudo

  • Erro humano era rotina

💣 Anos 80: o caos

  • Explosão de dados

  • Batch gigante

  • Fragmentação absurda

  • Discos cheios às 03:00 da manhã

🧠 Anos 90: nasce o DFSMS

A IBM percebeu:

“Não dá para deixar cada programador decidir disco.”

Surge o DFSMS (Data Facility Storage Management Subsystem).

Objetivo:

  • Padronizar

  • Automatizar

  • Controlar

  • Evitar desastre operacional

📌 DFSMS não é luxo. É resposta ao caos.


🧠 DFSMS – O cérebro do armazenamento no z/OS

DFSMS é:

  • Parte nativa do z/OS

  • Gerente de dados

  • Juiz das decisões de disco

  • Guarda-costas da infraestrutura

Ele cuida de:

  • DASD

  • TAPE

  • Migração

  • Backup

  • Alocação

  • Performance

  • Disponibilidade


💽 DASD – O chão onde tudo pisa

DASD = Direct Access Storage Device

Tradução Bellacosa:

“É o HD do mainframe, só que sério.”

Tudo mora em DASD:

  • z/OS

  • SYS1

  • Aplicações

  • VSAM

  • Logs

  • Catálogos

📌 Volume = Disco = DASD

Exemplos reais:

PRD001
TSO123
CICS45

📼 TAPE – O ancião que ainda reina

Muita gente subestima, mas:

  • Tape é barato

  • Tape é denso

  • Tape é confiável

  • Tape é rei do backup

DFSMS controla:

  • Migração HSM

  • Recall automático

  • Arquivamento

📌 Easter egg:
Muitos bancos ainda têm dados mais velhos que o programador, morando felizes em fita.


🧩 SMS x non-SMS – O conflito eterno

🔴 Non-SMS (old school)

Você manda:

  • VOL=SER

  • SPACE

  • UNIT

Vantagem:

  • Controle total

Desvantagem:

  • Risco total

📌 Hoje: usado só em casos muito específicos.


🟢 SMS-Managed (mundo real)

O sistema manda.

Você pede:

  • Nome do dataset

O SMS decide:

  • Onde fica

  • Quanto espaço

  • Performance

  • Migração

📌 Naming convention é lei.


🧬 ACS – O código que manda mais que o JCL

ACS Routine = cérebro do SMS

Ela decide:

  • Data Class

  • Storage Class

  • Storage Group

Baseado em:

  • Nome do dataset

  • Usuário

  • Programa

  • Ambiente

Exemplo simplificado:

IF &DSN = 'PRD.*'
   SET &STORCLAS = 'HIGH'

💣 Easter egg cruel:

Você pode pedir CYL(1000).
O ACS pode te dar TRK(10).
E ainda sorrir.


🖥️ ISMF – Onde o poder mora

ISMF = Interactive Storage Management Facility

Ferramenta do:

  • Storage admin

  • Infra

  • Arquitetura

Aqui você vê:

  • Volumes

  • Classes

  • Storage Groups

  • ACS

  • Espaço real

📌 Programador geralmente não entra aqui.


🧱 Data Class – O DNA do dataset

Define:

  • RECFM (FB, VB…)

  • LRECL

  • DSORG

Exemplo:

RECFM=FB
LRECL=80
DSORG=PS

📌 Template padrão corporativo.


🚀 Storage Class – Performance e SLA

Define:

  • Prioridade

  • Backup

  • Migração

  • Disponibilidade

📌 Onde o negócio fala mais alto que o código.


🗄️ Storage Group – O endereço físico

  • Conjunto de volumes

  • Abstração total

  • Usuário não escolhe disco

📌 Você não precisa saber qual disco.
📌 O SMS sabe.


📂 Tipos de Data Set – PS, PO, VSAM

📄 PS (Sequential)

  • Batch

  • Relatórios

  • Entrada/Saída simples


📚 PO / PDS / PDSE

  • Código

  • JCL

  • Copybooks

📌 PDSE > PDS (sempre que possível).


🧬 VSAM

  • KSDS

  • ESDS

  • RRDS

Alta performance, alta complexidade.

📌 VSAM mal dimensionado = pesadelo.


📜 JCL x DFSMS – Quem manda?

JCL pede.
DFSMS decide.

Exemplo clássico:

SPACE=(CYL,(100,50))

Resultado:

SPACE=(TRK,(10,5))

Mensagem:

“Some attributes were overridden by ACS routine.”

📌 Tradução:

“Você tentou. Eu mandei.”


🧪 Passo a passo prático (vida real)

  1. Dataset criado

  2. ACS roda

  3. Classes atribuídas

  4. Volume escolhido

  5. Espaço ajustado

  6. Catálogo atualizado

Tudo automático.


🧙‍♂️ Dicas Bellacosa Mainframe

✔ Naming convention é tudo
✔ Nunca confie só no JCL
✔ Leia o ACS antes de reclamar
✔ ISMF é seu melhor amigo
✔ Storage admin é aliado, não inimigo
✔ PDSE sempre que possível
✔ VSAM exige respeito


🥚 Easter Eggs & Curiosidades

🥚 Existem ACS routines com 20+ anos em produção
🥚 Já houve banco parado porque alguém mexeu no ACS sem change
🥚 Muitos datasets “fantasmas” existem só porque ninguém sabe quem usa
🥚 Tape ainda salva mais empresa que cloud hype


☕ Conclusão – A frase que resume tudo

“No mainframe, código faz o sistema funcionar.
Storage faz o negócio sobreviver.”

Se quiser, posso:

  • 📚 Transformar isso em curso

  • 🧪 Criar labs práticos

  • 🎓 Adaptar para aula corporativa

  • 🔐 Criar versão bancária real

  • 📊 Montar mapa mental DFSMS

Só chamar.
O café está quente ☕🖥️


quarta-feira, 10 de novembro de 2010

Battle Beyond the Stars (1980) — Quando um Mainframe Ensina que Nem Todo Tesouro Cabe em um Data Center

 

Bellacosa Mainframe apresenta Battle Beyond the Stars

☕ Um Café no Bellacosa Mainframe

Battle Beyond the Stars (1980) — Quando um Mainframe Ensina que Nem Todo Tesouro Cabe em um Data Center

"Às vezes pensamos que a maior riqueza é aumentar a capacidade do disco. Até descobrir que um velho arquivo esquecido vale mais que todos os terabytes do mundo."


Uma viagem para 1980

Existe uma categoria de filmes que envelhece.

E existe outra que simplesmente ganha novas camadas conforme envelhecemos.

Battle Beyond the Stars, lançado em 26 de setembro de 1980 nos Estados Unidos, pertence à segunda categoria.

Na adolescência você assiste pelas explosões.

Aos vinte anos, pelas naves.

Aos quarenta, pelos personagens.

Aos cinquenta...

...você entende Gelt.

E percebe que talvez ele sempre tenha sido o verdadeiro protagonista.



Ficha Técnica

ItemInformação
Título originalBattle Beyond the Stars
BrasilMercenários das Galáxias
Ano1980
DiretorJimmy T. Murakami
ProduçãoRoger Corman
RoteiroJohn Sayles
MúsicaJames Horner
Duração104 minutos
GêneroSpace Opera
EstúdioNew World Pictures
ClassificaçãoPG (EUA)

Curiosamente...

Este foi um dos primeiros trabalhos importantes de James Horner.

Sim...

O mesmo compositor que mais tarde faria:

  • Star Trek II

  • Aliens

  • Willow

  • Braveheart

  • Titanic

  • Avatar

Muitos temas musicais que ele reutilizaria ao longo da carreira começaram aqui.


Roger Corman

Se Hollywood fosse um mainframe...

Roger Corman seria aquele engenheiro capaz de fazer um IBM 3090 competir com um z17 usando metade da memória.

Era conhecido por produzir filmes com orçamento baixíssimo.

Mas conseguia descobrir talentos como ninguém.

Por seus filmes passaram:

  • James Cameron

  • Francis Ford Coppola

  • Martin Scorsese

  • Joe Dante

  • Jonathan Demme

  • Ron Howard

Battle Beyond the Stars foi um verdadeiro laboratório de futuros gigantes do cinema.



A História

O planeta agrícola Akir vive em paz.

Até surgir o conquistador espacial:

Sador

Interpretado por John Saxon.

Ele possui um gigantesco couraçado espacial.

Seu objetivo?

Conquistar.

Pilhar.

Destruir.

Ou receber tributo.

Akir não possui exército.

Então o jovem:

Shad

recebe uma antiga nave espacial.

E parte em busca de guerreiros.

Exatamente como...

Os Sete Samurais.



A verdadeira inspiração

Battle Beyond the Stars não nasceu do nada.

Sua árvore genealógica é quase perfeita.

Os Sete Samurais (1954)

↓

Sete Homens e um Destino (1960)

↓

Battle Beyond the Stars (1980)

↓

Rebel Moon (2023)

A estrutura narrativa permanece praticamente intacta.

Apenas muda o cenário.

Samurais.

Cowboys.

Mercenários espaciais.



Os Mercenários

Cada personagem representa um arquétipo clássico.

Shad

O herói inocente.

Ainda acredita que bondade resolve problemas.


Nestor

Uma nave senciente.

Metade computador.

Metade consciência.

Algo entre HAL 9000...

e R2-D2.


Cayman

Um cowboy espacial.

Atira antes de pensar.


Saint-Exmin

Uma guerreira valquíria interestelar.

Elegância.

Precisão.

Honra.


Gelt

Aqui...

o filme muda completamente de nível.


Gelt

Gelt é um criminoso.

Assassino.

Contrabandista.

Mercenário.

Extremamente rico.

Talvez o homem mais rico da galáxia.

Mas vive sozinho.

Ninguém o visita.

Não possui amigos.

Não pode aparecer em nenhuma cidade.

Não consegue gastar seu dinheiro.

Imagine um bilionário...

condenado ao isolamento perpétuo.

Shad oferece pagamento.

Gelt ri.

Mostra montanhas de ouro.

Então o jovem diz:

"Só podemos oferecer um lar."

E tudo muda.

Ali percebemos:

A fortuna dele nunca comprou aquilo que realmente desejava.


O Plot Twist Emocional

O maior plot twist não é uma batalha.

Não é uma explosão.

É descobrir que o homem mais rico do filme...

...é também o mais pobre.

Ele aceita lutar.

Não pelo dinheiro.

Mas porque deseja experimentar novamente:

  • amizade;

  • confiança;

  • uma refeição compartilhada.

Essa transformação silenciosa é uma das maiores forças do roteiro.



Estrutura Narrativa

Podemos dividir o filme em cinco atos:

Problema

↓

Viagem

↓

Recrutamento

↓

Preparação

↓

Batalha Final

É uma estrutura usada até hoje.

Star Wars.

Os Vingadores.

Sete Homens e um Destino.

Rebel Moon.

The Magnificent Seven (2016).

Tudo bebe desta fonte.


Easter Eggs

Os fãs encontram diversos detalhes interessantes:

  • várias naves lembram modelos de Star Wars;

  • o design orgânico da nave de Nestor foi pensado para parecer quase "viva";

  • James Cameron trabalhou nos efeitos especiais e na direção de arte de miniaturas, antes de dirigir seus próprios sucessos;

  • James Horner reutilizou ideias musicais que mais tarde apareceriam em filmes como Star Trek II e Aliens.


Curiosidades

James Cameron

Antes de Terminator.

Antes de Aliens.

Antes de Titanic.

Ele trabalhou aqui construindo miniaturas e cenários.


John Sayles

O roteiro foi escrito em poucos dias.

Mesmo assim...

continua surpreendentemente sólido.


Orçamento

Cerca de US$ 2 milhões.

Pouquíssimo.

Mesmo para 1980.


Bilheteria

Arrecadou aproximadamente US$ 11 milhões em todo o mundo.

Foi considerado um bom retorno para uma produção independente e consolidou mais um sucesso de Roger Corman.


A Censura

Recebeu classificação PG nos EUA.

Hoje provavelmente seria equivalente a uma classificação para maiores de 12 anos em muitos países, por conter violência de fantasia e batalhas espaciais, mas sem excesso de sangue ou conteúdo adulto.


Impacto Cultural

Na época...

foi visto como um "Star Wars barato".

Hoje...

é considerado um clássico cult.

Isso acontece porque as pessoas passaram a enxergar o roteiro.

E não apenas os efeitos especiais.


Serviu de inspiração para...

É difícil provar influência direta em todos os casos, mas sua marca aparece em diversas obras:

  • Rebel Moon

  • jogos de RPG espacial

  • quadrinhos de mercenários espaciais

  • séries de recrutamento de equipes improváveis

Mais do que copiar cenas, herdaram a ideia de reunir especialistas muito diferentes para enfrentar um inimigo impossível.


Críticas

Os efeitos especiais não competiam com os de Star Wars.

Alguns diálogos são simples.

Alguns personagens aparecem pouco.

Mas...

o filme possui algo raro.

Personagens memoráveis.

E isso sobrevive ao tempo.


A Filosofia Escondida

Aqui está a verdadeira mensagem.

Imagine Gelt como um enorme banco de dados.

Milhões de registros.

Petabytes de riqueza.

Capacidade infinita.

Mas...

nenhuma aplicação utilizando aquelas informações.

No mundo do mainframe diríamos:

Storage

≠

Valor

Valor nasce quando existe uso.

Quando existe compartilhamento.

Quando existe comunidade.

O mesmo vale para conhecimento.

Você pode acumular milhares de PDFs.

Milhares de cursos.

Centenas de badges.

Mas, se esse conhecimento nunca ajudar alguém, ele continuará sendo apenas armazenamento.


Bellacosa Mainframe

Sempre digo aos novos profissionais:

"Não estudem para colecionar certificados. Estudem para um dia alguém lembrar do seu nome quando surgir um problema difícil."

Gelt passou a vida colecionando riqueza.

No fim, descobriu que preferia colecionar amigos.

Nós passamos anos colecionando conhecimento técnico.

No fim da carreira, percebemos que as melhores lembranças não são do compilador COBOL ou do CICS que salvamos em uma madrugada, mas das conversas no café, das risadas na sala de operações, dos colegas que confiaram em nós e das pessoas que ajudamos a formar.


Por que você deve assistir?

Porque Battle Beyond the Stars não é apenas uma aventura espacial.

É um filme sobre envelhecer.

Sobre propósito.

Sobre descobrir que existe uma diferença enorme entre ter valor e ter preço.

Você verá naves de design curioso, batalhas feitas com criatividade e um elenco cheio de figuras marcantes. Mas o que provavelmente permanecerá na memória é a jornada de Gelt: um homem que possuía tudo o que o dinheiro podia comprar e, ainda assim, atravessou a galáxia por algo que nenhum tesouro podia oferecer.

Talvez seja por isso que o filme continua vivo mais de quatro décadas depois. No fundo, ele nos lembra que todos buscamos a mesma coisa: um lugar onde sejamos bem-vindos, pessoas com quem possamos dividir uma boa conversa e, quem sabe, um café.

E essa é uma lição que continua tão atual quanto em 1980.

terça-feira, 9 de novembro de 2010

Drift Into Failure: Doctor Who, COBOL e o Dia em que Ninguém Quebrou o Sistema — Mas Ele Quebrou Mesmo Assim

Bellacosa Mainframe drift into failure

☕ Um Café no Bellacosa Mainframe

Drift Into Failure: Doctor Who, COBOL e o Dia em que Ninguém Quebrou o Sistema — Mas Ele Quebrou Mesmo Assim

Uma viagem pela TARDIS dos incidentes para entender como sistemas complexos derivam lentamente para o desastre enquanto cada pequena decisão continua parecendo perfeitamente razoável

03:14.

Produção funcionando.

Nenhum ABEND importante.

Nenhum incêndio.

Nenhum gerente correndo pelo corredor.

Nenhum operador gritando:

— PAREM TUDO!

Na verdade, nada parece particularmente dramático.

Um job demora cinco minutos a mais.

Um alerta conhecido aparece.

Um procedimento recebe mais uma pequena exceção.

Um analista resolve uma inconsistência manualmente.

Um parâmetro é aumentado.

Uma janela operacional fica dez minutos menor.

Uma validação é adiada para a manhã.

Um funcionário experiente se aposenta e ninguém documenta completamente aquilo que ele sabia.

Um servidor recebe mais carga.

Um batch ganha mais arquivos.

Um relatório deixa de ser conferido porque ficou grande demais.

Nada quebra.

Dia seguinte.

Tudo funciona novamente.

Semana seguinte.

Mais uma pequena adaptação.

Mês seguinte.

Outra.

Ano seguinte.

A operação continua.

Até que, numa terça-feira perfeitamente comum:

03:17:42

SYSTEM STATUS: DEGRADED

03:18:01

QUEUE DEPTH: CRITICAL

03:18:14

TRANSACTION FAILURES

03:18:29

RECONCILIATION ERROR

03:19:03

INCIDENT DECLARED

A War Room abre.

E alguém faz a pergunta inevitável:

— Quem mudou alguma coisa?

Nesse momento...

VWORP.

VWORP.

VWORP.

A TARDIS aparece ao lado do console.

A porta abre.

O Doctor sai.

Olha para os logs.

Olha para o histórico.

Olha para a equipe.

— Quando vocês acham que esse incidente começou?

O gerente aponta:

— Às 03:17.

O Doctor balança a cabeça.

— Não.

— Às 03:14?

— Também não.

O programador COBOL iniciante pergunta:

— Então quando?

O Doctor abre uma timeline.

Ela começa três anos antes.

— Talvez aqui.

Silêncio.

— Ou aqui.

Volta mais seis meses.

— Ou talvez aqui.

O jovem arregala os olhos.

— Mas não aconteceu nada nesses dias.

O Doctor sorri.

— Exatamente.

Bem-vindo ao:



Drift Into Failure

Ou, numa tradução livre:

Deriva em Direção à Falha

O fenômeno pelo qual sistemas sociotécnicos complexos podem gradualmente aproximar-se de condições perigosas sem que exista necessariamente uma única decisão claramente irresponsável, um único culpado ou um instante mágico em que alguém “quebrou tudo”.


🌀 A TARDIS precisa viajar muito mais longe desta vez

Nos episódios anteriores nós investigávamos eventos relativamente identificáveis.

Uma decisão.

Um alerta.

Uma hipótese.

Uma autoridade.

Um plano.

Agora precisamos mudar a escala.

Drift Into Failure exige olhar não apenas para:

o que alguém fez ontem

mas para:

como o sistema evoluiu durante meses ou anos.

Essa perspectiva tem raízes importantes no trabalho do pesquisador dinamarquês Jens Rasmussen, especialmente em seu artigo de 1997, Risk Management in a Dynamic Society: A Modelling Problem. Rasmussen argumentava que segurança em sistemas complexos precisa ser estudada como um problema envolvendo múltiplos níveis da sociedade e da organização, porque decisões e pressões em diferentes níveis interagem para produzir o comportamento real do sistema. (ScienceDirect)

Décadas depois, ideias dessa tradição sistêmica seriam fortemente associadas à expressão Drift Into Failure, popularizada por Sidney Dekker ao discutir por que buscar apenas componentes “quebrados” ou indivíduos culpados é insuficiente para compreender falhas em sistemas complexos. Trabalhos posteriores descrevem essa deriva como uma erosão gradual de restrições e margens, à medida que adaptações locais vão sendo racionalizadas e aceitas. (ScienceDirect)

Em outras palavras:

O desastre pode ser uma trajetória.

Não apenas um evento.


🗺️ O mapa de Rasmussen

Imagine uma organização funcionando dentro de um espaço.

Existem diferentes forças empurrando suas decisões.

Uma delas:

Segurança

Não podemos ultrapassar determinada fronteira.

Outra:

Economia

Precisamos reduzir custos.

Outra:

Carga de trabalho

Precisamos realizar o trabalho sem exigir esforço impossível das pessoas.

Uma organização saudável tenta permanecer dentro desse espaço.

Mas existe pressão constante.

Custos.

Prazos.

Concorrência.

SLA.

Projetos.

Produtividade.

Clientes.

Metas.

Recursos limitados.

Rasmussen mostrou justamente a importância de observar essas pressões e restrições como parte de um sistema dinâmico de controle, em vez de estudar cada ator isoladamente. (ScienceDirect)

Podemos imaginar:

             FRONTEIRA ECONÔMICA
          “PRECISAMOS SER VIÁVEIS”
                    ↓

        ÁREA NORMAL DE OPERAÇÃO

PRESSÃO  →                      ←  PRESSÃO

                    ↑
             FRONTEIRA DE
                SEGURANÇA

O problema?

A organização não fica parada.

Ela se move.


🧭 Drift significa deriva

A palavra inglesa drift é maravilhosa neste contexto.

Não significa necessariamente:

correr em direção ao precipício.

Significa algo mais sutil:

derivar.

Como um barco.

O vento sopra um pouco.

A corrente empurra outro pouco.

O navegador corrige.

Depois relaxa.

Outra corrente.

Mais alguns metros.

Horas depois, o barco está quilômetros longe da rota original.

Não houve:

“Agora navegaremos para o lugar errado.”

Houve pequenas adaptações.

Isso é Drift Into Failure.


☕ Bellacosa Mainframe: o batch das duas da manhã

Imagine um batch crítico.

Quando foi criado:

START: 00:00
END:   01:30

AVAILABLE WINDOW:
4 HOURS

Excelente.

Margem enorme.

Cinco anos depois:

mais clientes.

Mais arquivos.

Mais regras.

Mais SQL.

Agora:

START: 00:00
END:   02:05

Ainda funciona.

Ano seguinte:

END: 02:24

Outro:

END: 02:41

Outro:

END: 03:02

A abertura é às 04:00.

Alguém pergunta:

— Temos problema?

Resposta:

— Não. Ainda termina antes da abertura.

Tecnicamente correto.

Mas observe o que desapareceu:

margem.


🧯 Margem é invisível até precisarmos dela

Quando tudo funciona:

30 minutos de margem parecem desperdício.

Quando algo falha:

30 minutos podem ser a diferença entre:

restartar tranquilamente;

e declarar incidente.

Essa é uma característica central da deriva.

Organizações tendem a otimizar aquilo que enxergam.

Custo.

Tempo.

Capacidade.

Mas segurança frequentemente depende de:

folga;

redundância;

capacidade ociosa;

tempo disponível;

pessoas extras;

alternativas.

Tudo isso parece ineficiente enquanto nada acontece.


💰 Eficiência pode empurrar contra segurança

Imagine:

“Por que temos dois analistas nesse turno?”

Corta um.

Nada acontece.

Depois:

“Por que temos esse relatório manual?”

Remove.

Nada acontece.

“Por que mantemos 30% de capacidade livre?”

Reduz.

Nada acontece.

“Por que precisamos dessa validação extra?”

Simplifica.

Nada acontece.

Cada decisão isoladamente possui justificativa.

Talvez até excelente justificativa.

Mas juntas podem mover a organização.

Centímetro.

Por centímetro.

Em direção à fronteira.


🧀 Swiss Cheese encontra Drift Into Failure

Agora nossa primeira teoria retorna.

Swiss Cheese dizia:

cada barreira possui buracos.

Drift Into Failure acrescenta:

os buracos podem mudar ao longo do tempo.

Uma barreira começa forte.

Depois:

menos pessoas.

Menos testes.

Mais exceções.

Mais pressão.

Mais automação sem revisão.

Mais alerts ignorados.

A fatia vai ficando fina.

Então:

ANO 1
████████○██████

ANO 3
███○████○██○██

ANO 5
██○██○█○██○○█

Até um dia os caminhos se alinham.


🌀 Normalization of Deviance é praticamente vizinha

Esse é um casamento natural.

Pequeno desvio.

Nada acontece.

Logo, parece seguro.

Repete.

O limite aceitável se move.

Isso alimenta a deriva.

Exemplo:

dataset chega a 80%.

Depois 85%.

Depois 90%.

Nada acontece.

Agora 90 virou normal.

A organização não decidiu formalmente:

“Vamos operar perigosamente.”

Ela apenas atualizou informalmente aquilo que chama de normal.

Essa erosão gradual de restrições é uma das formas pelas quais abordagens sistêmicas descrevem a trajetória em direção à falha. (ScienceDirect)


🚨 Alarm Fatigue entra no barco

Começamos com:

10 alertas importantes.

Depois:

4.000.

Operadores começam a filtrar.

Primeiro mentalmente.

Depois ferramentas.

Depois silenciam alguns.

Essa adaptação é racional.

Ninguém consegue processar milhares de alarmes.

Mas talvez um importante controle de segurança tenha sido progressivamente degradado.

Novamente:

não houve uma reunião chamada:

“Projeto oficial para diminuir nossa capacidade de detectar incidentes.”

Aconteceu organicamente.

Drift.


🤖 Automation Bias também empurra

Automação funciona.

Primeira semana:

humano confere tudo.

Após seis meses:

confere algumas coisas.

Ano seguinte:

olha rapidamente.

Depois:

autoapprove.

Nenhum incidente.

Cada passo parece justificado pelos resultados anteriores.

Agora a organização depende da automação de forma muito maior que originalmente projetado.

Derivou.


⚓ Anchoring Bias conserva velhos mapas

Outro fenômeno.

Arquitetura mudou.

Volume mudou.

Usuários mudaram.

Mas continuamos ancorados em premissas antigas.

“Esse job aguenta.”

Baseado em testes de quando processava 5 milhões.

Agora:

80 milhões.

A âncora psicológica fica.

O sistema real deriva.


🔎 Confirmation Bias protege a trajetória

A equipe acredita:

nossa arquitetura é robusta.

Cada dia sem incidente confirma.

Warnings são reinterpretados:

pontuais.

Atrasos:

sazonais.

Falhas:

humanas.

Near misses:

azar.

Tudo que contradiz a narrativa recebe explicação.

A deriva continua.


👥 Groupthink transforma adaptação em cultura

Uma pessoa questiona:

— Não estamos trabalhando perto demais do limite?

Resposta coletiva:

— Sempre foi assim.

Agora temos consenso.

O desvio ganha proteção social.

Não é apenas operação.

É cultura.


🪜 Authority Gradient impede sinais de subir

Quem está perto do sistema normalmente percebe deriva cedo.

Operador.

Desenvolvedor.

Analista.

Eles veem:

mais retries;

mais ajustes;

mais trabalho manual;

menos margem.

Mas executivos enxergam:

SLA verde.

Availability 99,99%.

Custos menores.

Se existe Authority Gradient forte, a informação não sobe.

Rasmussen justamente destacou a importância de observar os diversos níveis de decisão de um sistema — do trabalho operacional às estruturas organizacionais e regulatórias — e as interações entre esses níveis. (ScienceDirect)


▶️ Plan Continuation Bias empurra depois da fronteira

Quando finalmente aparecem sinais claros:

já investimos muito.

Projeto quase terminou.

Migração está avançada.

Mudança está quase concluída.

Agora Plan Continuation Bias diz:

continuar.

A organização talvez já estivesse derivando durante anos.

A continuação do plano apenas fornece o último empurrão.


🕰️ Hindsight Bias chega depois com uma lupa

E então acontece o acidente.

Todo mundo olha para trás.

— Como ninguém percebeu?

Agora os sinais parecem óbvios:

batch crescendo;

alertas aumentando;

capacidade caindo;

procedimentos sendo abreviados;

turnover;

warnings.

Mas cuidado.

Eles não necessariamente formavam uma narrativa óbvia naquele momento.

Hindsight Bias transforma deriva lenta numa estrada vermelha perfeitamente desenhada.

Na vida real:

era neblina.


👻 Easter Egg nº 1 — A TARDIS pousa um centímetro de cada vez

Imagine a TARDIS tentando chegar ao precipício.

Não pousa diretamente na borda.

Primeiro:

100 km.

Depois:

100 metros.

10 metros.

1 metro.

Nenhum pouso isolado parece absurdo.

Até abrirmos a porta.

Isso é drift.


🔍 Work as Imagined versus Work as Done

No papel:

PROCEDIMENTO

1. Validar arquivo.
2. Reconciliar.
3. Solicitar aprovação.
4. Processar.
5. Validar resultado.

Na prática:

1. Script valida quase tudo.
2. Reconciliação só quando diferença é grande.
3. Aprovação pelo Teams.
4. Processar.
5. Olhar dashboard.

Por que mudou?

Talvez porque:

volume cresceu;

equipe diminuiu;

prazo apertou;

processo oficial ficou impraticável.

Não conclua imediatamente:

pessoas irresponsáveis.

Talvez estejam adaptando-se para conseguir realizar o trabalho.


🧠 Localmente racional

Essa expressão é central para compreender Drift Into Failure.

Muitas decisões que mais tarde contribuem para acidentes eram localmente racionais.

Ou seja:

faziam sentido para a pessoa naquele contexto.

Exemplo:

operador pula verificação.

Por quê?

Porque:

tem 200 jobs;

verificação leva dez minutos;

nunca encontrou problema;

precisa cumprir janela.

Dentro daquele ambiente:

faz sentido.

O problema está no sistema que tornou essa adaptação necessária.


🏗️ Não procure apenas comportamento; procure pressões

Pergunte:

Por que começaram a pular essa etapa?

Resposta pobre:

preguiça.

Talvez.

Mas investigue:

a etapa ficou lenta?

Volume cresceu?

Equipe caiu?

Ferramenta ficou inadequada?

Meta conflitante?

Trabalho virou impossível segundo procedimento oficial?

Essas perguntas encontram drift.


📏 A fronteira de segurança não possui placa

Essa é talvez a parte mais assustadora.

Não existe necessariamente:

ATENÇÃO

VOCÊ ESTÁ A 5 METROS
DA FALHA SISTÊMICA

A fronteira pode ser desconhecida.

Descobrimos sua localização...

quando a atravessamos.

Por isso Rasmussen discutia a necessidade de manter controle sobre sistemas dinâmicos diante de pressões e mudanças, em vez de presumir que limites podem ser totalmente conhecidos e gerenciados por regras estáticas. (ScienceDirect)


🧯 Por isso precisamos de margem

Se não sabemos exatamente onde está o precipício:

não caminhe na borda.

Mantenha buffer.

Em mainframe:

capacidade;

tempo;

storage;

staff;

rollback;

thresholds;

redundância.

Margin is safety.


📊 Leading Indicators versus Lagging Indicators

Outro conceito importante.

Lagging indicator

Mostra algo depois que aconteceu.

Exemplo:

número de incidentes.

Leading indicator

Pode indicar deterioração antes.

Exemplo:

aumento de:

restarts;

warnings;

tempo médio;

intervenção manual;

exceções;

near misses.

Se você monitora apenas:

INCIDENTES ESTE MÊS: 0

pode concluir:

excelente.

Enquanto:

RESTARTS +300%
WARNINGS +80%
MANUAL FIXES +200%

O sistema está gritando.

Ainda sem incidente.


🎯 Ausência de acidente pode esconder deriva

Isso conecta com tudo.

Uma organização pode ficar anos sem grande incidente.

Isso não necessariamente significa:

segurança aumentando.

Talvez risco esteja crescendo silenciosamente.

O sistema ainda não encontrou a combinação final.


🧯 Near Miss é boia na correnteza

Near miss mostra:

chegamos perto.

Em drift, near misses são especialmente preciosos.

Eles ajudam a estimar:

onde talvez esteja a fronteira.

Se quase processamos arquivo errado:

não comemore apenas.

Pergunte:

Por que chegamos tão perto?


🏛️ Acidentes pequenos são mensagens do futuro

Um pequeno incidente pode mostrar mecanismo maior.

Exemplo:

100 registros duplicados.

Corrigido manualmente.

Pergunta:

Isso poderia acontecer com 10 milhões?

Talvez.

Então pequeno incidente é laboratório.


🧠 Drift não significa inevitabilidade

Importante.

Não estamos dizendo:

Todo sistema complexo inevitavelmente falhará.

Estamos dizendo:

sistemas mudam.

Pressões mudam.

Comportamento adapta-se.

Segurança precisa acompanhar.

Uma abordagem sistêmica procura compreender e controlar essas interações e trajetórias, não apenas responsabilizar componentes após o evento. (ScienceDirect)


🧪 Como detectar Drift Into Failure

Agora nosso programador COBOL quer um método.

Excelente.

Passo 1 — Procure tendências de longo prazo

Não apenas hoje versus ontem.

Compare:

6 meses;

1 ano;

3 anos.

Exemplo:

BATCH ELAPSED

2023: 70 min
2024: 88 min
2025: 112 min
2026: 148 min

Isso é drift.


📈 Passo 2 — Monitore margem

Não apenas:

está dentro do limite?

Mas:

quanto sobra?

Exemplo:

SLA LIMIT: 180 min

2023 margin: 110
2024 margin: 92
2025 margin: 68
2026 margin: 32

Ainda dentro.

Mas direção é clara.


🔧 Passo 3 — Conte intervenções manuais

Quantas vezes alguém precisa:

restartar;

ajustar;

limpar;

reprocessar;

corrigir manualmente?

Se aumenta:

sistema pode estar sendo sustentado por esforço humano invisível.


🦸 Heroísmo é métrica de fragilidade

Esse ponto é maravilhoso.

Equipe diz:

— Nunca tivemos indisponibilidade porque Carlos sempre resolve.

Talvez isso signifique:

excelente resiliência humana.

Mas talvez também:

arquitetura depende de Carlos.

Conte heroísmo.

Ele pode ser leading indicator.


📝 Passo 4 — Conte exceções

Quantas exceções temporárias estão abertas?

EXCEPTION-001
EXCEPTION-002
...
EXCEPTION-143

Se sistema depende de 143 exceções:

qual é exatamente a regra?

A exceção pode ter virado arquitetura.


🚨 Passo 5 — Observe warnings normalizados

Faça inventário:

quais sinais são conhecidos e ignorados?

Cada um pode indicar área de drift.


👥 Passo 6 — Pergunte aos operadores

Talvez o dashboard esteja verde.

Pergunte:

“O que ficou mais difícil nos últimos dois anos?”

Essa pergunta pode revelar mais que cinquenta KPIs.

Operadores sentem deriva.


🧠 Passo 7 — Pergunte quais atalhos surgiram

Sem julgamento:

“Que passos vocês precisam adaptar para o trabalho caber na janela?”

Agora você encontra Work as Done.


🗺️ Passo 8 — Faça AcciMap ou mapa sistêmico

Uma extensão importante do trabalho de Rasmussen é o uso de representações como AcciMap, concebidas para mapear atores, decisões, condições e relações através de diferentes níveis do sistema, em vez de limitar a análise à linha de frente. Literatura posterior descreve AcciMap e mapas relacionados como formas de representar cenários de acidente, atores e fluxos de informação. (ResearchGate)

Para nosso exemplo:

REGULAÇÃO
   ↓
DIRETORIA
   ↓
GESTÃO
   ↓
ARQUITETURA
   ↓
OPERAÇÃO
   ↓
COBOL / CICS / DB2

Pergunte em cada nível:

que pressões existem?

que decisões foram tomadas?

que informação sobe?

que informação desce?

Agora vemos sistema.


🧩 Passo 9 — Procure decisões locais que criam risco global

Exemplo:

Infra reduz storage.

Boa decisão local.

Aplicação aumenta logging.

Boa decisão local.

Negócio aumenta retenção.

Boa decisão local.

Juntas:

dataset explode.

Nenhuma equipe estava “errada”.

O sistema emergente ficou frágil.


🕸️ Complexidade produz efeitos emergentes

Isso é central.

Sistemas complexos possuem comportamento que não pode ser compreendido olhando componente por componente isoladamente.

Equipe A otimiza A.

Equipe B otimiza B.

Equipe C otimiza C.

O conjunto produz D.

Ninguém planejou D.

Isso é comportamento emergente.


💻 Exemplo COBOL completo

Imagine um programa criado em 2005.

Inicialmente:

1 milhão de registros
1 arquivo
1 regra fiscal
30 minutos

Em 2026:

48 milhões de registros
17 arquivos
34 regras
6 integrações
2h48

Mas arquitetura central permaneceu.

Ao longo dos anos:

adicionaram copybooks;

IFs;

chamadas;

workarounds;

restarts;

parâmetros.

Nada individualmente absurdo.

Agora qualquer mudança é arriscada.

Isso é uma forma de deriva arquitetural.


🏚️ Technical Debt encontra Drift

Dívida técnica não é exatamente Drift Into Failure.

Mas pode contribuir.

Atalho hoje.

TODO.

Depois outro.

Depois outro.

Sistema continua.

Até mudanças simples exigirem enorme cuidado.

A margem de mudança desaparece.


🧱 Complexidade acidental

Muitas camadas podem acumular-se:

COBOL
→ DB2
→ MQ
→ API
→ gateway
→ cloud
→ parceiro

Cada integração resolve problema.

Também adiciona modos de falha.

O sistema de 2026 pode ser completamente diferente do modelo mental de quem o projetou.


📚 Documentação também deriva

Documento criado em 2018.

Sistema mudou em:

2019;

2020;

2021;

2022;

2024;

Manual:

Agora Work as Imagined e Work as Done vivem em universos paralelos.

Até uma crise.


🧠 Conhecimento tribal

Quando documentação falha, pessoas compensam.

Carlos sabe.

Maria sabe.

João sabe.

Então:

Carlos aposenta.

Maria muda de equipe.

João fica doente.

De repente a redundância humana desapareceu.

Ninguém percebeu porque ela nunca estava formalmente registrada.

Drift.


🪫 Redundância desaparece silenciosamente

Começamos:

3 pessoas sabem.

Depois:

Depois:

Nenhum incidente.

Até precisar.

Mais um exemplo de margem invisível.


🔐 Drift em segurança

Primeiro:

acesso emergencial temporário.

Depois:

não removido.

Segundo usuário recebe.

Depois grupo inteiro.

Motivo:

agilidade operacional.

Nada acontece.

Anos depois:

permissão excessiva virou normal.

Ataque ou fraude encontra porta aberta.

O incidente parece repentino.

A trajetória não era.


🤖 Drift em sistemas de IA

Agentes tornam isso ainda mais interessante.

Primeiro agente:

só recomenda.

Depois:

executa tarefas pequenas.

Depois:

executa mudanças.

Depois:

aprovação automática em certos casos.

Cada extensão parece pequena.

Talvez nenhum momento tenha existido em que a organização conscientemente disse:

“Vamos delegar grande autoridade.”

Autonomia cresceu incrementalmente.

Isso também precisa de controle de drift.


🔁 Capability Creep

Ferramenta começou fazendo A.

Depois B.

Depois C.

Agora toma decisão crítica.

Permissões cresceram junto.

Isso é capability creep.

Pergunte periodicamente:

“Este sistema hoje possui mais poder que quando fizemos sua avaliação de risco?”

Ótima pergunta.


🎯 Pergunta Bellacosa nº 1

Pergunte:

“O que hoje consideramos normal que seria considerado preocupante três anos atrás?”

Essa pergunta encontra deriva.


🎯 Pergunta Bellacosa nº 2

Outra:

“Que margem tínhamos antes e não temos mais?”

Tempo?

Capacidade?

Pessoas?

Rollback?

Dinheiro?

Conhecimento?


🎯 Pergunta Bellacosa nº 3

Outra:

“O que precisamos fazer manualmente hoje apenas para manter tudo funcionando?”

Isso revela adaptações invisíveis.


🎯 Pergunta Bellacosa nº 4

E talvez a mais poderosa:

“Se montássemos este sistema do zero hoje, aceitaríamos operá-lo desta maneira?”

Se resposta for não:

provavelmente aconteceu alguma deriva.


🧪 Passo 10 — Crie indicadores de drift

Exemplos:

batch margin
capacity margin
manual intervention count
alert volume
restart frequency
exception count
near miss rate
staff coverage
rollback time
test coverage trend
documentation age

Não espere incidente.

Observe trajetória.


📊 Não monitore apenas estado; monitore derivada

Uma pequena brincadeira matemática.

Não importa apenas:

X

Importa:

dX/dt

Ou seja:

a direção da mudança.

CPU 70% talvez seja normal.

CPU:

40 → 48 → 56 → 63 → 70

conta outra história.

O mainframeiro precisa aprender a enxergar movimento.


🧭 Trending is storytelling

Um único número é fotografia.

Uma tendência é filme.

Drift vive no filme.

Não na fotografia.


📅 Revisões temporais

Crie revisão semestral:

o que mudou?

Não apenas:

houve incidente?

Pergunte:

capacidade;

arquitetura;

pessoas;

volume;

processo;

risco.

A segurança de dois anos atrás pode não existir mais.


🧯 Safety Margin Review

Uma revisão específica:

MARGIN REVIEW

CPU headroom
Storage headroom
Batch window
Rollback margin
Staff redundancy
Provider capacity

Verde não significa:

“não atingimos limite.”

Verde significa:

“temos margem adequada.”

Muito mais inteligente.


🚦 Green não deveria significar “ainda não morreu”

Isso conecta com Automation Bias.

Dashboard verde porque:

uso < 100%.

Mas storage em 97%.

Tecnicamente:

ainda funciona.

Operacionalmente:

talvez estejamos na borda.

Dashboard precisa refletir margem.


👀 Weak Signals novamente

Sinais fracos são a linguagem do drift.

Exemplos:

mais chamadas;

mais reclamações pequenas;

mais exceções;

mais warnings;

mais tempo;

mais trabalho manual;

mais dependência de especialistas.

Individualmente:

nada.

Juntos:

trajetória.


🧠 Pattern Recognition organizacional

Precisamos ensinar equipes a perguntar:

“Esses eventos separados fazem parte do mesmo movimento?”

É aí que incident management vira systems thinking.


🧬 Resilience Engineering

A resposta ao drift não é construir regras infinitas.

Sistemas reais mudam.

Precisamos capacidade de:

detectar;

adaptar;

absorver;

recuperar;

aprender.

Essa perspectiva está alinhada à tradição de engenharia de resiliência e às abordagens sistêmicas que tratam segurança como uma propriedade dinâmica do sistema, e não apenas como ausência de componentes quebrados. (Lund University Publications)


🔄 Regeneração organizacional

Como regenerar um sistema que está derivando?

Não procure apenas:

“qual componente substituir?”

Pergunte:

  • quais pressões existem?

  • quais margens desapareceram?

  • quais adaptações surgiram?

  • quais barreiras enfraqueceram?

  • quais métricas estão piorando?

  • que conhecimento desapareceu?

  • quais exceções viraram regra?

Depois:

restaure margem;

simplifique;

automatize onde faz sentido;

melhore observabilidade;

documente;

reduza ruído;

treine;

reavalie capacidade;

fortaleça barreiras.

Isso é regeneração de verdade.


📋 Checklist anti-Drift

Periodicamente:

[ ] Nosso volume cresceu?

[ ] Nossa arquitetura mudou?

[ ] Nossa margem operacional caiu?

[ ] Existem mais intervenções manuais?

[ ] Existem mais warnings?

[ ] Existem mais exceções permanentes?

[ ] Rollback ficou mais difícil?

[ ] Equipe perdeu conhecimento?

[ ] Documentação representa a realidade?

[ ] Near misses estão aumentando?

[ ] Estamos operando mais perto de limites?

[ ] Alguma prática que antes era proibida virou normal?

[ ] Se começássemos hoje, aceitaríamos este estado?

Se muitas respostas incomodarem...

não espere ABEND.


👽 Easter Egg nº 2 — A fronteira invisível

O Doctor aponta para o chão.

— Aqui é seguro.

Dá um passo.

— Aqui também.

Outro.

— Também.

Outro.

— Ainda seguro.

Companion:

— Então podemos continuar.

O Doctor responde:

— Não necessariamente.

— Por quê?

— Porque acabamos de provar onde estivemos.

Pausa.

— Não onde está a borda.

Essa frase deveria morar em todo data center.


🧠 Safety não é extrapolação infinita do sucesso

100 execuções sem falha provam:

o sistema sobreviveu a 100 execuções dentro daquelas condições.

Não provam:

segurança eterna.

Condições mudam.

Volume muda.

Pessoas mudam.

Software muda.

Organização muda.

O sucesso passado é dado.

Não garantia.


🏦 Drift no banco

Vamos imaginar fechamento financeiro.

Ano 1:

10 milhões de movimentos.

Ano 5:

50 milhões.

Equipe continua igual.

Batch maior.

Margem menor.

Mais restarts.

Mais procedimentos manuais.

Mas SLA continua verde.

Diretoria:

operação excelente.

Talvez.

Ou talvez uma equipe heroica esteja segurando um sistema cada vez mais próximo da fronteira.

Precisamos saber qual.


🦸 Não use pessoas para esconder dívida sistêmica

Profissionais extraordinários conseguem compensar sistemas ruins por anos.

Depois alguém pergunta:

“Por que nunca tivemos problema?”

Resposta:

porque Ana, Carlos e João impediam diariamente.

Isso é sucesso humano.

E risco organizacional.


🔬 Investigue o trabalho que evita incidentes

Isso é fantástico.

Não estude apenas falhas.

Estude:

por que normalmente dá certo?

Que adaptações os operadores fazem?

Que verificações extras?

Que telefonemas?

Que planilhas?

Que memórias?

Talvez sua verdadeira arquitetura de segurança não esteja no Visio.

Está nas pessoas.


🧠 Safety-II

Essa ideia conversa com perspectivas modernas de segurança que não olham apenas para o que deu errado, mas também para como o trabalho cotidiano consegue ter sucesso apesar de variabilidade e pressão.

Pergunta:

“Como as pessoas normalmente evitam que isso quebre?”

Você descobrirá mecanismos de resiliência.

Depois poderá fortalecê-los.


🛑 Drift precisa de contraforças

Pressões empurram:

mais barato;

mais rápido;

mais produção.

Então precisamos de forças conscientes puxando de volta:

revisões;

buffers;

standards;

limites;

auditoria;

capacity planning;

resilience reviews;

stop authority.

Sem contraforça:

a eficiência naturalmente consome margem.


💸 Segurança parece cara antes do incidente

Redundância custa.

Pessoas extras custam.

Capacidade livre custa.

Testes custam.

Rollback custa.

Observabilidade custa.

Depois do acidente:

parecem baratos.

Nosso Hindsight Bias dá risada.


📓 Diário do Doctor

Se guardar apenas algumas ideias desta viagem, guarde estas:

Drift Into Failure descreve a trajetória gradual pela qual sistemas complexos podem aproximar-se da falha.

Nem sempre existe uma única decisão absurda ou um único culpado.

Decisões localmente racionais podem produzir risco global.

Pressões de custo, produtividade e carga de trabalho alteram o comportamento do sistema ao longo do tempo.

Margem de segurança pode desaparecer silenciosamente.

Normalization of Deviance ajuda a deslocar a fronteira do aceitável.

Alarm Fatigue degrada detecção.

Automation Bias pode reduzir independência humana.

Authority Gradient impede sinais de subir.

Plan Continuation Bias dificulta parar quando finalmente percebemos o risco.

Near misses e sinais fracos mostram a trajetória.

Monitore tendências e margens, não apenas falhas.

E principalmente:

Sistemas raramente acordam numa terça-feira e decidem tornar-se perigosos. Eles podem passar anos aprendendo, pouco a pouco, a operar cada vez mais perto do limite.


🕰️ A TARDIS volta três anos

Nosso programador COBOL entra com o Doctor.

VWORP.

Três anos antes.

O batch termina:

01:31

Doctor:

— Algum problema?

— Não.

Dois anos antes:

01:57

— Problema?

— Ainda não.

Um ano:

02:24

— Problema?

— Não.

Seis meses:

02:46

Agora:

03:02

O jovem observa.

— Então o incidente começou quando o job ficou mais lento?

— Talvez não.

O Doctor abre outra timeline.

Equipe:

8 pessoas
→ 7
→ 6
→ 5

Outra.

Warnings:

12/mês
→ 48
→ 110
→ 390

Outra.

Exceções:

2
→ 7
→ 19
→ 43

Outra.

Intervenções manuais:

1/semana
→ 2
→ 5
→ diária

O programador fica em silêncio.

— Então qual dessas coisas causou o incidente?

O Doctor sorri.

— Talvez essa seja a pergunta errada.

— Qual seria a certa?

Ele aponta para todas as telas.

“Que sistema produz todas essas coisas ao mesmo tempo?”

Agora nosso jovem entende.

Não existe apenas uma seta:

ERRO
↓
INCIDENTE

Existe uma paisagem.

Pressões.

Adaptações.

Compromissos.

Perda de margem.

Decisões.

Sinais.

Tempo.

O acidente foi apenas o instante em que a trajetória finalmente cruzou uma fronteira.


🥚 Easter Egg final

De volta a 2026, nosso programador encontra:

BELLACOSA.SYSTEMS(DRIFT)

Dentro:

       IF SYSTEM-STATUS = 'OK'
           PERFORM CHECK-TREND
       END-IF.

       IF MARGIN < LAST-YEAR
           PERFORM INVESTIGATE
       END-IF.

       IF EVERYONE-SAYS
           'IT STILL WORKS'
           PERFORM ASK-HOW-CLOSE
       END-IF.

Comentário:

* SUCCESS TODAY
* DOES NOT DEFINE
* THE LOCATION OF TOMORROW'S BOUNDARY.

Logo abaixo:

* WATCH THE TRAJECTORY.
* NOT ONLY THE CRASH.

E naturalmente:

* BAD WOLF WAS HERE.

Nosso programador fecha o membro.

O console mostra:

SYSTEM STATUS: GREEN

Ele quase sorri.

Depois lembra de Automation Bias.

Abre tendência.

BATCH MARGIN
12 MONTHS AGO: 91 MIN
TODAY:         34 MIN

Abre warnings.

Subiram.

Abre restarts.

Subiram.

Abre exceções.

Subiram.

Nenhum incidente.

Ainda.

Ele chama o operador.

— Temos um problema?

O operador olha.

— Nada caiu.

Nosso programador responde:

— Eu sei.

Pausa.

— É justamente por isso que talvez seja uma boa hora para conversar.

Em algum lugar do espaço-tempo ouvimos:

VWORP.

VWORP.

VWORP.

A TARDIS desaparece.

Nenhum incidente ocorreu.

Nenhum cliente reclamou.

Nenhuma War Room abriu.

E talvez esta seja a mais importante vitória de toda nossa série:

perceber a trajetória antes de precisar estudar os destroços.

☕🌀

Next stop: Diffusion of Responsibility — quando todo mundo recebeu o alerta, todo mundo viu o problema e todo mundo tinha certeza de que outra pessoa estava cuidando.


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