☕ 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

sexta-feira, 12 de julho de 2024

Do COBOL ao Container sem cair do Sysplex: zCX, Kubernetes/OpenShift e Ansible para IBM Z e LinuxONE

 

Bellacosa Mainframe do cobol ao container 

☕ Um café no Bellacosa Mainframe

Do COBOL ao Container sem cair do Sysplex

zCX, Kubernetes/OpenShift e Ansible para IBM Z e LinuxONE — fundamentos para quem conhece muito bem o mainframe, mas resolveu atravessar a fronteira do mundo cloud-native

Imagine a cena.

Você passou décadas aprendendo que produção não é playground.

Conhece JOB, STEP, DD, PROC, catalogação, RACF, CICS, Db2, JES2, SDSF, WLM, Sysplex, datasets, USS e provavelmente consegue desconfiar de um S0C7 antes mesmo de alguém terminar de explicar o incidente.

Então chega alguém e diz:

“Agora vamos colocar a aplicação num container, subir num pod, criar um deployment, colocar num cluster Kubernetes, rodar no OpenShift e automatizar tudo com Ansible.”

O COBOLzeiro olha.

Olha novamente.

E pergunta:

“Mas onde está o JCL?”

É justamente aí que começa esta viagem.



CAPÍTULO 1 — IBM z/OS Container Extensions — zCX

Quando colocaram Linux dentro do z/OS e ninguém precisou pedir desculpas ao JES

1. O que diabos é zCX?

IBM z/OS Container Extensions, normalmente chamado simplesmente de zCX, é uma tecnologia que permite executar aplicações Linux empacotadas em containers dentro de um ambiente hospedado pelo próprio z/OS.

A IBM introduziu zCX como recurso do z/OS 2.4, lançado em 2019. A ideia era permitir que software originalmente construído para Linux on Z pudesse trabalhar muito próximo das aplicações tradicionais do z/OS sem obrigatoriamente exigir o provisionamento de uma LPAR Linux separada.

Isso merece ser repetido porque é justamente onde muitos mainframers erram:

zCX não transforma z/OS em Linux.

E:

um container Linux executado em zCX continua sendo um container Linux.

O que acontece é mais interessante.

O z/OS fornece uma infraestrutura especializada dentro da qual existe um ambiente Linux preparado para executar containers.

A IBM descreve cada instância zCX como uma instância executada em um address space do z/OS, representando um servidor virtual capaz de hospedar aplicações containerizadas.

Para um COBOLzeiro, podemos começar com esta representação mental:

IBM Z
│
├── LPAR z/OS
│   │
│   ├── JES2
│   ├── CICS
│   ├── Db2
│   ├── IMS
│   ├── USS
│   │
│   └── zCX
│       │
│       └── Linux
│           │
│           ├── Container A
│           ├── Container B
│           └── Container C
│
└── outras LPARs

Não é tecnicamente uma descrição completa da implementação, mas é uma excelente primeira fotografia mental.



2. Antes de zCX: por que alguém precisaria disso?

Suponha que uma aplicação COBOL execute no CICS e precise chamar um componente escrito em Java, Go, Python ou Node.js.

Tradicionalmente você poderia ter:

CICS
 |
TCP/IP
 |
Firewall / switch / network
 |
Servidor Linux
 |
Aplicação

Nada errado.

Milhares de arquiteturas funcionam assim.

Mas existe um problema interessante chamado distância computacional.

Quanto mais longe você coloca um componente dos dados e das transações:

  • mais rede;

  • mais latência;

  • mais infraestrutura;

  • mais administração;

  • mais pontos de falha;

  • mais segurança;

  • mais troubleshooting.

O zCX apresenta outra possibilidade:

COBOL / CICS / Db2
        |
        |
      z/OS
        |
       zCX
        |
Container Linux

Você aproxima determinado software Linux do universo z/OS.

Essa é uma das ideias fundamentais da modernização do mainframe:

modernizar não significa necessariamente retirar o processamento do mainframe.

Às vezes modernizar significa trazer o componente moderno até onde os dados já estão.



3. A analogia para quem conhece CICS

Imagine um programador COBOL perguntando:

“Container é um address space?”

Não.

Mas existe uma analogia útil.

Um programa COBOL executando sob CICS não precisa carregar consigo:

  • sistema operacional;

  • scheduler;

  • TCP/IP;

  • dispositivos;

  • gerenciamento de memória completo;

  • infraestrutura de segurança do sistema.

O ambiente fornece tudo isso.

Containers seguem parcialmente essa filosofia:

Aplicação
+
bibliotecas
+
dependências
+
configuração

são empacotadas como uma unidade reproduzível.

O container utiliza serviços fornecidos pelo sistema onde é executado.

A grande diferença é que containerização foi construída para tornar aplicações portáveis e reproduzíveis.

O mantra é:

“Funcionou neste ambiente? O mesmo artefato deverá funcionar naquele.”

Não significa que toda aplicação seja magicamente portátil entre arquiteturas de processador.

Aqui aparece uma palavra fundamental para IBM Z:

s390x

Containers executados no IBM Z normalmente precisam possuir imagens compatíveis com arquitetura s390x.

Um container compilado exclusivamente para x86_64 não ganha poderes mágicos ao atravessar a porta do mainframe.



4. Easter egg nº 1 — container não é máquina virtual

Essa confusão é tão comum que vale tatuar no monitor.

Uma VM normalmente possui:

Hardware
 └─ Hypervisor
     ├─ VM
     │   ├─ Kernel
     │   └─ Aplicações
     └─ VM
         ├─ Kernel
         └─ Aplicações

Containers normalmente compartilham recursos do sistema operacional subjacente:

Sistema operacional
 └─ Runtime de containers
     ├─ Container
     ├─ Container
     └─ Container

zCX adiciona uma camada interessante porque oferece o ambiente Linux necessário para esses containers dentro do universo operacional do z/OS.

Portanto:

container ≠ VM
zCX ≠ uma simples VM Linux comum
zCX ≠ Docker instalado diretamente no kernel do z/OS

Esta última distinção é importantíssima.



5. O z/OS virou Docker?

Não.

Historicamente zCX forneceu um ambiente Linux voltado à execução de aplicações gerenciadas como containers Docker. A própria documentação IBM descreve zCX dessa forma.

Mas o ecossistema atual ficou mais interessante.

Hoje a IBM documenta separadamente:

z/OS Container Extensions — zCX
zCX for OpenShift
IBM z/OS Container Platform

E isso pode confundir até profissional experiente.

A IBM inclusive diferencia explicitamente as opções modernas de containerização:

  • Red Hat OpenShift em Linux x86 ou Linux s390x;

  • zCX com Linux s390x sobre z/OS;

  • IBM z/OS Container Platform com containers nativos do z/OS.

Portanto nunca use “container no mainframe” como se fosse uma arquitetura única.

Pergunte:

Container onde?



6. As quatro fronteiras que o COBOLzeiro precisa enxergar

Fronteira A — z/OS

Aqui vivem:

COBOL
PL/I
Assembler
CICS
IMS
Db2
VSAM
JES2
RACF
USS
MQ
z/OS Connect

É o mundo transacional tradicional.


Fronteira B — zCX

Está associado ao z/OS, mas fornece execução Linux/containerizada.

Visualize:

z/OS
 |
 +---- traditional workloads
 |
 +---- zCX
         |
         Linux container workload

Fronteira C — Linux on IBM Z

Agora temos Linux executando como sistema operacional sobre IBM Z.

Por exemplo:

IBM Z
 |
 LPAR
 |
 Linux
 |
 OpenShift

Aqui não estamos dentro do z/OS.

Estamos usando a arquitetura IBM Z para executar Linux.

Essa distinção parece óbvia depois que você entende.

Antes disso ela destrói metade dos diagramas PowerPoint corporativos.


Fronteira D — LinuxONE

LinuxONE é uma família IBM criada especificamente para workloads Linux.

A IBM introduziu LinuxONE em agosto de 2015.

Conceitualmente:

IBM Z
    → z/OS + Linux

LinuxONE
    → Linux

É uma simplificação proposital, mas excelente para começar.

LinuxONE utiliza tecnologia derivada da plataforma IBM Z, porém é posicionado para ambientes Linux e cloud.

Em 2026, a família atual inclui IBM LinuxONE 5, baseada no Telum II.


7. Para que zCX serve?

Pense principalmente em aplicações que precisam:

executar software Linux próximo do z/OS

Um serviço auxiliar pode ficar muito próximo das aplicações e dados tradicionais.

modernizar sem mover os sistemas de registro

Você mantém:

CICS
Db2
IMS
COBOL

e adiciona:

API
microservice
middleware
agent
software Linux

reduzir infraestrutura separada em certos casos

Nem todo componente precisa necessariamente de outra LPAR Linux.

construir pontes entre gerações

Exemplo conceitual:

Aplicativo Web
      |
      v
    API
      |
 z/OS Connect
      |
   COBOL/CICS
      |
     Db2

Alguns componentes auxiliares podem executar próximos ao backend, inclusive utilizando tecnologias Linux.


8. O que NÃO colocar automaticamente no zCX?

Aqui começa a arquitetura de verdade.

Não olhe para zCX e pense:

“Excelente, vamos meter tudo dentro.”

Não.

Pergunte:

  1. A imagem existe para s390x?

  2. O fornecedor certifica essa plataforma?

  3. Qual o consumo de CPU?

  4. Qual o consumo de memória?

  5. Qual a latência necessária?

  6. Há dependência com hardware específico?

  7. A aplicação precisa de Kubernetes?

  8. Existe necessidade de autoscaling?

  9. O workload é stateful?

  10. Quem operará o ambiente?

Containerização não elimina decisões arquiteturais.

Ela apenas muda o lugar onde você cometerá os erros.


9. zCX versus OpenShift

Talvez essa seja a pergunta mais importante deste capítulo.

zCX

Pense:

“Preciso executar containers Linux próximos ao z/OS.”

OpenShift

Pense:

“Preciso administrar aplicações containerizadas distribuídas como uma plataforma.”

OpenShift resolve um problema muito maior.

Ele pensa em:

clusters
nodes
pods
services
deployments
replicas
operators
storage
networking
security
upgrades
observability
lifecycle

A IBM também oferece e documenta arquitetura de referência para Red Hat OpenShift Container Platform sobre IBM Z e LinuxONE.

Além disso, existe zCX Foundation for Red Hat OpenShift, portanto a fronteira não deve ser reduzida à ideia “zCX jamais tem OpenShift”. A própria instrumentação moderna do z/OS diferencia instâncias zCX for Containers, zCX for OpenShift e a appliance relacionada ao z/OS Container Platform.

Isso demonstra como o ecossistema evoluiu desde o zCX original de 2019.


10. Passo a passo mental do zCX

Para começar os estudos, não tente instalar nada ainda.

Primeiro memorize esta sequência:

Passo 1 — existe IBM Z

Hardware.

Passo 2 — existe uma LPAR z/OS

Sistema operacional.

Passo 3 — zCX é provisionado dentro desse universo

O z/OS administra sua existência operacional.

Passo 4 — surge um ambiente Linux

Ele fornece o ambiente necessário para software Linux.

Passo 5 — containers executam ali

As imagens precisam ser adequadas à arquitetura.

Passo 6 — networking conecta os mundos

Container precisa conversar com:

CICS
Db2
IMS
MQ
APIs
Internet
outros servidores

É justamente por isso que networking se torna disciplina central.

A documentação IBM dedica uma seção específica à arquitetura de rede do zCX.


11. Easter egg nº 2 — USS não é zCX

Outro erro maravilhoso.

“Mas z/OS já tinha Unix System Services. Para que Linux?”

Porque:

USS ≠ Linux

USS fornece ambiente POSIX dentro do z/OS.

Linux é outro sistema operacional.

Você pode ter:

z/OS
 ├─ MVS
 ├─ USS
 └─ zCX
      └─ Linux

Um shell parece um shell.

ls parece ls.

Isso não transforma os ambientes na mesma coisa.

É como encontrar duas pessoas usando boina e concluir que ambas são francesas.


12. Onde o COBOL entra nessa história?

Em todo lugar.

O erro de marketing é mostrar containers como substitutos para COBOL.

Na prática muitas arquiteturas modernas são:

Mobile
 |
API Gateway
 |
Microservices
 |
Kafka / MQ
 |
z/OS Connect
 |
CICS
 |
COBOL
 |
Db2

O container frequentemente não substitui o sistema transacional.

Ele amplia o ecossistema em volta dele.

Esta é uma das ideias mais importantes para o mainframer moderno:

mainframe modernization não significa obrigatoriamente mainframe migration.


13. Checklist do Padawan zCX

Antes de avançar, você deveria conseguir responder:

  • O que é zCX?

  • Em qual release do z/OS apareceu?

  • Por que zCX possui Linux?

  • Qual a diferença entre USS e Linux?

  • O que significa s390x?

  • Container é VM?

  • Qual a diferença entre Linux on Z e z/OS?

  • LinuxONE executa z/OS?

  • Onde OpenShift entra?

  • Por que latência e proximidade de dados importam?

Se essas respostas estiverem claras, você ganhou seu primeiro sabre de luz containerizado.


CAPÍTULO 2 — Kubernetes e Red Hat OpenShift Container Platform

Quando alguém percebeu que administrar 3 containers era divertido e 30.000 era um pesadelo

Imagine que você tenha um container.

Tudo lindo.

docker run minha-app

Ele funciona.

Agora o gerente pergunta:

“E se cair?”

Você reinicia.

“E se precisarmos de dez?”

Você inicia dez.

“E se uma máquina morrer?”

Você transfere.

“E se precisarmos atualizar sem parar?”

Você começa a suar.

“E se tivermos 6.000 containers em 400 máquinas?”

Nesse momento nasceu a necessidade conceitual do Kubernetes.


14. Kubernetes: o JES2 dos containers?

A comparação não é perfeita.

Mas para um mainframer ela é deliciosa.

Você não entrega cada batch diretamente ao processador.

Você submete trabalho e deixa toda uma infraestrutura decidir como executá-lo.

Kubernetes faz algo filosoficamente semelhante para aplicações containerizadas.

Você declara:

“Quero três instâncias desta aplicação funcionando.”

Kubernetes tenta manter esse estado.

Isso é chamado de:

Desired State

Você não descreve cada pequena operação.

Você declara o estado esperado.

Por exemplo:

replicas: 3

Quer dizer conceitualmente:

“Kubernetes, mantenha três cópias funcionando.”

Se uma morrer:

Esperado: 3
Real:     2

O sistema tenta reconciliar:

Real → 3

Isso é reconciliation.

Um mainframer pode pensar:

“Então existe uma espécie de automação permanentemente verificando se o estado real corresponde ao planejado?”

Exatamente.


15. Quando Kubernetes apareceu?

O projeto Kubernetes nasceu no Google e foi aberto publicamente em 2014.

A versão Kubernetes 1.0 foi lançada em 21 de julho de 2015, quando o projeto também passou para a recém-formada Cloud Native Computing Foundation.

O DNA veio de experiências anteriores do Google administrando enormes quantidades de workloads containerizados.

E aqui temos uma curiosidade histórica maravilhosa:

“kubernetes” vem do grego e significa aproximadamente:

timoneiro / piloto.

Por isso o símbolo do Kubernetes é um timão.

K8s?

São oito letras entre:

K
ubernete
s

K + 8 letras + S.

Assim nasceu K8s.

Um legítimo Easter egg nerd.


16. O que Kubernetes administra?

Pense nesta hierarquia simplificada:

Cluster
 |
 +--- Node
 |     |
 |     +--- Pod
 |           |
 |           +--- Container
 |
 +--- Node
       |
       +--- Pod
             |
             +--- Container

Agora traduziremos.

Cluster

O conjunto total administrado.

Node

Uma máquina participante.

Pode ser física ou virtual dependendo da arquitetura.

Pod

A menor unidade normalmente programada pelo Kubernetes.

Um pod pode conter um ou mais containers que precisam compartilhar contexto de execução.

Container

Sua aplicação empacotada.


17. Easter egg nº 3 — Kubernetes não agenda containers diretamente

Muita apresentação diz:

“Kubernetes agenda containers.”

Tecnicamente, a unidade fundamental de scheduling é o:

Pod.

Por isso o modelo mental correto é:

Kubernetes
   ↓
  Pod
   ↓
Container

Parece preciosismo.

Até você precisar diagnosticar produção.


18. Deployment

Agora aparece algo que qualquer mainframer reconhecerá filosoficamente.

Você não quer dizer:

“Execute exatamente este processo.”

Você quer declarar:

“Esta aplicação deve existir desta maneira.”

Deployment especifica coisas como:

imagem
número de réplicas
estratégia de atualização
configuração

Por exemplo:

replicas: 3

O Kubernetes criará recursos para atingir esse estado.


19. Service

Pods podem morrer e renascer.

Endereços podem mudar.

Se outro sistema dependesse diretamente de cada pod, seria caos.

Service cria uma abstração de acesso.

Mentalmente:

Cliente
   |
Service
   |
+--+--+
|  |  |
Pod Pod Pod

O Service oferece um ponto lógico estável.

Mainframer lendo isso provavelmente pensa:

“VIPA?”

Não é a mesma implementação, mas a analogia ajuda.

Uma identidade lógica desacopla o cliente da instância física específica.


20. ConfigMap e Secret

Você não quer colocar dentro da imagem:

hostname
URL
configuração ambiental
senha
token
certificado

ConfigMaps guardam configuração não secreta.

Secrets representam informações sensíveis.

A filosofia é separar:

APPLICATION
      +
CONFIGURATION

Isso lembra práticas antigas do mainframe.

COBOL experiente sempre soube que hardcode de ambiente é receita para desastre.

O cloud-native apenas redescobriu a pólvora usando YAML.


21. O que é OpenShift?

Agora chegamos ao ponto crucial.

OpenShift não é simplesmente outro Kubernetes concorrente.

O Red Hat OpenShift Container Platform é uma plataforma empresarial construída sobre Kubernetes e Red Hat Enterprise Linux, adicionando componentes, processos de instalação, lifecycle management, segurança, ferramentas para desenvolvedores e recursos operacionais.

Uma simplificação:

Kubernetes
+
RHEL / CoreOS
+
security
+
registry/integration
+
operators
+
developer tooling
+
networking
+
observability
+
enterprise lifecycle
=
OpenShift

Não é uma fórmula literal.

É um mapa mental.


22. Quando OpenShift nasceu?

Aqui existe um pequeno detalhe histórico interessante.

OpenShift apareceu originalmente em 2011 como plataforma PaaS da Red Hat.

O OpenShift 1.0 foi lançado em 2012.

Então Kubernetes apareceu.

A Red Hat decidiu padronizar OpenShift sobre Kubernetes em 2014, culminando no OpenShift 3.0 em junho de 2015, já baseado em Kubernetes.

Isso explica algo que confunde iniciantes:

OpenShift é mais antigo que Kubernetes, mas o OpenShift moderno utiliza Kubernetes como fundação.


23. Kubernetes versus OpenShift para o COBOLzeiro

Imagine:

Kubernetes

Motor.

OpenShift

Carro completo.

O motor é fundamental.

Mas você também precisa:

painel
freio
cinto
direção
controle
instrumentação
manutenção
documentação

Outra analogia:

Kubernetes ≈ kernel + mecanismos de orquestração

OpenShift ≈ plataforma operacional Kubernetes empresarial

Também é simplificada, mas útil.


24. IBM Z entra onde?

OpenShift pode executar sobre Linux na arquitetura IBM Z.

A IBM e a Red Hat mantêm documentação específica para OpenShift Container Platform sobre IBM Z e IBM LinuxONE, incluindo arquiteturas de referência, sizing e performance.

Arquitetura conceitual:

IBM Z
 |
 +--- LPAR Linux
 |      |
 |      +--- OpenShift Node
 |
 +--- LPAR Linux
 |      |
 |      +--- OpenShift Node
 |
 +--- LPAR z/OS
        |
        +--- CICS
        +--- IMS
        +--- Db2
        +--- COBOL

Observe a beleza disso.

Você pode ter OpenShift e z/OS extremamente próximos fisicamente.


25. E LinuxONE?

LinuxONE foi construído especificamente para Linux.

Portanto:

LinuxONE
 |
 Linux
 |
 OpenShift
 |
 Kubernetes
 |
 Pods
 |
 Containers

é uma combinação natural.

A IBM documenta explicitamente OpenShift sobre ambos, IBM Z e LinuxONE.

Agora surge uma arquitetura interessante:

                  ENTERPRISE
                      |
             Red Hat OpenShift
                      |
        +-------------+-------------+
        |                           |
    LinuxONE                      IBM Z
        |                           |
 Linux workloads                z/OS
                                |
                        +-------+-------+
                        |       |       |
                       CICS    IMS     Db2
                        |
                      COBOL

Isso é hybrid cloud sem precisar imaginar que “cloud” obrigatoriamente significa AWS.


26. O grande conceito: Hybrid Cloud

Cloud não é simplesmente:

“computador de outra pessoa.”

Essa piada é boa, mas incompleta.

O conceito moderno envolve:

automação
elasticidade
APIs
self-service
orquestração
padronização
infraestrutura declarativa

Você pode aplicar vários desses princípios on-premises.

Por isso OpenShift é tão importante para IBM Z.

Ele cria uma camada operacional padronizada que pode existir:

datacenter
IBM Z
LinuxONE
x86
public cloud
edge

O objetivo é diminuir diferenças operacionais para aplicações.


27. Mas meu COBOL vai rodar dentro do Kubernetes?

Talvez.

Mas essa não é a pergunta certa.

A pergunta correta é:

qual componente deveria executar onde?

Talvez:

COBOL → CICS
Db2 → z/OS
API → z/OS Connect
Kafka connector → OpenShift
Frontend → OpenShift
AI service → OpenShift
Batch → z/OS

Arquitetura híbrida madura não é religião.

É engenharia.


28. OpenShift não substitui z/OS

Isso merece um letreiro luminoso.

OpenShift resolve problemas diferentes.

z/OS oferece qualidades extraordinárias para:

transaction processing
workload management
security
availability
data integrity
batch processing
high-volume I/O

OpenShift oferece uma plataforma fantástica para:

cloud-native apps
microservices
containers
CI/CD
declarative deployments
horizontal scaling
operators
DevSecOps

Junte as duas coisas.

Não transforme arquitetura em Fla-Flu.


29. Easter egg nº 4 — COBOL já conhecia “orquestração”

Quando alguém disser:

“Orquestração é um conceito totalmente novo da cloud.”

O mainframer pode sorrir silenciosamente.

Porque há décadas você possui:

JES
WLM
Schedulers
Automation
Sysplex
GDG
catalogação
resource management

Claro que não são Kubernetes.

Mas o problema fundamental:

“Como coordenar enormes quantidades de trabalho em infraestrutura compartilhada?”

é muito mais antigo que Kubernetes.

Cloud-native não inventou gerenciamento de workloads.

Criou novas abstrações para um novo modelo de aplicações.


30. O primeiro laboratório mental

Pegue uma aplicação:

bellacosa-api

Imagem:

bellacosa-api:v1

Crie um deployment:

Deployment
replicas = 3

Kubernetes cria:

Pod 1 → bellacosa-api:v1
Pod 2 → bellacosa-api:v1
Pod 3 → bellacosa-api:v1

Um pod morre:

Pod 1
Pod 2
X

Kubernetes observa:

Desejado = 3
Atual = 2

Cria outro:

Pod 1
Pod 2
Pod 4

Agora você entendeu talvez 30% da filosofia Kubernetes.

E esses 30% valem mais que decorar cinquenta comandos kubectl.


31. Próximo passo: Service

           Service
              |
     +--------+--------+
     |        |        |
    Pod      Pod      Pod

Usuário não precisa saber qual pod respondeu.

Isso permite escalabilidade e substituição dinâmica.


32. Próximo passo: atualização

Versão atual:

v1
v1
v1

Queremos:

v2
v2
v2

Um deployment pode realizar atualização gradual:

v1 v1 v1
v1 v1 v2
v1 v2 v2
v2 v2 v2

Esse é o famoso:

rolling update.

Mainframer imediatamente enxerga o valor:

reduzir indisponibilidade durante deploy.


33. Operators — quando Kubernetes aprende procedimentos

Operator é um conceito extremamente interessante para sysprogs.

Imagine transformar conhecimento operacional em software.

Algo como:

se condição A:
    faça B

se B falhar:
    execute C

para upgrade:
    valide D
    migre E
    reinicie F

Operators codificam conhecimento operacional especializado usando os mecanismos de controle do Kubernetes.

Para quem passou anos carregando procedimentos em runbooks ou na cabeça do sysprog João que “não pode tirar férias porque só ele sabe reiniciar aquilo”, Operators são quase poesia.


34. O que aprender primeiro?

Não comece por OpenShift inteiro.

Comece nesta ordem:

1. container
2. image
3. registry
4. pod
5. node
6. cluster
7. deployment
8. replica
9. service
10. configmap
11. secret
12. persistent volume
13. namespace
14. ingress/route
15. operator

Depois:

security
network
storage
monitoring
autoscaling
CI/CD
GitOps

Se tentar aprender tudo simultaneamente, Kubernetes parece manual de SMP/E traduzido para klingon.


CAPÍTULO 3 — Ansible for IBM Z and LinuxONE Foundations

Finalmente alguém resolveu automatizar o mainframe sem obrigar o COBOLzeiro a escrever 14 mil linhas de shell

Imagine a rotina:

segunda-feira:

crie dataset
copie membro
altere configuração
reinicie started task
verifique resultado

terça-feira:

mesma coisa.

quarta-feira:

mesma coisa em outro sistema.

quinta-feira:

alguém esqueceu o passo quatro.

sexta-feira:

War Room.

Ansible existe para transformar procedimentos repetíveis em automação declarativa.


35. O que é Ansible?

Ansible é uma tecnologia de automação de TI capaz de executar:

  • provisionamento;

  • gerenciamento de configuração;

  • deployment;

  • orquestração;

  • tarefas administrativas;

  • automação de infraestrutura.

A própria Red Hat resume Ansible como um motor open source para automação de provisionamento, configuração, deployment e outros processos de TI.

Historicamente a Red Hat descrevia Ansible como uma ferramenta lançada no começo de 2013; a Red Hat anunciou sua aquisição em outubro de 2015.

O projeto possui raízes anteriores em desenvolvimento comunitário, mas 2013 é uma referência histórica segura para o lançamento da ferramenta conforme a própria Red Hat.


36. Por que Ansible ficou popular?

Uma palavra:

simplicidade.

Ou pelo menos simplicidade relativa.

Você escreve automações normalmente em YAML.

Exemplo conceitual:

- name: Criar dataset
  ...

Em vez de escrever uma solução enorme baseada em agentes proprietários distribuídos.

Outro princípio famoso do Ansible:

agentless

Na arquitetura tradicional, o sistema gerenciado não precisa de um daemon Ansible permanentemente instalado esperando comandos.

Normalmente o controlador conecta-se aos alvos através de mecanismos existentes como SSH.

No universo z/OS isso é particularmente interessante porque você evita introduzir mais um agente residente simplesmente para automatizar tarefas.


37. COBOLzeiro pergunta: Ansible substitui JCL?

Não.

Ansible pode:

submeter JCL
copiar JCL
alterar membro
criar dataset
executar comandos
consultar resultados

Mas JCL continua sendo a linguagem de controle de jobs do z/OS.

Pense assim:

Ansible
   |
   +---- preparar ambiente
   |
   +---- copiar artefatos
   |
   +---- submeter JCL
   |
   +---- verificar resultado

Ou seja:

Ansible pode orquestrar o JCL.

Não precisa substituí-lo.


38. A arquitetura fundamental

         CONTROL NODE
            Ansible
               |
               |
              SSH
               |
      +--------+--------+
      |                 |
    Linux              z/OS
      |                 |
   server          USS / services

O controlador Ansible normalmente executa em ambiente Linux.

A partir dele você administra nós.

No ecossistema IBM existem conteúdos certificados específicos para z/OS.

A IBM disponibiliza o Red Hat Ansible Certified Content for IBM Z, justamente para integrar IBM Z à estratégia corporativa de automação.


39. O grande personagem: ibm_zos_core

Guarde este nome:

ibm.ibm_zos_core

É a collection fundamental para automação z/OS com Ansible.

A própria documentação IBM usa a instalação:

ansible-galaxy collection install ibm.ibm_zos_core

e demonstra conexão a z/OS por SSH.

Uma collection é basicamente uma coleção organizada de conteúdo Ansible:

modules
plugins
roles
documentação

Então você ganha operações projetadas especificamente para z/OS.


40. Module

Module é uma unidade funcional Ansible.

Pense:

zos_data_set
zos_copy
zos_job_submit
zos_job_query
zos_operator
...

Cada módulo resolve uma classe de tarefa.

Isso muda completamente a forma de automação.

Em vez de:

ssh
executa shell
parse output
espera string
faz sed
reza

você usa uma abstração que conhece o recurso z/OS.


41. Playbook

Playbook é onde você descreve o workflow.

Algo conceitualmente assim:

- name: Deploy Bellacosa
  hosts: zos
  tasks:

    - criar dataset

    - copiar programa

    - submeter compile

    - verificar RC

    - copiar load module

    - atualizar ambiente

Para o mainframer:

Playbook é quase um PROC de automação corporativa turbinado.

Não tecnicamente.

Mas mentalmente funciona.


42. Inventory

Ansible precisa saber quem administra.

Inventory pode representar:

DEV
TEST
QA
PROD

ou:

LPAR1
LPAR2
LPAR3

Exemplo conceitual:

[development]
zosdev01

[production]
zosprd01
zosprd02

A automação pode ser a mesma.

As variáveis mudam.

Isso reduz aquele câncer operacional conhecido como:

deploy_dev_final_v2_corrigido.sh

deploy_hml_final_agora_vai.sh

deploy_prod_NAO_MEXER.sh

43. Idempotência — uma palavra estranha que o mainframe entende há décadas

Esse é um dos conceitos mais importantes de Ansible.

Uma operação idempotente pode ser repetida sem produzir efeitos adicionais indesejados quando o estado desejado já foi alcançado.

Você declara:

“Este recurso deve existir.”

Ansible verifica.

Se existe corretamente:

OK

Se não:

CHANGE

Isso é muito diferente de scripts burros:

crie
crie novamente
erro
continua
quebra

Exemplo mental:

state: present

Você não está dizendo:

“Execute CREATE.”

Está dizendo:

“Garanta que exista.”

Percebe a proximidade filosófica com Kubernetes?

Ansible:

estado desejado

Kubernetes:

estado desejado

Essa filosofia declarativa é uma das pontes fundamentais entre infraestrutura tradicional e cloud-native.


44. Easter egg nº 5 — YAML não é linguagem de programação tradicional

YAML é um formato de representação de dados.

Ele parece amigável:

name: Bellacosa
language: COBOL
platform: zOS

Até você errar dois espaços.

Então ele vira:

Yet Another Mainframe Lament.

O nome oficial originalmente brincava com “Yet Another Markup Language”, mas hoje YAML é recursivamente apresentado como:

YAML Ain't Markup Language.

Sim.

Programadores também fazem piadas ruins.


45. O z/OS precisa de Python?

Para várias automações da collection IBM, existe infraestrutura Python no lado z/OS.

A documentação atual da IBM especifica versões compatíveis do IBM Open Enterprise SDK for Python de acordo com as versões da collection ibm_zos_core.

Isso é outra mudança cultural fascinante.

O mainframe moderno não é:

COBOL + JCL

Hoje o ecossistema contém também:

Python
Java
Node.js
Go
Ansible
REST
Git
VS Code
containers

sem remover COBOL, CICS, IMS e Db2.

É expansão, não apagamento.


46. Ansible e datasets

Agora começamos a falar a língua do mainframer.

Uma automação pode lidar com recursos como:

PS
PDS
PDSE
members
USS files
jobs
operator commands

Imagine automatizar:

1. criar HLQ.BELLACOSA.LOAD
2. criar HLQ.BELLACOSA.JCL
3. copiar membros
4. compilar
5. conferir MAXCC
6. promover

Tudo registrado em Git.

Agora você começa a compreender por que Ansible interessa ao mundo DevOps mainframe.


47. Infrastructure as Code

Aqui temos outra expressão da moda que na verdade contém uma ideia poderosa.

Em vez de infraestrutura existir apenas porque alguém executou comandos manualmente em 2017 e ninguém lembra quais:

você descreve configuração em arquivos versionados.

Git
 |
 +-- inventories
 +-- playbooks
 +-- roles
 +-- variables

Você ganha:

histórico
diff
peer review
rollback lógico
auditoria
repetibilidade

Mainframer que conhece ChangeMan, Endevor, ISPW ou Librarian deve sentir imediatamente o cheiro do conceito.

Nós sempre soubemos que:

mudança sem histórico é pedir para conhecer o plantão das três da manhã.


48. Ansible no LinuxONE

Agora trocamos o alvo.

LinuxONE executa Linux.

Ansible é extremamente natural nesse ambiente.

Você pode automatizar:

RHEL
pacotes
services
networking
storage
users
OpenShift
middleware
bancos
security

Inclusive a própria plataforma Ansible Automation Platform pode ser implementada sobre IBM Z e LinuxONE com RHEL; a IBM possui orientação específica para esse cenário.

Portanto:

Ansible
 |
 +--- z/OS
 |
 +--- Linux on Z
 |
 +--- LinuxONE
 |
 +--- x86
 |
 +--- cloud
 |
 +--- network

Esse é o verdadeiro poder.

Uma linguagem operacional comum atravessando silos.


49. E OpenShift?

Aqui a coisa fica muito interessante.

Ansible pode automatizar infraestrutura.

OpenShift orquestra containers.

Você pode ter:

Ansible Automation Platform
            |
            +---- Linux
            |
            +---- IBM Z
            |
            +---- z/OS
            |
            +---- OpenShift

Isso cria uma camada corporativa de automação.

Imagine um workflow:

1. preparar z/OS
2. criar recursos
3. instalar configuração
4. atualizar aplicação OpenShift
5. testar API
6. validar CICS
7. conferir Db2

Uma mudança pode atravessar tecnologias anteriormente administradas por equipes completamente distintas.


50. O cenário Bellacosa Bank

Vamos juntar os três capítulos.

Temos:

                    INTERNET
                       |
                 API GATEWAY
                       |
                OPENSHIFT
                       |
        +--------------+--------------+
        |                             |
   Microservice A                Microservice B
        |                             |
        +--------------+--------------+
                       |
                  z/OS Connect
                       |
                     CICS
                       |
                     COBOL
                       |
                      Db2

Em outro canto:

z/OS
 |
 zCX
 |
 Linux container
 |
 serviço auxiliar

E comandando operações:

              ANSIBLE
                 |
      +----------+----------+
      |          |          |
     z/OS      Linux     OpenShift

Agora finalmente conseguimos enxergar os três tópicos da imagem como uma única arquitetura.


51. A fronteira definitiva

Este mapa deveria ficar na parede:

                         IBM Z HARDWARE
                              |
          +-------------------+-------------------+
          |                                       |
        z/OS                                    Linux
          |                                       |
 +--------+--------+                         OpenShift
 |        |        |                            |
CICS     IMS      Db2                        Kubernetes
 |                                               |
COBOL                                         Pods
 |                                               |
 +-- zCX                                     Containers
      |
    Linux
      |
 Containers

E separadamente:

                     IBM LinuxONE
                          |
                        Linux
                          |
                      OpenShift
                          |
                      Kubernetes
                          |
                         Pods
                          |
                      Containers

Finalmente:

                   Ansible
                      |
       +--------------+--------------+
       |              |              |
      z/OS          Linux         OpenShift

Pronto.

Agora acabou a sopa de letrinhas.


52. As diferenças que você NÃO pode confundir

z/OS

Sistema operacional principal da plataforma IBM Z.

USS

Ambiente UNIX/POSIX do z/OS.

Linux on Z

Linux executando na arquitetura IBM Z.

zCX

Tecnologia do z/OS para hospedar workloads Linux containerizados próximos do ambiente z/OS.

LinuxONE

Plataforma IBM voltada a Linux.

Kubernetes

Orquestrador de aplicações containerizadas.

OpenShift

Plataforma empresarial Kubernetes da Red Hat.

Ansible

Automação de infraestrutura e aplicações.

Essas oito definições resolvem talvez 70% das confusões iniciais.


53. O que um programador COBOL deveria estudar primeiro?

Minha trilha seria:

Fase 1 — Linux básico

Aprenda:

filesystem
process
permissions
SSH
environment variables
TCP/IP
packages
systemd
shell

Não precisa virar sysadmin Linux.

Precisa deixar de considerar /etc território inimigo.


Fase 2 — containers

Aprenda:

image
container
registry
Dockerfile/Containerfile
volume
port
environment variable

Faça manualmente.

Suba uma aplicação.

Mate.

Suba novamente.


Fase 3 — Kubernetes

Aprenda:

Pod
Deployment
ReplicaSet
Service
Namespace
ConfigMap
Secret
PersistentVolume

Não comece por Operators.

Não comece por service mesh.

Não comece por Istio.

Não comece por 73 certificações.


Fase 4 — OpenShift

Só depois.

Entenda:

oc
projects
routes
operators
builds
security
cluster administration

Fase 5 — IBM Z integration

Volte para casa:

z/OS Connect
MQ
CICS
Db2
IMS
zCX
Linux on Z

Agora você perceberá que não abandonou o mainframe.

Você apenas aumentou o mapa.


Fase 6 — Ansible

Automatize coisas que você já sabe fazer manualmente.

Regra fundamental:

nunca automatize aquilo que você ainda não entende.

Primeiro:

criar dataset manualmente

Depois:

automatizar dataset

Primeiro:

submeter job

Depois:

automatizar job

Primeiro:

deploy manual

Depois:

playbook

Essa sequência transforma Ansible em ferramenta.

Fazer o contrário transforma Ansible em gerador industrial de incidentes.


54. O primeiro exercício Ansible mental

Desejo:

“Quero que o dataset USER.BELLACOSA.TEST exista.”

Estado atual:

não existe

Playbook:

desired state = present

Resultado:

dataset criado

Execute novamente.

Estado atual:

já existe

Resultado:

nenhuma alteração necessária

Isso é idempotência.

Entendeu isso?

Você entendeu uma parte essencial do Ansible.


55. Segundo exercício: deployment

Agora:

SOURCE
   |
 Git
   |
Ansible
   |
   +---- copy
   |
   +---- compile
   |
   +---- link-edit
   |
   +---- deploy
   |
   +---- validate

O COBOL continua COBOL.

O load module continua load module.

O que mudou?

O processo ao redor dele.

Isso é modernização.


56. Terceiro exercício: automação híbrida

Imagine:

Playbook
 |
 +--- valida CICS
 |
 +--- atualiza recurso z/OS
 |
 +--- atualiza microservice OpenShift
 |
 +--- executa teste
 |
 +--- verifica retorno

Agora um único processo de mudança conhece os dois lados:

SYSTEM OF RECORD
+
SYSTEM OF ENGAGEMENT

Essa é uma das fronteiras mais interessantes para profissionais de mainframe nos próximos anos.


57. Onde está o verdadeiro valor para um COBOLzeiro?

Não é decorar:

kubectl get pods

Isso qualquer tutorial ensina.

Seu valor aparece quando você consegue olhar:

OpenShift
   |
microservice
   |
REST
   |
z/OS Connect
   |
CICS
   |
COBOL
   |
Db2

e compreender a transação inteira.

O desenvolvedor cloud talvez conheça os primeiros quatro blocos.

O sysprog talvez conheça os últimos quatro.

Quem entende os dois lados se torna extremamente útil.


58. O profissional em formato T

Essa trilha cria exatamente isso.

Profundidade:

COBOL
CICS
Db2
z/OS

Amplitude:

Linux
containers
Kubernetes
OpenShift
Ansible
APIs
DevOps
Git

Não tente competir com um administrador Kubernetes que trabalha dez horas por dia com Kubernetes.

Não precisa.

Seu diferencial é:

“Eu consigo explicar o que acontece desde o pod até o COMMAREA.”

Esse profissional é raro.


59. Easter egg final — o mainframe nunca saiu da moda; apenas mudaram os nomes

Compare:

WLM
scheduler
workload
resource management
automation
virtualization
security
high availability

com:

Kubernetes scheduler
resource limits
orchestration
virtualization/containerization
RBAC
self-healing

Não são equivalentes.

Mas respondem a famílias semelhantes de problemas.

Por isso o mainframer veterano possui uma vantagem inesperada.

Você não começa do zero.

Você já conhece problemas de computação empresarial que o restante da indústria redescobriu em novas camadas.

O segredo é parar de perguntar:

“Qual comando Kubernetes corresponde a este comando z/OS?”

e começar a perguntar:

“Qual problema arquitetural cada tecnologia está resolvendo?”

Aí a ficha cai.


60. Mapa mental definitivo

                    MODERN ENTERPRISE
                           |
        +------------------+------------------+
        |                                     |
      IBM Z                              IBM LinuxONE
        |                                     |
 +------+-------+                            Linux
 |              |                              |
z/OS          Linux                         OpenShift
 |              |                              |
 |          OpenShift                      Kubernetes
 |              |                              |
 |          Kubernetes                       Pods
 |              |                              |
 |             Pods                        Containers
 |              |
 |          Containers
 |
 +--- CICS
 +--- IMS
 +--- Db2
 +--- COBOL
 +--- MQ
 +--- z/OS Connect
 |
 +--- zCX
       |
      Linux
       |
   Containers


                  AUTOMATION LAYER
                        |
                      Ansible
                        |
       +----------------+----------------+
       |                |                |
      z/OS            Linux          OpenShift

Esse desenho é provavelmente a coisa mais importante de todo o material.


61. As dez perguntas que você deve conseguir responder

Quando terminar o estudo inicial, responda sem consultar Google:

  1. Um container é uma VM?

  2. zCX significa que Linux virou parte do kernel z/OS?

  3. USS é Linux?

  4. Qual a diferença entre IBM Z e LinuxONE?

  5. Onde OpenShift executa?

  6. Qual a relação entre Kubernetes e OpenShift?

  7. O que é um Pod?

  8. O que significa desired state?

  9. O que Ansible automatiza no z/OS?

  10. Por que um programa COBOL continua relevante numa arquitetura cloud-native?

Se responder corretamente, você deixou de ser turista.

Agora já tem mapa.


62. Cheat sheet Bellacosa Mainframe

CONTAINER
Aplicação + dependências empacotadas.

IMAGE
Modelo imutável usado para criar containers.

REGISTRY
Repositório de imagens.

KUBERNETES
Orquestra workloads containerizados.

POD
Unidade básica de execução do Kubernetes.

NODE
Máquina participante do cluster.

CLUSTER
Conjunto administrado pelo Kubernetes.

DEPLOYMENT
Declara como uma aplicação deve existir.

SERVICE
Oferece acesso lógico aos pods.

OPENSHIFT
Plataforma Kubernetes empresarial da Red Hat.

IBM Z
Plataforma enterprise que pode executar z/OS e Linux.

LINUXONE
Plataforma IBM orientada a Linux.

USS
Ambiente UNIX do z/OS.

zCX
Ambiente de containers Linux integrado ao universo z/OS.

ANSIBLE
Automação declarativa de TI.

PLAYBOOK
Workflow Ansible escrito normalmente em YAML.

MODULE
Unidade funcional que executa uma tarefa.

COLLECTION
Pacote organizado de módulos/plugins/roles.

INVENTORY
Lista e agrupamento dos sistemas administrados.

IDEMPOTÊNCIA
Reexecutar procurando o mesmo estado sem provocar mudanças desnecessárias.

ibm_zos_core
Collection fundamental para automação z/OS com Ansible.

63. O conselho do velho COBOLzeiro

Não estude essas tecnologias como três disciplinas independentes.

A sequência lógica é:

           z/OS
             |
            zCX
             |
          container
             |
         Kubernetes
             |
          OpenShift
             |
          Ansible

Mas arquiteturalmente a visão correta é uma rede:

                   Ansible
                      |
     +----------------+----------------+
     |                |                |
    z/OS            Linux          OpenShift
     |                                 |
    zCX                            Kubernetes
     |                                 |
Containers                         Containers

E no centro de tudo continuam os dados.

                    DATA
                     |
                TRANSACTION
                     |
                   COBOL
                     |
              APIs / Events
                     |
                OpenShift
                     |
              Digital World

☕ Conclusão — Não é só container. É estratégia.

O jovem desenvolvedor olha para IBM Z e enxerga algo antigo.

O COBOLzeiro olha para Kubernetes e enxerga algo estranho.

Os dois estão olhando errado.

O IBM Z moderno pode conversar com Linux, containers, APIs, OpenShift, Kubernetes, Ansible, Git e pipelines DevOps sem deixar de fazer aquilo que aprendeu a fazer excepcionalmente bem: processar transações críticas e manter sistemas de registro funcionando.

zCX representa uma ponte.

Kubernetes representa orquestração.

OpenShift transforma essa orquestração em uma plataforma empresarial.

Ansible amarra automação entre mundos.

E LinuxONE demonstra que a arquitetura IBM Z não precisa obrigatoriamente significar z/OS.

O objetivo não é transformar o COBOLzeiro em administrador Kubernetes em uma semana.

É muito mais valioso.

É permitir que ele olhe para um diagrama moderno e diga:

“Ahhh... agora entendi onde cada coisa mora.”

E depois faça a pergunta que realmente assusta o arquiteto:

“Muito bonito. Agora me mostra por onde passa a transação.”

Nesse momento o Padawan deixou de decorar buzzwords.

Começou a fazer arquitetura.

Para ir mais longe


https://eljefemidnightlunch.blogspot.com/2026/07/capitulo-1-o-funeral-que-nunca-aconteceu.html



quinta-feira, 11 de julho de 2024

Web Design entre os Mortos — Quando a Interface Caiu e o Sistema Continuou Caminhando

Bellacosa Mainframe e o web design para programadores cobol

☕ Um Café no Bellacosa Mainframe

Web Design entre os Mortos — Quando a Interface Caiu e o Sistema Continuou Caminhando

O relógio do CPD marcava 02h17.

As luzes fluorescentes piscavam sobre os corredores vazios. No fundo da sala, um terminal permanecia ligado, exibindo uma tela que nenhum operador lembrava ter aberto:

SYSTEM STATUS: ONLINE
USER EXPERIENCE: CRITICAL
INTERFACE INTEGRITY: 34%
BACK-END ACTIVITY: UNKNOWN

Ao lado do teclado, uma caneca de café ainda soltava fumaça.

Isso significava que alguém estivera ali há pouco tempo.

Ou alguma coisa.

O jovem programador COBOL aproximou-se lentamente. Era seu primeiro plantão noturno. Ele conhecia IDENTIFICATION DIVISION, começava a entender WORKING-STORAGE SECTION e já havia descoberto que uma vírgula colocada no lugar errado podia transformar um programa simples em uma investigação criminal.

Mas naquela noite o problema não estava no COBOL.

O problema estava na interface.

Ela parecia bonita. Moderna. Elegante. Possuía botões arredondados, cores harmoniosas, ícones bem desenhados e animações suaves.

Porém ninguém conseguia utilizá-la.

Os usuários estavam perdidos. Os pedidos desapareciam. Os formulários falhavam. As mensagens de erro não explicavam nada. A aplicação funcionava perfeitamente durante as apresentações, mas entrava em colapso quando encontrava pessoas reais, celulares antigos, conexões lentas e dados incompletos.

O sistema não estava morto.

Era pior.

Ele continuava funcionando sem compreender os próprios usuários.

Bem-vindo ao verdadeiro Web Design.

Aqui, criar uma página bonita é apenas o começo da sobrevivência.



1. O primeiro erro: acreditar que Web Design é decoração

Quando um iniciante escuta a expressão Web Design, normalmente pensa em:

  • cores;

  • fontes;

  • imagens;

  • botões;

  • menus;

  • animações;

  • organização visual.

Tudo isso faz parte do trabalho. Entretanto, representa apenas a camada mais visível.

Uma interface pode ser comparada à porta de entrada de um grande complexo tecnológico.

O usuário vê:

[ CONSULTAR SALDO ]

Mas atrás desse botão pode existir:

Usuário
   ↓
Navegador
   ↓
Front-end
   ↓
API REST
   ↓
Autenticação
   ↓
Servidor
   ↓
Regra de negócio
   ↓
CICS
   ↓
Programa COBOL
   ↓
Db2 ou VSAM

O botão é pequeno.

A operação que ele representa pode atravessar dezenas de componentes.

Esse é o primeiro grande ensinamento para o programador COBOL iniciante: a interface não existe sozinha.

Ela é uma camada de contato entre uma pessoa e um sistema.

Da mesma forma que uma tela BMS do CICS não é apenas um conjunto de campos posicionados no terminal, uma página Web não é apenas HTML com cores.

A tela precisa representar dados, regras, permissões, estados e possibilidades de ação.

Uma interface desconectada do sistema é como uma porta desenhada na parede.

Parece uma saída.

Mas não leva a lugar algum.



2. UI: a primeira barricada

UI significa User Interface, ou Interface do Usuário.

É tudo aquilo que a pessoa vê, toca, seleciona, preenche ou aciona.

Exemplos:

  • botões;

  • campos de formulário;

  • menus;

  • caixas de seleção;

  • tabelas;

  • ícones;

  • mensagens;

  • barras de progresso;

  • janelas;

  • links;

  • alertas.

A UI funciona como a primeira barricada entre o usuário e a complexidade do sistema.

Quando bem construída, ela organiza a interação.

Quando mal construída, ela libera o caos.

Considere este botão:

[ OK ]

O que significa “OK”?

Confirmar uma compra?

Excluir um cadastro?

Sair do sistema?

Enviar um pagamento?

Agora observe:

[ CONFIRMAR PAGAMENTO ]

A segunda opção reduz a incerteza.

Em sistemas corporativos, clareza é mais importante do que criatividade excessiva.

Um botão não precisa surpreender o usuário. Ele precisa comunicar.

Uma boa UI deve responder a três perguntas:

1. O que é este elemento?
2. O que posso fazer com ele?
3. O que acontecerá depois?

Essa lógica lembra um comando COBOL.

Quando vemos:

PERFORM CALCULAR-TOTAL

entendemos a intenção da operação.

Agora imagine:

PERFORM ROTINA-X

Pode funcionar, mas exige investigação.

Botões com nomes genéricos são o equivalente visual de parágrafos chamados ROTINA-X, PROCESSO-01 ou FAZ-COISA.

Funcionam tecnicamente.

Fracassam semanticamente.



3. UX: sobreviver não é apenas manter o sistema ligado

UX significa User Experience, ou Experiência do Usuário.

A UI pergunta:

Como esta tela se apresenta?

A UX pergunta:

O usuário consegue alcançar seu objetivo?

Essa diferença é fundamental.

Uma aplicação pode ser visualmente impecável e ainda oferecer uma experiência terrível.

Imagine um portal bancário com:

  • animações sofisticadas;

  • fotografia profissional;

  • tipografia moderna;

  • transições suaves;

  • gráficos elegantes.

Agora imagine que:

  • o usuário não encontra o saldo;

  • a transferência exige doze etapas;

  • a sessão termina sem aviso;

  • o botão Voltar apaga os dados;

  • o erro apresenta apenas HTTP 500;

  • o comprovante não pode ser baixado.

A UI pode ser bonita.

A UX está em estado terminal.

Uma experiência digital envolve toda a jornada:

Entrada no sistema
   ↓
Compreensão da tela
   ↓
Localização da função
   ↓
Execução da tarefa
   ↓
Retorno do sistema
   ↓
Confirmação do resultado

Se qualquer etapa falhar, a experiência será prejudicada.

Exemplo prático

O usuário preenche um cadastro e pressiona Salvar.

Uma interface ruim não mostra nada.

Ele clica novamente.

E novamente.

No banco de dados, três registros são criados.

Uma interface melhor apresenta:

Salvando cadastro...

Durante o processamento, o botão fica temporariamente desabilitado.

Depois:

Cadastro concluído com sucesso.

Ou:

Não foi possível concluir o cadastro.
Revise os campos destacados.

Isso é UX.

Não é apenas beleza.

É comunicação durante o processamento.


4. O usuário real não vive no ambiente de testes

Nos protótipos, tudo parece funcionar.

A conexão é rápida.

A tela é grande.

Os dados estão completos.

O usuário sabe exatamente onde clicar.

Então a aplicação entra em produção.

É nesse momento que os sobreviventes aparecem.

O usuário real pode estar:

  • usando um celular antigo;

  • com conexão instável;

  • sob forte luz solar;

  • utilizando apenas uma mão;

  • com pressa;

  • com baixa visão;

  • sem conhecimento técnico;

  • preenchendo o formulário pela primeira vez;

  • tentando recuperar uma senha esquecida;

  • interrompido por mensagens e chamadas.

Projetar para um usuário ideal é como montar uma base de sobrevivência assumindo que nunca faltará energia, água ou alimento.

O mundo real acabará testando cada suposição.

Por isso, o Web Designer precisa investigar:

Quem utilizará o sistema?
O que essa pessoa deseja fazer?
Em qual dispositivo?
Em qual contexto?
Com qual frequência?
Quais erros ela pode cometer?
Quais informações ela já conhece?
Quais limitações podem existir?

Esse processo é chamado de design orientado ao usuário.

Ele não significa simplesmente perguntar:

Qual cor você prefere?

O usuário pode gostar de azul e ainda precisar de uma solução completamente diferente daquela que imaginou.

O papel do profissional é compreender o problema.


5. A diferença entre pedido e necessidade

Um usuário pode dizer:

Quero um botão maior.

Mas o problema real pode ser:

  • baixo contraste;

  • área de clique pequena;

  • excesso de elementos na tela;

  • posição inadequada;

  • texto confuso;

  • dificuldade de navegação.

Da mesma forma, um usuário pode pedir:

Quero mais opções no menu.

Talvez ele não precise de mais opções.

Talvez precise encontrar melhor as opções existentes.

O bom designer não registra apenas a solicitação. Ele investiga a necessidade.

É como analisar um ABEND.

O código exibido é o sintoma.

A causa pode estar em outro ponto.

S0C7
   ↓
Dado inválido
   ↓
Campo não inicializado
   ↓
Arquivo com formato inesperado
   ↓
Regra de validação ausente

No design ocorre algo semelhante:

Usuário não encontra função
   ↓
Menu confuso
   ↓
Categorias inadequadas
   ↓
Arquitetura da informação mal planejada

O clique errado é o sintoma.

A organização pode ser a causa.



6. Acessibilidade: ninguém deve ser deixado do lado de fora

Em um cenário de sobrevivência, uma comunidade que abandona parte de seus membros torna-se mais fraca.

Na Web acontece o mesmo.

Acessibilidade significa criar produtos que possam ser utilizados pelo maior número possível de pessoas.

Isso envolve considerar usuários com:

  • limitações visuais;

  • limitações auditivas;

  • limitações motoras;

  • limitações cognitivas;

  • dificuldades temporárias;

  • restrições do ambiente.

Uma aplicação acessível deve considerar:

  • navegação por teclado;

  • leitores de tela;

  • foco visível;

  • contraste;

  • estrutura semântica;

  • textos alternativos;

  • mensagens compreensíveis;

  • áreas de toque adequadas;

  • formulários identificados corretamente.

Exemplo: informação apenas por cor

Verde = aprovado
Vermelho = reprovado

Nem todos conseguem distinguir essas cores.

Uma alternativa melhor:

✓ Aprovado
✕ Reprovado

Agora existem três sinais:

  • cor;

  • símbolo;

  • texto.

Exemplo: campo sem identificação

<input type="text" placeholder="Digite aqui">

Digite o quê?

Uma versão adequada:

<label for="email">E-mail</label>
<input id="email" type="email">

O label não é apenas uma conveniência.

Ele ajuda leitores de tela, amplia a clareza e melhora a interação.

Curiosidade Bellacosa

A acessibilidade beneficia pessoas que não possuem uma deficiência permanente.

Considere:

Permanente:
Pessoa com baixa visão.

Temporária:
Pessoa com o braço imobilizado.

Situacional:
Pessoa usando o celular sob forte luz solar.

Todos podem se beneficiar de bom contraste, botões maiores e navegação clara.

Acessibilidade não é caridade.

É engenharia de qualidade aplicada à experiência.



7. Responsividade: quando o espaço seguro diminui

Responsividade é a capacidade de a interface adaptar-se a diferentes telas e condições.

Um erro clássico é construir uma interface para desktop e depois reduzir tudo até caber no celular.

Isso não é responsividade.

É compressão visual.

Uma tela responsiva deve reorganizar:

  • conteúdo;

  • navegação;

  • prioridade;

  • espaçamento;

  • tamanho;

  • comportamento;

  • interação.

Considere uma tabela:

| Pedido | Cliente | Data | Valor | Status | Vendedor | Ações |

Em uma tela grande, ela pode funcionar.

No celular, pode transformar-se em:

PEDIDO #5821

Cliente: Carlos Mendes
Valor: R$ 320,00
Status: Em separação

[ VER DETALHES ]

Perceba que os dados não foram simplesmente encolhidos.

Eles foram reorganizados.

Mobile First

Uma abordagem útil é começar projetando para telas pequenas.

Isso força o time a responder:

O que é realmente essencial?
Qual é a ação principal?
Quais informações podem esperar?
O que deve permanecer sempre visível?

Depois, a interface pode crescer para telas maiores.

É como montar uma mochila de sobrevivência.

Quando o espaço é limitado, levamos o que realmente importa.


8. Arquitetura da informação: o mapa da zona segura

Arquitetura da informação é a organização dos conteúdos e funcionalidades.

Ela determina:

  • quais páginas existirão;

  • como serão agrupadas;

  • quais nomes serão utilizados;

  • como o usuário navegará;

  • onde encontrará cada função;

  • como retornará ao ponto anterior.

Imagine este menu:

Produtos
Soluções
Serviços
Recursos
Outros
Mais
Área
Opções

Tecnicamente, existem caminhos.

Na prática, ninguém sabe aonde levam.

Agora considere:

Cursos
Trilhas
Desafios
Certificados
Comunidade
Meu progresso

A segunda estrutura comunica melhor.

O menu não é a arquitetura

O menu é apenas uma representação da organização.

A arquitetura existe antes dele.

Pense em uma biblioteca.

As placas são a navegação.

As categorias, índices, estantes e relações entre livros formam a arquitetura da informação.

Uma aplicação grande pode possuir:

  • centenas de páginas;

  • diferentes perfis;

  • múltiplos fluxos;

  • funções restritas;

  • dados relacionados.

Sem arquitetura, o sistema transforma-se em uma cidade abandonada: ruas existem, edifícios permanecem de pé, mas ninguém sabe onde encontrar recursos.


9. Design conectado à arquitetura do sistema

Agora chegamos ao ponto em que muitos designers param.

Atrás da interface existem:

  • regras de negócio;

  • dados;

  • permissões;

  • integrações;

  • processamento;

  • serviços;

  • bancos de dados.

Uma tela de pedidos não pode ser projetada sem compreender os estados do pedido.

Exemplo:

Criado
   ↓
Pagamento aprovado
   ↓
Em separação
   ↓
Enviado
   ↓
Entregue

Também pode existir:

Criado
   ↓
Pagamento recusado
   ↓
Cancelado

O designer precisa saber:

  • quem pode cancelar;

  • em qual momento;

  • quais ações são irreversíveis;

  • quando é necessária uma confirmação;

  • quais informações precisam ser apresentadas;

  • como comunicar uma falha.

Exemplo de permissão

Um operador pode visualizar o pedido.

Um supervisor pode alterar o status.

Um administrador pode cancelar.

A interface precisa refletir essas permissões.

Não basta esconder um botão visualmente e acreditar que o problema está resolvido. A segurança deve existir também no servidor.

Interface oculta botão
        +
Back-end valida permissão
        =
Proteção adequada

Aqui surge um princípio importante:

A interface comunica a regra, mas o sistema deve garantir a regra.


10. Os estados que caminham escondidos

Ao projetar uma tela, iniciantes costumam desenhar apenas o estado perfeito.

Dados completos.

Sistema disponível.

Usuário autorizado.

Conexão rápida.

Mas uma interface real pode possuir vários estados:

Inicial
Carregando
Com resultados
Sem resultados
Com erro
Sem conexão
Sem permissão
Dados incompletos
Processamento pendente
Sessão expirada

Estado de carregamento

Consultando pedidos...

Estado vazio

Nenhum pedido foi encontrado.

Estado de erro

Não foi possível consultar os pedidos.
Tente novamente.

Estado de permissão

Seu perfil não possui acesso a esta função.

Estado de sessão expirada

Sua sessão terminou por segurança.
Entre novamente para continuar.

Projetar apenas a tela com dados é como preparar uma fortaleza apenas para dias ensolarados.

A primeira tempestade revelará tudo o que foi esquecido.


11. A API: o mensageiro entre os territórios

Uma API permite a comunicação entre partes de um sistema.

Exemplo:

Front-end
   ↓
GET /pedidos/5821
   ↓
API
   ↓
Regra de negócio
   ↓
Banco de dados
   ↓
Resposta JSON
   ↓
Interface atualizada

Uma resposta pode ser:

{
  "pedido": 5821,
  "cliente": "Carlos Mendes",
  "valor": 320.00,
  "status": "EM_SEPARACAO"
}

O designer não precisa implementar toda a API.

Entretanto, precisa compreender que:

  • os dados podem demorar;

  • a requisição pode falhar;

  • a resposta pode vir vazia;

  • o usuário pode não possuir permissão;

  • o serviço pode estar indisponível;

  • o formato pode mudar;

  • uma operação pode continuar em segundo plano.

Isso influencia a interface.

Se uma operação demora trinta segundos, não podemos deixar o usuário olhando para uma tela imóvel.

Podemos mostrar:

Processando solicitação...
Você pode continuar navegando.
Avisaremos quando o processo terminar.

Conhecer o funcionamento técnico permite projetar melhores respostas humanas.


12. Front-end: onde a barricada ganha forma

O Front-end é a camada executada no navegador.

As três tecnologias fundamentais são:

HTML       → estrutura
CSS        → apresentação
JavaScript → comportamento

HTML

O HTML organiza o conteúdo.

<h1>Consulta de pedidos</h1>

<label for="numero">Número do pedido</label>
<input id="numero" type="text">

<button type="submit">Consultar</button>

CSS

O CSS controla aparência e layout.

button {
  padding: 12px 20px;
  border-radius: 6px;
  font-weight: bold;
}

JavaScript

O JavaScript controla comportamentos.

button.addEventListener("click", consultarPedido);

O Web Designer não precisa necessariamente tornar-se um desenvolvedor completo.

Mas compreender esses fundamentos ajuda a criar interfaces viáveis, consistentes e conscientes.

Estados de um botão

Um botão não possui apenas uma aparência.

Ele pode estar:

Normal
Com o mouse sobre ele
Com foco do teclado
Pressionado
Desabilitado
Carregando
Concluído
Com erro

Um Design System deve considerar essas variações.


13. Back-end: a sala de máquinas

O Back-end executa operações que normalmente não aparecem diretamente para o usuário.

Ele pode cuidar de:

  • autenticação;

  • autorização;

  • regras de negócio;

  • bancos de dados;

  • integrações;

  • processamento;

  • envio de mensagens;

  • auditoria.

Considere um formulário:

Nome
E-mail
Senha
[ CRIAR CONTA ]

Atrás dele:

Validar nome
Validar e-mail
Verificar duplicidade
Validar senha
Criptografar senha
Criar usuário
Registrar auditoria
Enviar confirmação
Retornar resultado

Cada etapa pode gerar uma mensagem diferente:

O e-mail informado é inválido.
Este e-mail já está cadastrado.
A senha deve possuir pelo menos oito caracteres.
Não foi possível enviar a confirmação.
Cadastro concluído.

Sem compreender o Back-end, o designer pode criar apenas um espaço genérico para erros.

Com algum conhecimento técnico, ele consegue projetar uma experiência mais precisa.


14. O paralelo com COBOL, CICS e mainframe

Para o programador COBOL iniciante, a arquitetura pode ser visualizada assim:

Usuário
   ↓
Página Web
   ↓
JavaScript
   ↓
API REST
   ↓
z/OS Connect
   ↓
CICS
   ↓
Programa COBOL
   ↓
Db2 ou VSAM

O usuário clica:

[ CONSULTAR CLIENTE ]

A aplicação pode executar:

1. Validar os dados no navegador.
2. Enviar a requisição para a API.
3. Autenticar o usuário.
4. Converter a chamada para o ambiente mainframe.
5. Acionar uma transação CICS.
6. Executar o programa COBOL.
7. Consultar Db2 ou VSAM.
8. Retornar os dados.
9. Atualizar a interface.

No COBOL, poderíamos imaginar:

IDENTIFICATION DIVISION.
PROGRAM-ID. CONSULTA-CLIENTE.

PROCEDURE DIVISION.

    PERFORM VALIDAR-ENTRADA

    IF DADOS-VALIDOS
        PERFORM CONSULTAR-CLIENTE
        PERFORM MONTAR-RESPOSTA
    ELSE
        PERFORM MONTAR-ERRO
    END-IF

    GOBACK.

A interface precisa estar preparada para ambas as respostas:

Cliente encontrado.

ou:

Cliente não localizado.

ou ainda:

Serviço temporariamente indisponível.

Esse é o encontro entre Web Design e mainframe.

A tela moderna pode ser a porta de entrada para um programa COBOL criado décadas atrás e continuamente modernizado.


15. Design System: o manual da comunidade

Em um grupo de sobreviventes, cada pessoa construir uma barricada de maneira diferente seria perigoso.

Uma usaria madeira.

Outra usaria metal.

Outra deixaria uma abertura porque achou visualmente interessante.

Em sistemas digitais, a falta de padrão também cria riscos.

Um Design System reúne:

  • componentes;

  • estilos;

  • regras;

  • padrões;

  • documentação;

  • princípios;

  • exemplos.

Exemplo:

Botão primário
Botão secundário
Campo de texto
Alerta
Modal
Tabela
Card
Menu
Breadcrumb

Também podem existir tokens:

Espaçamento pequeno: 8px
Espaçamento médio: 16px
Espaçamento grande: 24px

Borda pequena: 4px
Borda média: 8px

Fonte normal: 16px
Título: 32px

O Design System promove:

  • consistência;

  • velocidade;

  • acessibilidade;

  • reutilização;

  • melhor comunicação;

  • menor chance de erro.

Entretanto, ele não deve transformar-se em uma prisão.

Componentes existem para resolver problemas recorrentes, não para impedir toda evolução.


16. Tailwind CSS: o kit de ferramentas

Tailwind CSS utiliza classes utilitárias.

Exemplo:

<button class="px-4 py-2 rounded font-semibold">
  Salvar
</button>

Nesse caso:

px-4       → espaçamento horizontal
py-2       → espaçamento vertical
rounded    → bordas arredondadas
font-semibold → fonte com maior peso

Tailwind pode acelerar a implementação e aproximar design e código.

Porém, existe um alerta:

Uma ferramenta de CSS não cria automaticamente uma boa experiência.

É possível construir uma interface confusa usando Tailwind.

É possível construir uma interface excelente usando CSS tradicional.

A ferramenta implementa decisões.

Ela não substitui a investigação.


17. Passo a passo para projetar uma interface sobrevivente

Passo 1 — Descubra o problema

Pergunte:

O que o usuário precisa fazer?

Não comece pela cor.

Comece pela necessidade.

Passo 2 — Conheça o usuário

Investigue:

  • conhecimento;

  • contexto;

  • dispositivo;

  • frequência de uso;

  • dificuldades;

  • objetivos.

Passo 3 — Mapeie o fluxo

Exemplo:

Entrar
   ↓
Localizar pedido
   ↓
Visualizar detalhes
   ↓
Solicitar cancelamento
   ↓
Confirmar
   ↓
Receber resultado

Passo 4 — Organize a informação

Defina:

  • títulos;

  • categorias;

  • menus;

  • prioridades;

  • relacionamentos.

Passo 5 — Identifique regras do sistema

Pergunte:

Quem pode fazer?
Quando pode fazer?
Quais dados são necessários?
Quais erros podem acontecer?

Passo 6 — Projete todos os estados

Não desenhe apenas o cenário perfeito.

Inclua:

  • carregamento;

  • vazio;

  • erro;

  • sucesso;

  • falta de permissão;

  • ausência de conexão.

Passo 7 — Considere acessibilidade

Teste:

  • teclado;

  • contraste;

  • foco;

  • leitores de tela;

  • textos;

  • tamanho de toque.

Passo 8 — Considere diferentes telas

Verifique:

  • celular;

  • tablet;

  • notebook;

  • monitor grande;

  • ampliação de tela.

Passo 9 — Conecte design e tecnologia

Converse com:

  • desenvolvedores Front-end;

  • desenvolvedores Back-end;

  • analistas;

  • especialistas em banco de dados;

  • segurança;

  • infraestrutura;

  • usuários.

Passo 10 — Teste com pessoas reais

Observe sem explicar tudo.

Se o usuário não consegue avançar sem ajuda, existe uma pista.




18. Dicas Bellacosa para o Padawan do Web Design

Dica 1 — Não confie apenas no “está bonito”

Pergunte também:

Está claro?
Está acessível?
Está previsível?
Está funcionando?

Dica 2 — Mensagens de erro devem ajudar

Evite:

Erro 500.

Prefira:

Não foi possível concluir a operação.
Tente novamente em alguns instantes.

Dica 3 — Toda ação precisa de retorno

O usuário clicou?

Mostre que algo aconteceu.

Dica 4 — Não use apenas cor

Combine cor, texto e símbolo.

Dica 5 — Desenhe para dados ruins

Teste:

  • nomes muito longos;

  • campos vazios;

  • números grandes;

  • imagens ausentes;

  • respostas demoradas.

Dica 6 — O sistema não é o usuário

Uma mensagem tecnicamente precisa pode ser incompreensível para quem está usando a aplicação.

Dica 7 — Aprenda fundamentos

Frameworks mudam.

Os fundamentos permanecem:

  • estrutura;

  • hierarquia;

  • semântica;

  • acessibilidade;

  • comunicação;

  • feedback.




19. Curiosidades do abrigo digital

Curiosidade 1 — O estado vazio é uma oportunidade

Uma tela sem dados não precisa ser apenas vazia.

Ela pode orientar:

Você ainda não possui projetos.
Crie seu primeiro projeto para começar.

Curiosidade 2 — Velocidade percebida também importa

Mesmo quando uma operação demora, mensagens e indicadores reduzem a sensação de abandono.

Curiosidade 3 — O texto faz parte do design

Compare:

Enviar

com:

Enviar solicitação

O segundo pode ser mais claro dependendo do contexto.

Curiosidade 4 — Sistemas antigos podem ter interfaces modernas

COBOL não impede a existência de aplicações Web atuais.

APIs, z/OS Connect, CICS e serviços permitem conectar interfaces modernas a regras de negócio consolidadas.

Curiosidade 5 — A interface é uma tradução

Ela traduz:

Complexidade técnica
        ↓
Ações compreensíveis

20. Easter egg: o registro que ninguém deveria encontrar

Durante a investigação no CPD, o jovem programador abriu o log da aplicação.

Entre milhares de mensagens, encontrou:

02:17:33 USER CLICKED "OK"
02:17:33 ACTION UNKNOWN
02:17:34 REQUEST SENT
02:17:34 BUSINESS RULE REJECTED
02:17:34 ERROR MESSAGE HIDDEN
02:17:35 USER CLICKED AGAIN
02:17:35 USER EXPERIENCE INFECTED

Ele ficou em silêncio.

O problema nunca fora um vírus.

Também não era um processo morto.

Era um botão chamado OK.

O botão não explicava o que faria.

A mensagem de erro não aparecia.

O usuário clicava novamente.

O sistema criava uma nova tentativa.

Cada tentativa gerava outra.

E outra.

E outra.

A aplicação não estava sendo atacada por mortos-vivos.

Estava sendo atacada por decisões de design que se recusavam a morrer.

O programador abriu o código da interface e substituiu:

[ OK ]

por:

[ CONFIRMAR CANCELAMENTO ]

Depois adicionou:

O cancelamento não poderá ser desfeito.
Deseja continuar?

E finalmente:

Cancelamento concluído.

Naquele instante, o terminal parou de piscar.

O contador de erros começou a cair.

No monitor principal surgiu:

USER EXPERIENCE: RECOVERING
INTERFACE INTEGRITY: 97%
SYSTEM STATUS: HUMAN AGAIN

Conclusão: no fim, projetamos para pessoas

Web Design é muito maior do que criar uma página bonita.

Ele envolve:

  • UI;

  • UX;

  • pesquisa;

  • acessibilidade;

  • responsividade;

  • arquitetura da informação;

  • arquitetura do sistema;

  • Front-end;

  • Back-end;

  • APIs;

  • regras de negócio;

  • dados;

  • comunicação.

Uma interface é o ponto de encontro entre três mundos:

PESSOA
   ↘
    INTERFACE
   ↗
SISTEMA

Se o projeto pensa apenas no sistema, pode tornar-se tecnicamente correto e humanamente impossível.

Se pensa apenas na aparência, pode tornar-se bonito e inutilizável.

Se pensa apenas no usuário, ignorando regras e limitações, pode propor algo inviável.

A boa experiência surge quando essas três dimensões trabalham juntas.

Para o programador COBOL iniciante, essa visão é especialmente valiosa.

Você poderá trabalhar em sistemas nos quais:

  • uma tela Web chama uma API;

  • a API acessa o z/OS;

  • o z/OS Connect chama o CICS;

  • o CICS executa um programa COBOL;

  • o COBOL consulta Db2 ou VSAM;

  • o resultado retorna para o navegador.

O usuário talvez nunca saiba que existe COBOL atrás daquela tela.

Mas sentirá imediatamente quando a interação for confusa, lenta ou incompleta.

Essa é a grande verdade escondida no subsolo do Web Design:

O usuário não enxerga a arquitetura inteira, mas experimenta todas as consequências dela.

Portanto, antes de perguntar apenas:

Está bonito?

Pergunte:

Está claro?
Está acessível?
Está organizado?
Está conectado ao sistema?
Está preparado para erros?
Está ajudando alguém?

Porque no mundo real das aplicações, interfaces mal projetadas raramente desaparecem.

Elas continuam caminhando.

Entram em produção.

Espalham confusão.

Geram chamados.

Produzem retrabalho.

E, quando ninguém investiga a causa, voltam na próxima versão com um novo layout, uma nova fonte e os mesmos velhos problemas.

No Bellacosa Mainframe, aprendemos a regra definitiva de sobrevivência:

Nunca julgue um sistema apenas pela tela inicial.

Atrás de cada botão existe uma operação.

Atrás de cada mensagem existe uma decisão.

Atrás de cada interface existe uma arquitetura.

E atrás de toda boa arquitetura deve existir uma pessoa que consiga utilizá-la sem precisar lutar contra ela.

  • Aprenda mais sobre SEO

https://eljefemidnightlunch.blogspot.com/2013/10/a-busca-pelo-santo-seo-o-indice-oficial.html

quarta-feira, 10 de julho de 2024

Seirei Gensouki 2 : Quando o Passado Encontra o Presente — A Temporada em que o Isekai se Torna um Grande Jogo Político

 

Bellacosa Mainframe apresenta seirei gensouki 2

☕ Um Café no Bellacosa Mainframe

Seirei Gensouki 2 (精霊幻想記2)

Quando o Passado Encontra o Presente — A Temporada em que o Isekai se Torna um Grande Jogo Político

A primeira temporada de Seirei Gensouki apresentou Rio, suas origens e a curiosa fusão de sua consciência com as memórias de Haruto Amakawa. A segunda temporada abandona o ritmo de "apresentação" e amplia significativamente o universo da obra. O foco deixa de ser apenas a evolução individual do protagonista e passa a envolver política entre reinos, heróis invocados, antigas conspirações e reencontros emocionantes.

É também a temporada em que a narrativa demonstra que a série nunca foi apenas um isekai de aventura. O mundo criado por Yuri Kitayama torna-se mais complexo, revelando conexões entre diferentes personagens, interesses diplomáticos e mistérios ligados à própria natureza da reencarnação e da invocação de heróis.


Ficha Técnica

Título Original: 精霊幻想記2 (Seirei Gensōki 2)

Título Internacional: Seirei Gensouki: Spirit Chronicles Season 2

Autor da obra original: Yuri Kitayama

Ilustrações da Light Novel: Riv

Estúdio: TMS Entertainment (Studio 6) em colaboração com Wao World.

Direção: Osamu Yamasaki

Lançamento: 7 de outubro a 24 de dezembro de 2024.  


Quantidade de episódios

  • 12 episódios

Continua adaptando a light novel, cobrindo novos arcos e preparando terreno para conflitos ainda maiores.


Gênero

  • Isekai

  • Fantasia Medieval

  • Aventura

  • Magia

  • Drama

  • Romance

  • Política

  • Mistério

  • Ação

  • Harem (leve)


Classificação Indicativa

14 anos

Há batalhas, violência moderada e temas emocionais, mas o foco permanece na fantasia e no desenvolvimento dos personagens.


Sinopse

Após inúmeras viagens e batalhas, Rio começa finalmente a compreender seu verdadeiro papel naquele continente.

Ao mesmo tempo, pessoas importantes de sua vida anterior aparecem inesperadamente naquele mundo.

Enquanto tenta proteger aqueles que ama, Rio percebe que existe uma conspiração muito maior envolvendo heróis invocados, famílias nobres e poderes ancestrais.

A temporada transforma a história em uma aventura política de larga escala.


Resumo da História

Grande parte da temporada gira em torno dos reencontros entre Rio e personagens ligados à vida de Haruto, além da convivência entre diferentes reinos e da tensão causada pela chegada de novos heróis invocados.

Rio passa a atuar como mediador, guerreiro e protetor, evitando guerras desnecessárias enquanto tenta desvendar forças ocultas que manipulam os acontecimentos.

O desenvolvimento deixa claro que seu poder cresce na mesma proporção que suas responsabilidades.


O que muda em relação à primeira temporada?

A maior diferença é a escala.

Na primeira temporada:

  • conhecemos Rio;

  • entendemos sua origem;

  • acompanhamos sua evolução.

Na segunda:

  • o continente inteiro entra em cena;

  • diversos reinos passam a disputar influência;

  • aparecem novos heróis;

  • alianças políticas tornam-se fundamentais;

  • antigos mistérios começam a ser revelados.

A história deixa de ser apenas pessoal para ganhar dimensões geopolíticas.


Worldbuilding

A segunda temporada aprofunda elementos que antes apareciam apenas de forma superficial.

Conhecemos melhor:

  • relações diplomáticas;

  • diferenças culturais entre reinos;

  • funcionamento da nobreza;

  • povos da floresta;

  • espíritos superiores;

  • magia antiga;

  • heróis convocados;

  • tradições e cerimônias.

O universo torna-se muito mais vivo e coerente.


Sistema de Magia

Também recebe mais atenção.

Além das magias convencionais, vemos:

  • técnicas espirituais avançadas;

  • manipulação de mana;

  • contratos espirituais;

  • armas mágicas;

  • barreiras;

  • habilidades exclusivas de determinados personagens.

As batalhas passam a depender mais de estratégia do que apenas de força bruta.


Personagens Principais

Rio

Agora muito mais maduro.

Sua postura lembra a de um cavaleiro errante.

Mesmo possuindo enorme poder, continua humilde.


Aishia

Continua sendo um dos maiores pilares da força de Rio.

Seu vínculo espiritual evolui durante a temporada.


Celia Claire

Recebe maior desenvolvimento emocional.

Sua relação com Rio ganha novas camadas.


Miharu Ayase

Sua presença torna-se ainda mais importante por representar a ligação entre o passado japonês de Haruto e a nova vida de Rio.


Liselotte Cretia

Uma das figuras políticas mais interessantes da série.

Empresária, estrategista e extremamente inteligente.

Sua visão moderna aproxima-se bastante da de Haruto.


Flora Beltrum

A princesa amadurece e assume papel mais relevante nas relações diplomáticas entre os reinos.


As Aventuras

Rio:

  • protege caravanas;

  • impede conflitos diplomáticos;

  • enfrenta novos inimigos;

  • resgata aliados;

  • investiga conspirações;

  • participa de encontros entre nobres;

  • fortalece alianças;

  • descobre novos mistérios sobre os heróis convocados.

A temporada intercala ação com momentos de desenvolvimento político e emocional.


Temáticas

A segunda temporada amplia os temas discutidos:

  • responsabilidade;

  • liderança;

  • diplomacia;

  • amizade;

  • família;

  • memória;

  • identidade;

  • confiança;

  • escolhas;

  • convivência entre culturas.


Mensagens Ocultas

Poder exige responsabilidade

Rio já é um dos indivíduos mais fortes do continente.

Mesmo assim, evita usar violência quando a diplomacia pode resolver o problema.

É uma mensagem clássica de maturidade.


O conhecimento aproxima mundos

Haruto leva conhecimentos modernos.

Rio conhece profundamente aquele continente.

Juntos demonstram que inovação nasce quando culturas diferentes cooperam.


Política nem sempre significa guerra

Boa parte dos conflitos da temporada é resolvida através de negociações.

A obra mostra que inteligência frequentemente vale mais do que força.


O passado não desaparece

Mesmo vivendo outra vida, Haruto continua influenciando Rio.

A série reforça que nossas experiências moldam quem somos, mas não precisam determinar nosso futuro.


Qualidade da Animação

A produção mantém o padrão da primeira temporada. Os designs permanecem consistentes e os cenários medievais continuam detalhados. As cenas de magia e combate são competentes, embora algumas lutas utilizem animação mais simples devido às limitações de orçamento. O destaque permanece na narrativa e nos relacionamentos entre os personagens.  


Diferenças entre Anime e Light Novel

Assim como na primeira temporada, a adaptação acelera vários acontecimentos.

Entre as mudanças mais comentadas pelos leitores:

  • simplificação de diálogos políticos;

  • redução de interações entre personagens;

  • menor aprofundamento da diplomacia;

  • condensação de alguns arcos.

Apesar disso, a essência da história é preservada.


Curiosidades

  • A segunda temporada foi anunciada após a boa recepção da primeira, demonstrando a força contínua da franquia.  

  • A light novel já ultrapassou 30 volumes publicados no Japão, mostrando que o anime ainda adaptou apenas uma parte da narrativa.  

  • O reencontro entre Rio e personagens ligados à vida de Haruto era um dos momentos mais aguardados pelos leitores desde os primeiros volumes.


Impacto Cultural

Embora continue sendo uma franquia de médio porte dentro do universo isekai, Seirei Gensouki consolidou sua reputação com a segunda temporada ao expandir sua mitologia e fortalecer a fidelidade dos fãs. A série é frequentemente recomendada para quem procura um isekai que combine ação, fantasia, política e desenvolvimento gradual do protagonista, sem depender apenas de batalhas ou humor. O sucesso contínuo das light novels e a recepção positiva da nova temporada reforçam a longevidade da obra.  


Avaliação Bellacosa Mainframe

CritérioNota
Worldbuilding⭐⭐⭐⭐⭐ (9,3/10)
Evolução do protagonista⭐⭐⭐⭐⭐ (9,5/10)
Política⭐⭐⭐⭐⭐ (9,2/10)
Desenvolvimento dos personagens⭐⭐⭐⭐☆ (9,0/10)
Magia⭐⭐⭐⭐☆ (8,8/10)
Ação⭐⭐⭐⭐☆ (8,5/10)
Romance⭐⭐⭐⭐☆ (8,5/10)
Animação⭐⭐⭐⭐☆ (8,2/10)
Fidelidade à Light Novel⭐⭐⭐☆☆ (7,5/10)

Conclusão

A segunda temporada de Seirei Gensouki marca a transição da obra de uma jornada pessoal para uma fantasia épica de escala continental. O foco em diplomacia, alianças, identidade e consequências do poder enriquece a narrativa e diferencia a série de muitos isekais centrados apenas na evolução do protagonista.

No espírito Bellacosa Mainframe, Rio lembra um sistema IBM Z moderno: por fora, parece tranquilo e estável; por dentro, coordena múltiplos processos simultaneamente, conciliando interesses, resolvendo conflitos e mantendo tudo em funcionamento. Assim como um grande ambiente corporativo, a verdadeira força não está apenas na capacidade de processar mais rápido, mas em integrar diferentes "mundos" de forma confiável e inteligente.




terça-feira, 9 de julho de 2024

COBOL Ponteiros de Memória: Os Cristais Kyber Escondidos do IBM Z – O Padawan Avançado - Parte IV

 

Bellacosa Mainframe e os ponteiros de memoria em cobol Parte IV

COBOL Ponteiros de Memória: Os Cristais Kyber Escondidos do IBM Z

Parte 4 – O Padawan Avançado

COBOL, Metal C, APIs, Buffers Compartilhados, JSON, MQ e as Técnicas Jedi de Alto Desempenho no IBM Z

Por Bellacosa Mainframe


"O Padawan aprende MOVE. O Cavaleiro aprende BASED. O Mestre aprende que um ponteiro pode conectar universos inteiros."

Mestre Bellacosa Sysprog Jedi


Introdução

Chegamos ao último módulo do Holocron dos Ponteiros COBOL.

Nas partes anteriores aprendemos:

Parte 1

  • USAGE POINTER

  • ADDRESS OF

  • SET

  • AMODE

  • Heap

  • Stack

Parte 2

  • BASED

  • ALLOCATE

  • FREE

  • CEEGTST

  • Estruturas dinâmicas

Parte 3

  • SOC4

  • Memory Leak

  • Overlay

  • CEEDUMP

  • IPCS

  • Fault Analyzer

O jovem Padawan então pergunta:

Mestre...

Eu entendi os ponteiros.

Mas onde eles realmente são usados?

O mestre aponta para um gigantesco IBM z17.

E responde.

Em praticamente todos os lugares importantes.


O grande segredo

Poucos desenvolvedores percebem.

Mas produtos IBM utilizam ponteiros intensivamente.

Exemplos.

CICS

DB2

MQ

LE

z/OS

TCP/IP

JES2

JES3

RACF

SMF

VSAM

IMS

Todos.


O COBOL moderno

COBOL não vive sozinho.

Ele conversa.

Com:

C

Metal C

Assembler

Java

MQ

JSON

REST

Sockets


E o idioma dessa conversa é.

Ponteiros.


COBOL e C

Talvez seja o casamento mais comum.


C

Produz buffer.


COBOL

Consome.


Arquitetura.

C


↓

malloc()


↓

PTR



↓

COBOL


BASED

Exemplo conceitual

Programa C.

malloc(1024);

Retorna.

Endereço.


COBOL.

01 WS-PTR POINTER.

Recebe.


Associa.

SET ADDRESS OF BUFFER

TO WS-PTR

Pronto.


COBOL agora enxerga.

Memória criada em C.


Metal C

Mais interessante.


Executa próximo do hardware.


Pode usar.

64 bits.

Storage Keys.


Compartilhar.

Buffers.


Muito utilizado.

Middleware.


Shared Memory

Outro uso avançado.


Vários programas.

Mesmo buffer.


Visualmente.

Programa A


↓

Shared Buffer


↑


Programa B

Sem cópia.


Muito rápido.


MQ

Excelente exemplo.


MQGET

MQPUT


Mensagem.


Buffer.


COBOL.

Ponteiro.


Estrutura BASED.


Visualmente.

MQ


↓

Buffer


↓

PTR


↓

BASED

Processamento.

Zero cópia.


JSON

Muito utilizado hoje.


Imagine.

{
"name":"Bellacosa",

"idade":52
}

Parser.

Cria árvore.


Cada nó.

Possui ponteiros.


Pai.

Filho.

Irmão.


Exemplo.

JSON ROOT


↓


name


↓


idade

XML

Mesma ideia.


DOM.


Tree.


Ponteiros ligam.

Nós.


APIs

z/OS Connect.


Buffers.


Payload.


Parser.


Muito comum.


Sockets

TCP/IP.


Recebe.

4096 bytes.


Ponteiro.


COBOL lê.


Mais eficiente.


Cache

Outro caso.


Tabela gigante.


Ponteiro.

Evita copiar.


Exemplo.

100 MB.


Mover.

Custa.


Apontar.

8 bytes.


Quase instantâneo.


Tabelas in-memory

Excelente.


DB local.


Lookup rápido.


Hash.


B-tree.


Implementável.


Estruturas avançadas

Lista Duplamente Encadeada

NODE


PREV


NEXT

Árvore AVL


Balanceada.


Ponteiros.


B-tree

Muito utilizada.

Banco dados.


Grafo

Exemplo.

A


/ \


B  C


\ /


D

Tudo possível.


Comparação com outras linguagens

LinguagemPonteiros
COBOLSim
CSim
C++Sim
RustControlado
JavaReferências
GoSim
PythonOculto

Curiosidade

Java.

Esconde.


COBOL.

Mostra.


C.

Expõe totalmente.


Rust.

Protege.


Quando usar?

Bellacosa recomenda.


Excelente.

Buffers

MQ

JSON

XML

APIs

Cache

LE

Middleware

Parsers

Estruturas dinâmicas


Quando evitar?

Cadastro.


Folha pagamento.


VSAM simples.


DB2 comum.


Relatórios.


Performance

Muito alta.


Sem MOVE.


Sem COPY.


Sem serialização.


Muito usada.

Em produtos IBM.


Segurança

Ainda importante.


Ponteiro errado.

Continua.

SOC4.


Heap inválido.


Overlay.


Corrompe.


Documentação

Obrigatória.


Desenhe.

Diagramas.


Exemplo.

PTR1


↓

NODE1


↓

NODE2


↓

NODE3

Ajuda manutenção.


Bellacosa Best Practices

Regra 1

Inicialize.

Sempre.

SET PTR TO NULL

Regra 2

Documente.


Regra 3

Libere.


Regra 4

Nunca reutilize.

Após FREE.


Regra 5

BASED bem definido.


Regra 6

Evite engenharia excessiva.


O Teste do Mestre

Pergunta ao Padawan.

Você precisa.

Criar.

Lista encadeada?


Não?


Use OCCURS.


Sim?


Use ponteiros.


Curiosidades Finais

A maioria dos desenvolvedores COBOL jamais precisará escrever uma árvore AVL.

Ou um parser XML próprio.

Ou um cache compartilhado.

Ou uma estrutura dinâmica baseada em CEEGTST.

Mas os profissionais que sabem fazer isso normalmente pertencem a grupos bastante especializados:

  • Sysprogs

  • Middleware Engineers

  • Desenvolvedores CICS

  • Equipes MQ

  • Produtos IBM

  • Desenvolvedores de Frameworks

  • Especialistas em LE

  • Equipes de Modernização IBM Z


O Conselho Final do Mestre Bellacosa

Os ponteiros em COBOL são quase como cristais Kyber escondidos em uma antiga câmara do templo IBM Z.

Durante décadas, muitos desenvolvedores passaram por eles sem percebê-los.

Outros ouviram histórias assustadoras sobre SOC4, overlays e memory leaks e decidiram nunca tocá-los.

E alguns poucos escolheram estudá-los profundamente.

Esses poucos descobriram algo fascinante.

Ponteiros não servem apenas para criar problemas.

Eles são a base invisível que sustenta grande parte das tecnologias modernas do ecossistema IBM Z.

São eles que permitem compartilhar buffers entre linguagens.

São eles que fazem parsers navegarem por documentos JSON gigantescos.

São eles que ajudam produtos IBM a movimentar milhões de mensagens MQ por segundo.

São eles que transformam estruturas estáticas em sistemas vivos, capazes de crescer, adaptar-se e responder dinamicamente às necessidades do negócio.

Mas existe uma última lição.

Talvez a mais importante.

Um ponteiro não possui moral.

Ele não distingue sabedoria de imprudência.

Ele apenas aponta.

E cabe ao desenvolvedor decidir se está usando esse poder para construir um elegante mecanismo de alto desempenho ou para abrir um portal direto para um CEEDUMP de 500 páginas às três horas da manhã de um fechamento bancário.


Fim do Holocron Bellacosa Mainframe

COBOL Ponteiros de Memória: Os Cristais Kyber Escondidos do IBM ZParte 1 a Parte 4 concluídas.


segunda-feira, 8 de julho de 2024

⚽ O ABEND 7X1 — Quando o Sistema Brasil Travou

 

Bellacosa Mainframe e o abend 7x1 no final da copa do mundo

O ABEND 7X1 — Quando o Sistema Brasil Travou

Há falhas que nem o tempo corrige.
Outras, ficam gravadas no log da alma — linha por linha, bit por bit — pra lembrar que até o sistema mais robusto pode cair diante de um input inesperado.

8 de julho de 2014.
Belo Horizonte.
Semifinal da Copa do Mundo no Brasil.
Era pra ser festa.
Era pra ser o código perfeito: alegria, samba, arquibancada pulsando, o povo em modo online full throttle.
Mas, do nada, o sistema caiu.

Alemanha 7, Brasil 1.
O maior abend da história do futebol.

Daquele jogo não sobrou tática, só trauma.
O Maracanazo de 1950 ganhou um irmão digital — o “Mineirazo”.
O primeiro foi dor silenciosa; o segundo foi streaming global de vergonha em HD.

Lembro bem daquele dia.
O país inteiro estava em modo “monitor ativo”: churrascos acesos, bandeiras nas janelas, crianças pintadas de verde e amarelo.
E, em 29 minutos, tudo desmoronou.
Um, dois, três, quatro…
Era como assistir a um job loopando no JES2, gerando erro atrás de erro, e o operador impotente diante do painel piscando em vermelho.

Aquela noite foi um dump de nação.
Não sabíamos se ríamos, chorávamos ou reiniciávamos o servidor.
A seleção, que sempre fora o sistema operacional do orgulho nacional, simplesmente travou.
A Alemanha rodou um script limpo, modular, enxuto — enquanto o Brasil, atolado em processos redundantes, colapsou em deadlock.

Nos dias seguintes, o país viveu uma espécie de IPL emocional.
O futebol virou metáfora de tudo: da economia que falhava, da política fragmentada, do jeitinho que já não compila.
A derrota virou checkpoint histórico.
E, como todo desastre, trouxe também logs preciosos pra análise.

🧩 Curiosidades e Easter Eggs do 7x1:

  • A Alemanha marcou 4 gols em 6 minutos — um loop infinito de desespero que só terminou porque o cronômetro insistiu.

  • O técnico Löw usava dados analíticos em tempo real — algo raro na época — quase um Watson Football rodando em campo.

  • Depois do jogo, o Google registrou o pico de buscas “o que aconteceu com o Brasil?” — um abend reason code coletivo.

  • Em algumas transmissões estrangeiras, o placar ficou congelado por minutos, porque o sistema gráfico não suportava dois dígitos de diferença — um bug literal do século XXI.

Mas o que mais doeu não foi o resultado — foi o desmonte da identidade.
O Brasil sempre foi o país do improviso genial, do assemble que vira arte.
E, de repente, o algoritmo europeu mostrou que frieza, método e linha de código limpa também vencem partidas.
Ali, perdemos o jogo e um pouco do mito.

Dez anos depois, a dor virou cicatriz — mas a lição ficou no SYSLOG:
mesmo o maior dos sistemas precisa de revisão, backup e humildade.
Porque a confiança demais no “jeitinho” é o que faz a máquina travar.

Hoje, quando vejo aquele replay — os gols, o silêncio, o rosto do David Luiz pedindo desculpas ao país — penso que aquele 7x1 foi um abend necessário.
O crash que obrigou o sistema a repensar sua arquitetura.
O abend S0C7 que doeu, mas limpou o buffer da arrogância.

E como bom mainframer, sei:
um sistema só amadurece quando aprende com o erro,
quando para de culpar o operador e começa a revisar o código.

O Brasil ainda está em recovery mode.
Mas, se há algo que aprendi nesses anos de tela verde e alma azul,
é que até o job que falha deixa rastro pra quem sabe ler o log.


domingo, 7 de julho de 2024

Suicide Squad ISEKAI : Quando Amanda Waller Descobre que Nem um Mundo de Magia é Páreo para um Time de Programas Legados Fora de Controle

 

Bellacosa Mainframe apresenta o suicide squad isekai

☕ Um Café no Bellacosa Mainframe

Suicide Squad ISEKAI (2024) sem Mistérios

Quando Amanda Waller Descobre que Nem um Mundo de Magia é Páreo para um Time de Programas Legados Fora de Controle

Imagine que alguém resolvesse misturar DC Comics, Dungeons & Dragons, isekai, humor japonês, explosões, dragões, Harley Quinn e um dos melhores estúdios de animação do Japão.

A lógica diria que seria um desastre.

Mas exatamente como acontece em muitos sistemas legados...

o resultado funciona melhor do que deveria.

Suicide Squad ISEKAI é uma produção original criada pela Warner Bros. Japan em parceria com o WIT Studio. Em vez de adaptar uma HQ específica, o anime cria uma aventura inédita, transportando os mais perigosos vilões da DC para um universo medieval repleto de magia, monstros e conspirações políticas.


Ficha Técnica

Título Original

異世界スーサイド・スクワッド
(Isekai Suicide Squad)

Título Internacional

Suicide Squad ISEKAI

Ano de lançamento

2024

Estúdio

WIT Studio

Produção

Warner Bros. Japan

Direção

Eri Osada

Roteiro

Tappei Nagatsuki (Re:ZERO)

Eiji Umehara (Vivy)

Design original dos personagens

Akira Amano
(Katekyo Hitman Reborn!)

Design para animação

Naoto Hosoda

Trilha sonora

Kenichiro Suehiro

Lançamento

27 de junho de 2024 (streaming internacional)

Episódios

10

Duração

aproximadamente 24 minutos cada.


Estúdio — WIT Studio

O WIT Studio tornou-se referência mundial por unir excelente direção artística, animações fluidas e cenas de ação cinematográficas.

Entre suas produções mais famosas estão:

  • Attack on Titan (temporadas iniciais)

  • Vinland Saga (1ª temporada)

  • SPY×FAMILY (coprodução)

  • Ranking of Kings

  • The Ancient Magus' Bride

Em Suicide Squad ISEKAI, o estúdio aposta em cores vibrantes, animação exagerada e movimentos extremamente expressivos, principalmente para Harley Quinn, criando um visual que mistura quadrinhos americanos com linguagem típica dos animes modernos. (Warner Bros.)


Sinopse

Amanda Waller, diretora da A.R.G.U.S., recruta novamente o Esquadrão Suicida.

Harley Quinn.

Deadshot.

Peacemaker.

Clayface.

King Shark.

Como sempre...

cada um recebe uma bomba implantada no pescoço.

Desta vez, porém, a missão não é em Gotham.

Eles atravessam um portal dimensional e chegam a um mundo governado por espadas, dragões, magia, elfos, orcs e reinos em guerra.

O que parecia apenas uma missão de reconhecimento rapidamente se transforma numa guerra que ameaça dois universos diferentes. (DC)


Resumo da História

Logo no início vemos Harley Quinn e Coringa espalhando caos por Gotham.

Após sua captura, Amanda Waller monta um novo Esquadrão Suicida.

O grupo atravessa um portal experimental criado pela A.R.G.U.S.

Mas nada ocorre como planejado.

O helicóptero cai.

O grupo fica preso.

Os explosivos continuam ativos.

E agora precisam sobreviver em um reino onde ninguém fala sua língua e praticamente tudo deseja matá-los.

Ao longo da série descobrem que há uma conspiração envolvendo magia, política, tecnologia e forças capazes de afetar tanto o mundo fantástico quanto a própria Terra.


Os Principais Personagens

Harley Quinn

A verdadeira estrela do anime.

Insana.

Carismática.

Imprevisível.

Seu comportamento exagerado encaixa perfeitamente na estética dos animes japoneses.


Deadshot

O mais racional da equipe.

Excelente estrategista.

Mantém o grupo relativamente unido quando tudo está desmoronando.


Peacemaker

Arrogante.

Extremamente confiante.

Acredita que sempre possui razão.

Produz algumas das cenas mais engraçadas da série.


Clayface

Capaz de assumir inúmeras formas.

Seu lado teatral gera boa parte do humor.

É praticamente um ator preso dentro de um supervilão.


King Shark

Gigantesco.

Fortíssimo.

Ingênuo.

Apesar da aparência assustadora, frequentemente demonstra comportamento infantil.


Amanda Waller

A comandante da missão.

Mesmo distante do outro mundo continua controlando todos por meio das bombas implantadas.


Coringa

Embora apareça menos do que Harley, continua sendo um elemento importante para explicar sua personalidade e suas motivações.


O que torna esse anime diferente?

Essa talvez seja sua maior qualidade.

Enquanto quase todos os isekais seguem o modelo:

  • estudante japonês

  • acidente

  • reencarnação

  • protagonista herói

Aqui acontece exatamente o contrário.

Os protagonistas são criminosos.

Não querem salvar ninguém.

Não possuem honra.

Nem pretendem virar heróis.

Eles simplesmente querem sobreviver.

Essa inversão produz situações extremamente divertidas.

Outro diferencial importante é a mistura entre:

  • fantasia medieval japonesa

  • super-heróis americanos

  • humor absurdo

  • ação extremamente violenta

  • narrativa típica dos animes.


Temáticas

Apesar da aparência caótica, diversos temas aparecem durante a série.

Liberdade

Todos são criminosos.

Mesmo atravessando dimensões continuam presos às ordens de Amanda Waller.

O cenário muda.

A prisão permanece.


Redenção

Será que pessoas consideradas monstros podem realizar atos heroicos?

A série brinca constantemente com essa ideia.


Caos versus Controle

Harley representa o caos absoluto.

Amanda representa controle absoluto.

Toda a narrativa gira em torno desse conflito.


Cooperação

Nenhum integrante suporta o outro.

Mesmo assim...

precisam trabalhar juntos.


Identidade

Ao entrar em outro mundo, muitos personagens deixam de ser vistos como supervilões.

Passam a ser apenas guerreiros estranhos tentando sobreviver.


As Grandes Aventuras

Durante os dez episódios encontramos praticamente tudo que um bom isekai oferece.

  • dragões

  • castelos

  • cavaleiros

  • elfos

  • magia

  • monstros

  • guerras

  • rebeliões

  • rainhas

  • política entre reinos

  • perseguições

  • batalhas épicas

  • criaturas gigantes

Tudo isso acompanhado da personalidade completamente imprevisível do Esquadrão Suicida.


Mensagens Ocultas

O verdadeiro inimigo pode ser o sistema

Diversos personagens são usados como ferramentas por líderes políticos.

O anime mostra como indivíduos podem ser descartáveis quando tratados apenas como recursos.


O caos produz inovação

Harley raramente resolve um problema seguindo regras.

Ela improvisa.

Erra.

Experimenta.

E muitas vezes encontra soluções impossíveis.

Isso lembra bastante inovação tecnológica.

Nem sempre seguir o manual cria os melhores resultados.


Aparências enganam

Os "vilões" frequentemente demonstram mais humanidade do que diversos governantes considerados heróis.


Trabalho em equipe

Mesmo indivíduos completamente incompatíveis podem alcançar resultados extraordinários quando unem suas habilidades.


Bellacosa Mainframe — Uma Analogia para Programadores COBOL

Imagine que Amanda Waller seja o operador do JES2.

Cada integrante do Esquadrão Suicida é um programa COBOL legado.

Nenhum foi escrito para trabalhar junto.

Cada um possui características completamente diferentes.

Mesmo assim...

o scheduler dispara todos.

O portal dimensional?

É uma API REST chamando um ambiente totalmente diferente.

O mundo mágico?

É aquele novo sistema Java distribuído.

Harley Quinn é aquele programa COBOL sem documentação.

Todo mundo reclama.

Ninguém entende.

Mas quando chega o fechamento bancário...

é justamente ele que salva toda a produção.

Clayface seria um middleware.

Transforma qualquer formato.

Converte qualquer mensagem.

King Shark lembra aquele utilitário escrito há quarenta anos.

Feio.

Estranho.

Mas extremamente eficiente.

Peacemaker?

É aquele desenvolvedor que diz:

"Meu código nunca falha."

Cinco minutos depois...

ABEND S0C7.


Impacto Cultural

Suicide Squad ISEKAI representa um interessante encontro entre duas grandes culturas do entretenimento.

De um lado estão os personagens clássicos da DC Comics.

Do outro, o gênero isekai, um dos maiores fenômenos da animação japonesa da última década.

O anime mostra que franquias ocidentais podem ser reinterpretadas sem perder sua identidade, ao mesmo tempo em que aproxima públicos diferentes: fãs de quadrinhos americanos, fãs de anime e espectadores que normalmente não consumiriam uma adaptação desse tipo. A escolha de roteiristas ligados a sucessos como Re:ZERO também ajudou a dar personalidade própria ao projeto.


Classificação

Gênero

  • Isekai

  • Fantasia

  • Ação

  • Super-heróis

  • Comédia

  • Aventura

Classificação Indicativa

Voltado ao público maduro, devido à violência estilizada, linguagem forte e cenas de ação intensas. 


Avaliação Bellacosa Mainframe

⭐⭐⭐⭐☆ 4,6 / 5

Animação: ⭐⭐⭐⭐⭐

Direção: ⭐⭐⭐⭐☆

Humor: ⭐⭐⭐⭐⭐

Originalidade: ⭐⭐⭐⭐⭐

Worldbuilding: ⭐⭐⭐⭐☆

Personagens: ⭐⭐⭐⭐⭐

Profundidade da história: ⭐⭐⭐⭐☆


Conclusão

Suicide Squad ISEKAI prova que até uma ideia aparentemente improvável pode funcionar quando há criatividade, um estúdio talentoso e respeito pelas características dos personagens.

A série não tenta copiar os filmes da DC nem seguir as fórmulas tradicionais dos isekais. Em vez disso, cria uma identidade própria, equilibrando humor, fantasia, violência estilizada e ação frenética.

No universo do Bellacosa Mainframe, fica uma última lição:

Assim como um sistema legado pode surpreender ao integrar-se com tecnologias modernas, um grupo de supervilões pode acabar salvando um reino inteiro. Às vezes, a solução mais improvável é justamente a que mantém o sistema — ou o mundo — funcionando.

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