Translate

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

sexta-feira, 10 de julho de 2026

Kubernetes sem Mistérios : Os 50 Erros que Derrubam Clusters em Produção (e que um Profissional IBM Z já Aprendeu a Evitar Há Décadas)

Bellacosa Mainframe apresenta kubernetes sem misterios



☕ Um Café no Bellacosa Mainframe

Kubernetes sem Mistérios 

Os 50 Erros que Derrubam Clusters em Produção (e que um Profissional IBM Z já Aprendeu a Evitar Há Décadas)

Existe uma curiosidade interessante.

Muitos profissionais enxergam Kubernetes como uma tecnologia revolucionária.

Ela realmente é.

Mas existe outra forma de enxergá-la.

Para quem trabalhou anos em Mainframe, Kubernetes parece muito mais uma redescoberta de conceitos que IBM já aplicava há décadas.

Disponibilidade.

Balanceamento.

Isolamento.

Escalonamento.

Segurança.

Observabilidade.

Recuperação.

Controle de acesso.

Versionamento.

Rollback.

Tudo isso sempre existiu.

A diferença é que hoje esses conceitos aparecem usando containers, pods e YAML.

No IBM Z eles aparecem como:

  • JES2

  • WLM

  • RACF

  • Sysplex

  • CICS

  • Db2

  • GDG

  • VSAM

  • SMF

  • RMF

O objetivo continua exatamente o mesmo:

Fazer sistemas críticos permanecerem funcionando.


O grande problema

Criar um cluster Kubernetes é extremamente fácil.

Rodar um cluster durante cinco anos, sem interrupções relevantes, é extremamente difícil.

Quase todos os grandes incidentes em produção acontecem por pequenas decisões aparentemente inocentes.

É exatamente isso que o infográfico demonstra.


BLOCO 1

Cluster & Infrastructure

Erro 1

Um único Worker Node

Imagine um banco inteiro rodando em apenas um IBM Z.

Parece absurdo.

No Kubernetes isso acontece o tempo inteiro.

Node A

APP1
APP2
APP3
APP4

Se esse servidor falhar...

Tudo cai.


No Mainframe isso seria equivalente a:

  • um único CPC

  • sem Parallel Sysplex

  • sem GDPS

  • sem redundância

Alta disponibilidade simplesmente deixa de existir.


Erro 2

Não proteger o Control Plane

O Control Plane é o cérebro.

Ele contém:

  • API Server

  • Scheduler

  • Controller Manager

  • ETCD

Sem ele...

O cluster fica "cego".

Os containers podem continuar rodando por algum tempo.

Mas nada novo consegue ser criado.

É parecido com perder o JES2 Master.


Erro 3

Não fazer backup do ETCD

O ETCD guarda praticamente todo o estado do cluster.

É equivalente ao:

  • catálogo do sistema

  • SYS1

  • repositórios de configuração

Sem ETCD...

Você perdeu:

  • Deployments

  • Services

  • Secrets

  • ConfigMaps

  • RBAC

  • Namespaces

Ou seja...

Perdeu o cluster.


Erro 4

Misturar Desenvolvimento e Produção

Esse é um erro clássico.

Imagine colocar:

PIX
Internet Banking
Folha de Pagamento

junto com

Sistema de Testes

No mesmo cluster.

Um teste mal executado pode consumir:

CPU

Memória

IO

Rede

e afetar produção.


Mainframe resolveu isso há décadas.

LPARs.

WLM.

Classes de serviço.

Ambientes isolados.


BLOCO 2

Resource Management

Aqui aparece um dos assuntos mais importantes.

Recursos.

No Kubernetes nada funciona "no automático".


Requests

Requests significam:

"O mínimo que preciso."

Exemplo

CPU: 500m

Memory: 1GB

O Scheduler utiliza isso para decidir onde colocar o Pod.

Sem requests...

Ele simplesmente chuta.


É semelhante ao WLM tentando distribuir workload sem conhecer prioridades.


Limits

Agora vem outra história.

Limits representam o máximo permitido.

CPU

2 cores

RAM

4GB

Se ultrapassar...

O processo sofre throttling.

Ou pode ser encerrado.


OOMKilled

Talvez o erro mais famoso.

Quando um container usa mais memória que o permitido.

O Kernel Linux faz:

OOM Killer

e encerra o processo.

No Mainframe seria parecido com:

Storage exhaustion

ou

S878


HPA

Horizontal Pod Autoscaler.

Ele aumenta o número de Pods.

Mas cuidado.

Escalar uma aplicação ruim apenas cria mais instâncias lentas.

É parecido com colocar mais CICS Regions para um programa que possui SQL ruim.

O gargalo continua existindo.


BLOCO 3

Deployment

Aqui surgem alguns erros extremamente comuns.


Nunca usar latest

Jamais.

image: latest

Parece prático.

Mas amanhã...

"latest"

é outra versão.

Você perdeu reprodutibilidade.


Sempre utilize

1.2.7

2.1.0

5.8.12

ou melhor ainda

Digest SHA256.


Isso lembra muito o mundo Mainframe.

Nunca executamos:

PROD.COBOL

Sabemos exatamente qual Load Module foi promovido.


Readiness Probe

O Pod iniciou.

Mas será que ele está pronto?

Não necessariamente.

Uma aplicação Java pode precisar:

30 segundos.

Sem Readiness.

O Kubernetes envia tráfego imediatamente.

Resultado:

Erro.


Liveness Probe

Verifica se o processo continua vivo.

Se travar...

O Kubernetes reinicia.

É semelhante ao Automation do SA z/OS detectando um address space congelado.


Startup Probe

Ideal para aplicações pesadas.

Sem ela...

O Kubernetes mata a aplicação antes dela terminar de iniciar.


Rolling Update

Jamais atualizar todos os Pods simultaneamente.

Sempre:

1
2
3
4

Nunca:

100%

de uma vez

É exatamente o conceito de deploy gradual utilizado por bancos.


BLOCO 4

Networking

Aqui muitos iniciantes sofrem.


Network Policies

Sem elas...

Todo Pod conversa com qualquer Pod.

Isso é perigosíssimo.

Imagine um malware chegando.

Ele consegue acessar praticamente tudo.


É equivalente a um RACF onde todos possuem ALTER em todos os datasets.

Impensável.


DNS

Muitos problemas parecem ser de aplicação.

Na verdade são DNS.

service

↓

CoreDNS

↓

IP

Uma falha aqui afeta milhares de Pods.


NodePort

Expor NodePort diretamente para Internet.

Nunca.

Use:

Ingress

Load Balancer

API Gateway

WAF


TLS

Sem TLS.

Todo tráfego pode ser interceptado.

No Mainframe isso seria equivalente a utilizar TN3270 sem criptografia.


BLOCO 5

Storage & Security

Aqui aparecem erros gravíssimos.


Rodar como Root

Nunca.

Um container comprometido ganha acesso privilegiado.

Use:

runAsNonRoot

readOnlyRootFilesystem

drop capabilities

Secrets em ConfigMaps

Erro extremamente comum.

ConfigMap não criptografa.

Secrets devem permanecer em:

Secret

Vault

KMS

External Secrets


RBAC

Sem RBAC.

Todos administram tudo.

Imagine um operador podendo:

Excluir produção.

Criar usuários.

Modificar políticas.

É por isso que RACF existe.

RBAC é o RACF do Kubernetes.


BLOCO 6

Observabilidade

Talvez o capítulo mais importante.


Sem logs...

Não existe troubleshooting.


Sem métricas...

Não existe capacity planning.


Sem tracing...

Não existe análise distribuída.


Sem dashboards...

Não existe visão operacional.


Ferramentas normalmente utilizadas

Logs

  • ELK

  • OpenSearch

  • Loki

Métricas

  • Prometheus

Dashboards

  • Grafana

Tracing

  • Jaeger

  • Tempo

  • Zipkin

Alertas

  • Alertmanager


Isso lembra muito:

RMF

SMF

OMEGAMON

NetView

Tivoli

Z APM Connect


BLOCO 7

Operação

Aqui aparecem erros humanos.

E a maioria dos grandes incidentes nasce justamente deles.


Deploy manual

Nunca.

Sempre:

Git

Pipeline

Automação


GitOps

O Git torna-se a verdade absoluta.

Toda alteração passa por:

Commit

Review

Pipeline

Deploy

Rollback


É semelhante ao ChangeMan, ISPW ou Endevor.

Nada muda diretamente na produção.


Não testar recuperação

Backup sem restore não vale nada.

Todo DR precisa ser testado.

No IBM Z isso sempre foi obrigatório.

GDPS.

Recovery.

Image Copy.

Log Apply.


Não auditar segurança

Novas vulnerabilidades surgem diariamente.

Imagens precisam ser continuamente escaneadas.


Os "novos" erros 

Os últimos slides ampliam ainda mais a lista.

Entre eles destacam-se:

  • Não definir ResourceQuota.

  • Não usar LimitRange.

  • Ignorar Namespaces.

  • Expor aplicações diretamente.

  • Não realizar backup periódico do ETCD.

  • Não otimizar custos.

  • Não separar ambientes.

  • Não validar probes continuamente.

  • Não monitorar consumo financeiro do cluster.

Esses erros normalmente não derrubam o ambiente no primeiro dia, mas aumentam gradualmente a complexidade operacional e o risco de incidentes.


O grande paralelo com IBM Z

O aspecto mais interessante desse material é perceber que praticamente todos os "50 erros do Kubernetes" já possuem um equivalente consolidado no ecossistema IBM Z:

KubernetesIBM Z / Mainframe
RBACRACF
SchedulerWLM
Rolling UpdatePromoção controlada (Endevor/ISPW/ChangeMan)
ReplicaSetParallel Sysplex
ETCDCatálogos e repositórios críticos do sistema
ObservabilidadeRMF, SMF, OMEGAMON
Health ChecksSA z/OS, NetView
GitOpsGestão de configuração e promoção de software
SecretsRACF + ICSF + cofres corporativos
AutoscalingBalanceamento e classes de serviço do WLM

A tecnologia mudou, mas os princípios permanecem.


A maior lição para um Padawan COBOL

Quem está começando em Kubernetes costuma imaginar que dominar YAML, Pods e Deployments basta para operar um ambiente de produção. Na realidade, isso representa apenas uma pequena parte do trabalho.

Os profissionais mais experientes pensam primeiro em engenharia operacional. Antes de criar um único Deployment, eles definem como recuperar o cluster após uma falha, como limitar recursos para evitar que uma aplicação afete outra, como monitorar métricas, como proteger segredos, como automatizar implantações, como auditar mudanças e como garantir que qualquer alteração possa ser revertida rapidamente.

Essa é exatamente a mentalidade que sempre existiu no IBM Z. Durante décadas, bancos, seguradoras e governos construíram sistemas que precisavam permanecer disponíveis 24 horas por dia. Kubernetes não substitui esses princípios; ele os reapresenta em uma nova arquitetura baseada em containers.

No Bellacosa Mainframe, essa é talvez a maior mensagem deste material: um bom engenheiro de Kubernetes não é aquele que conhece mais comandos kubectl, mas aquele que projeta plataformas resilientes, observáveis, seguras e previsíveis. A verdadeira maturidade está menos na tecnologia utilizada e muito mais na disciplina de engenharia aplicada a ela.

domingo, 5 de julho de 2026

Kubernetes Autoscaling Muito Além do HPA

 

Bellacosa Mainframe e o kubernetes autoscaling

☕ Um Café no Bellacosa Mainframe

Kubernetes Autoscaling Muito Além do HPA

O Que Todo Programador COBOL Padawan Precisa Saber Sobre HPA, VPA, Cluster Autoscaler e Como os Grandes Bancos Escalam Milhões de Transações Sem Desperdiçar Recursos

"No Mainframe aprendemos que desempenho nunca foi apenas velocidade. Sempre foi equilíbrio entre capacidade, disponibilidade, custo e confiabilidade. Kubernetes apenas reinventou esse conceito para a era da nuvem."


Introdução

Existe uma pergunta que praticamente todo desenvolvedor faz quando começa a estudar Kubernetes:

"Se meu sistema receber mais acessos, o Kubernetes cria novos Pods automaticamente?"

A resposta é:

Depende.

E é justamente esse "depende" que confunde milhares de profissionais todos os anos.

Quando um Programador COBOL começa a estudar Kubernetes, normalmente imagina que existe apenas um mecanismo responsável por aumentar a capacidade da aplicação.

Na prática, isso está longe da realidade.

Na verdade, Kubernetes possui diversos mecanismos diferentes de escalabilidade, cada um resolvendo um problema específico.

Alguns aumentam a quantidade de Pods.

Outros aumentam CPU e memória.

Outros adicionam novos servidores inteiros ao cluster.

Cada um trabalha em uma camada diferente da infraestrutura.

É exatamente como acontece em um grande banco.

Quando o Internet Banking começa a ficar lento, ninguém simplesmente compra um novo servidor.

Antes disso existem diversas decisões:

  • aumentar regiões CICS?

  • criar novos servidores WebSphere?

  • ajustar WLM?

  • aumentar memória?

  • ativar Capacity on Demand?

  • adicionar uma nova LPAR?

No Kubernetes acontece exatamente a mesma filosofia.

Neste artigo vamos entender profundamente como funcionam:

  • Horizontal Pod Autoscaler (HPA)

  • Vertical Pod Autoscaler (VPA)

  • Cluster Autoscaler (CA)

Sempre fazendo paralelos com IBM Z, COBOL, CICS, Batch, WLM e arquitetura corporativa.


Antes de falar sobre Autoscaling...

Precisamos entender um conceito fundamental.

O verdadeiro objetivo não é aumentar recursos.

É utilizar exatamente os recursos necessários.

Essa diferença parece pequena.

Mas muda completamente a forma de projetar sistemas.

Imagine um supermercado.

Às 3 horas da manhã existem apenas cinco clientes.

Às 18 horas existem dois mil clientes.

Você contrataria:

  • 200 caixas funcionando o dia inteiro?

Claro que não.

Também não deixaria apenas dois caixas funcionando às 18 horas.

A solução inteligente é adaptar a quantidade de caixas conforme o movimento.

É exatamente isso que Kubernetes faz.


O grande problema dos sistemas tradicionais

Durante décadas o modelo foi simples.

Comprar servidores suficientes para suportar o pior cenário.

Imagine uma aplicação bancária.

Segunda-feira:

CPU: 12%

Terça-feira:

CPU: 18%

Quarta-feira:

CPU: 22%

Na Black Friday:

CPU: 98%

O servidor foi comprado pensando apenas nesse último dia.

Resultado:

Durante praticamente todo o ano:

  • CPU parada

  • memória parada

  • discos subutilizados

  • energia desperdiçada

  • dinheiro desperdiçado

Cloud Computing mudou completamente essa lógica.

Agora infraestrutura pode crescer e diminuir automaticamente.


Elasticidade x Escalabilidade

Esses conceitos costumam ser confundidos.

Escalabilidade

É a capacidade do sistema suportar mais carga.

Exemplo:

Um servidor suporta:

500 usuários

Depois de melhorias:

5.000 usuários

Ele ficou mais escalável.


Elasticidade

É a capacidade de crescer e diminuir automaticamente.

Hoje:

2 Pods

Daqui cinco minutos:

20 Pods

Mais tarde:

4 Pods

Tudo sem intervenção humana.

Isso é elasticidade.

É justamente o coração do Kubernetes.


Os três tipos de escalabilidade

A maioria das pessoas acredita que existe apenas um tipo.

Na realidade existem três.

Escalabilidade Horizontal

Adicionar mais instâncias.

Exemplo:

Antes

2 Pods

Depois

8 Pods

Cada Pod continua igual.

Apenas existem mais deles.


Escalabilidade Vertical

Não aumenta quantidade.

Aumenta potência.

Antes

CPU 500m

Memória 512Mi

Depois

CPU 2

Memória 4Gi

Mesmo Pod.

Mais poderoso.


Escalabilidade da Infraestrutura

Agora nem estamos falando da aplicação.

Estamos falando do próprio cluster.

Antes

3 Workers

Depois

10 Workers

Agora existe espaço para muito mais Pods.


HPA — Horizontal Pod Autoscaler

Este é o autoscaler mais famoso.

Seu trabalho é extremamente simples.

Responder uma única pergunta.

Existem Pods suficientes?

Observe o que ele NÃO pergunta.

  • Existe CPU suficiente?

  • Existe memória suficiente?

  • Existem servidores suficientes?

Nada disso.

Ele pensa apenas em quantidade de Pods.


Como o HPA funciona?

Imagine uma API.

Ela começou o dia assim.

2 Pods

CPU média:

20%

Tudo funcionando.

Então começa uma campanha de marketing.

A CPU sobe para:

92%

O HPA verifica que sua meta era:

70%

Então ele faz um cálculo.

Simplificando:

Novos Pods =
Pods atuais ×
(CPU Atual / CPU Desejada)

Se havia:

4 Pods

CPU:

84%

Meta:

70%

Resultado:

4 × 84 ÷ 70

≈ 4,8

O Kubernetes arredonda.

Agora teremos:

5 Pods

Se a carga continuar aumentando:

6

8

12

20 Pods

Tudo automático.


Mas o HPA não olha apenas CPU

Esse é um erro muito comum.

Na realidade ele pode observar praticamente qualquer métrica.

Exemplos.

CPU

Memória

Requests por segundo

Tempo médio de resposta

Fila Kafka

RabbitMQ

Prometheus

Número de usuários

Sessões abertas

Mensagens pendentes

Quantidade de pedidos

Pix aguardando processamento

Fila de cartões

Custom Metrics

Isso significa que o HPA pode crescer baseado na necessidade real do negócio.

Imagine um banco.

Talvez CPU nem seja importante.

O importante pode ser:

Fila PIX > 2000

Nesse momento:

Criar novos Pods.

Muito mais inteligente.


Como o HPA conversa com Kubernetes?

O fluxo é relativamente simples.

Usuário

Ingress

Service

Pods

Kubelet mede CPU

Metrics Server coleta

API Server publica

HPA consulta

ReplicaSet aumenta Pods

Deployment cria novas réplicas

Tudo acontece continuamente.

Sem intervenção humana.


HPA não fica escalando o tempo todo

Imagine esta situação.

CPU:

69%

71%

69%

70%

71%

69%

Sem mecanismos de estabilização.

Teríamos:

8 Pods

9 Pods

8 Pods

9 Pods

8 Pods

Isso seria um desastre.

Por isso existem diversos mecanismos internos.

Cooldown.

Stabilization Window.

Tolerance.

Scale Policies.

Esses mecanismos evitam oscilações desnecessárias.


HPA possui limitações

Ele não faz milagres.

Imagine.

Seu cluster possui apenas:

2 Workers

Cada Worker possui:

8 CPUs

Todos estão completamente ocupados.

O HPA decide criar:

30 Pods

Mas onde eles serão executados?

Resposta.

Em lugar nenhum.

Eles ficam:

Pending

É aqui que entra outro personagem.


VPA — Vertical Pod Autoscaler

Agora o problema mudou completamente.

Não queremos mais criar novos Pods.

Queremos melhorar os Pods existentes.

Imagine.

Seu Deployment foi criado assim.

requests:
 cpu: 100m
 memory: 128Mi

Na prática ele utiliza:

CPU

850m

Memória

950Mi

Resultado.

CPU Throttling.

OOMKilled.

Baixo desempenho.

O VPA observa isso.


Como o VPA aprende?

Ao contrário do HPA.

Ele analisa histórico.

Dias.

Semanas.

Meses.

Depois calcula recomendações.

Exemplo.

Atual.

CPU

100m

Recomendado.

900m

Atual.

256Mi

Recomendado.

1Gi

Isso reduz desperdício.

E melhora desempenho.


Os modos do VPA

Off

Apenas recomenda.

Muito usado em produção.

Você recebe um relatório.

Mas nenhuma alteração acontece.


Auto

Atualiza automaticamente.

Se necessário reinicia Pods.

É extremamente poderoso.


Initial

Aplica apenas durante a criação.

Excelente para aplicações críticas.


Por que o VPA reinicia Pods?

Muitos iniciantes estranham isso.

O motivo é simples.

CPU e memória fazem parte da especificação do Pod.

Depois que o container está em execução.

Esses parâmetros normalmente não podem ser alterados.

Então o Kubernetes cria um novo Pod.

Com os novos valores.


O que o VPA não faz?

Não cria novos Pods.

Não cria servidores.

Não aumenta Workers.

Não substitui HPA.

São ferramentas complementares.


Cluster Autoscaler

Agora chegamos à infraestrutura.

Imagine.

Seu HPA criou:

50 Pods

Mas existem apenas:

3 Workers

Todos lotados.

Resultado.

Pods Pending

O Scheduler tenta.

Não consegue.

Agora entra o Cluster Autoscaler.


O trabalho do Cluster Autoscaler

Ele pergunta.

Existe algum Pod que não consegue ser agendado?

Se existir.

Ele conversa com o provedor de nuvem.

AWS.

Azure.

Google.

OpenShift.

VMware.

E solicita novos Workers.

Depois que os novos servidores entram no cluster.

O Scheduler distribui os Pods.


Fluxo completo

Usuários aumentam.

CPU aumenta.

HPA cria Pods.

Pods ficam Pending.

Cluster Autoscaler detecta.

Cloud cria Workers.

Workers entram.

Scheduler agenda Pods.

Aplicação volta ao normal.

Tudo automático.


Como o Cluster Autoscaler decide remover servidores?

Ele também reduz custos.

Imagine.

Domingo.

Pouquíssimos acessos.

Existem:

15 Workers

Mas apenas:

3

são necessários.

O Cluster Autoscaler verifica.

Os Pods podem ser movidos?

Se sim.

Executa.

Drain.

Eviction.

Delete Node.

Resultado.

Economia de infraestrutura.


Comparando HPA, VPA e Cluster Autoscaler

Imagine um supermercado.

HPA

Contrata mais caixas.

Mais pessoas atendendo clientes.


VPA

Entrega computadores mais rápidos para cada caixa.

Cada funcionário trabalha melhor.


Cluster Autoscaler

Constrói uma nova loja.

Agora existe espaço para muito mais caixas.

São três problemas diferentes.


Um exemplo real de um grande banco

Imagine um aplicativo bancário.

Às 8h da manhã.

Começam os acessos.

Primeiro.

O HPA aumenta.

6 Pods

↓

20 Pods

Depois percebe-se que cada Pod está consumindo muito mais memória.

O VPA recomenda.

512Mi

↓

2Gi

Agora não existe mais capacidade física.

O Cluster Autoscaler adiciona.

8 Workers

↓

16 Workers

O usuário final nem percebe.

Essa é a magia da elasticidade.


Analogia com IBM Mainframe

Quem trabalha com IBM Z perceberá rapidamente várias semelhanças.

HPA

Lembra aumentar regiões CICS.

Ou criar mais servidores Liberty.

Mais instâncias.

Mesmo programa COBOL.


VPA

Lembra ajustar REGION.

Heap Java.

Parâmetros WLM.

Mais recursos para uma região existente.


Cluster Autoscaler

Lembra.

Adicionar novas LPARs.

Capacity on Demand.

Expandir Parallel Sysplex.

Mais infraestrutura.

A filosofia é praticamente idêntica.


Quando utilizar cada um?

Use HPA.

Quando existem picos de acesso.

APIs REST.

Microsserviços.

Front-end.

Aplicações stateless.


Use VPA.

Quando deseja otimizar CPU e memória.

Eliminar desperdício.

Evitar OOMKilled.

Melhorar desempenho.


Use Cluster Autoscaler.

Quando a infraestrutura precisa crescer automaticamente.

Principalmente em Cloud.

AWS.

Azure.

Google Cloud.

OpenShift.


O futuro: KEDA e Event-Driven Autoscaling

Os mecanismos que estudamos são apenas a base. Em arquiteturas modernas, surge um quarto componente importante: o KEDA (Kubernetes Event-Driven Autoscaling).

Enquanto o HPA reage principalmente a métricas como CPU e memória, o KEDA reage a eventos.

Imagine um sistema de processamento de boletos. Não importa a CPU; o importante é saber quantos boletos aguardam processamento em uma fila do IBM MQ ou do Kafka.

Se houver 10 mensagens, um Pod é suficiente.

Se houver 10.000 mensagens, o KEDA pode solicitar ao HPA dezenas de Pods para processar a fila rapidamente.

Esse modelo aproxima o Kubernetes dos conceitos de processamento orientado a filas, muito conhecidos por profissionais de Mainframe que trabalham com IBM MQ, CICS Trigger Transactions e Batch.


Conclusão

Quando começamos a estudar Kubernetes, é comum acreditar que autoscaling significa apenas "criar mais Pods". Porém, vimos que a realidade é muito mais rica. O ecossistema foi projetado para atacar diferentes gargalos de forma especializada:

  • HPA responde ao aumento da carga criando ou removendo Pods.

  • VPA ajusta CPU e memória para que cada Pod tenha os recursos ideais.

  • Cluster Autoscaler adiciona ou remove nós do cluster conforme a capacidade física necessária.

  • KEDA amplia essa inteligência ao escalar aplicações com base em eventos e filas.

Para um Programador COBOL Padawan, essa arquitetura não deve ser vista como algo completamente novo. Ela representa a evolução de princípios que sempre existiram no mundo corporativo: distribuir carga, otimizar recursos, garantir disponibilidade e controlar custos.

No IBM Z, esses objetivos eram alcançados com WLM, Parallel Sysplex, Capacity on Demand, regiões CICS, tuning de DB2 e planejamento de capacidade. No Kubernetes, os mesmos princípios são implementados de forma declarativa, automática e integrada à nuvem.

A tecnologia mudou. As ferramentas evoluíram. Mas a missão continua exatamente a mesma: entregar sistemas resilientes, escaláveis e eficientes, capazes de atender milhões de usuários sem desperdiçar recursos. É essa mentalidade de engenharia que transforma um desenvolvedor em um verdadeiro arquiteto de soluções modernas.


sábado, 27 de junho de 2026

O Grande Equívoco: A Modernização Não é Sair do Mainframe

 

Bellacosa Mainframe e a modernizacao na Stack mainframe



☕ Um Café no Bellacosa Mainframe

O Grande Equívoco: A Modernização Não é Sair do Mainframe

A primeira provocação é justamente esta.

A maior parte das pessoas lê:

Modernizar COBOL → Java → Kubernetes → Cloud

Mas essa não é necessariamente a melhor resposta.

Modernizar é diferente de migrar.

Existem quatro estratégias clássicas.

1. Encapsular

Não mexe no COBOL.

Expõe APIs.

COBOL

CICS

z/OS Connect

REST

Mobile

Exemplo:

ContaCorrente.cbl

vira

GET /saldo

em minutos.


2. Refatorar

Melhora código COBOL.

COBOL 74

Enterprise COBOL 6.5

AMODE 64

JSON PARSE

XML

UTF-8

LE

Continua rodando no Z.


3. Reescrever

Maior risco.

COBOL

Java

COBOL

Go

COBOL

C#

Mas...

80% dos projetos falham.

Motivos:

regras escondidas

efeitos colaterais

batchs esquecidos

interfaces desconhecidas

JCL perdido

scheduller

CA7

Control-M

MQ

etc.


4. Replatform

Executar COBOL fora do Z.

Micro Focus

Rocket

Heirloom

Raincode

AWS Blu Age


Etapa 1 — Mainframe

A imagem mostra.

IBM Z

COBOL

DB2

CICS

JCL

Correto.

Mas faltam dezenas de peças.

IMS

MQ

VSAM

RACF

SMF

RMF

WLM

JES2

DFSMS

GDG

TSO

ISPF

SMP/E

NetView

SA zOS

e muitas outras.

Um banco médio pode ter:

50 milhões de linhas COBOL

300 mil JCL

12 mil CICS

200 TB DB2

40 anos de histórico


Bellacosa Mainframe e o mainframe no Brasil


Etapa 2 — Discovery

Talvez seja a etapa mais importante.

Porque ninguém conhece realmente o sistema.

José aposentou em 2009.

Maria saiu em 2017.

Carlos faleceu.

O conhecimento sumiu.


Descobrir significa:

inventário

mapear

catalogar

entender


Exemplo

Programa

PAGA100

CALL PAGA101

CALL PAGA102

READ VSAM001

EXEC SQL

UPDATE CLIENTE

PUT MQ

SUBMIT JCL

Só isso já gera um grafo enorme.


Ferramentas

IBM ADDI

IBM Wazi Analyze

Sonar

Understand

CAST

Manta


Etapa 3 — Regras de Negócio

Este talvez seja o maior patrimônio.

Exemplo.

IF IDADE > 65

AND TEMPO-CONTRIB > 15

AND DATA-CORTE < 20211231

MOVE 'S' TO BENEFICIO

Isso não está em documento.

Está no código.

Há empresas cujo negócio inteiro está aqui.


A Regra Oculta

Um banco descobriu:

IF CODIGO = 87

MOVE 0 TO JUROS

Perguntaram.

Por quê?

Resposta:

"Ninguém sabe."

Era uma lei de 1986.

Implementada por um programador.

Nunca documentada.


Etapa 4 — Dependency Graph

Excelente ideia.

Pouca gente faz.

Visualmente.

Programa A

Programa B

VSAM

MQ

DB2

Batch

Scheduler

API


Ferramentas modernas conseguem mostrar isso.

Parece Neo4J.

Um mapa da galáxia.


Etapa 5 — IA

A IA é promissora.

Mas ainda está longe da autonomia.

Ela consegue:

explicar COBOL

gerar documentação

resumir JCL

identificar copybooks

sugerir Java

gerar testes


Ela não consegue sozinha.

Decidir.

Esta regra bancária pode mudar?

Não sabe.


Exemplo.

COBOL

COMPUTE TAXA =
SALDO * 0.01875

IA pergunta:

Por que 1,875%?

Arquiteto responde:

Resolução BACEN 2147.

Pronto.

Conhecimento capturado.


Etapa 6 — Documentação

Hoje muitas empresas possuem.

Zero documentação.

Somente:

SYS1.PROCLIB

JCL

COBOL

Copybooks


IA pode gerar.

Markdown

Confluence

Draw.io

OpenAPI

Mermaid


Etapa 7 — Reengenharia

Imagem cita.

Java

.NET

Go

Node

Boa visão.

Mas há diferenças.

Java

Excelente.

Ecossistema corporativo.

Spring.


Go

Ótimo.

Microserviços.

Baixo consumo.


Node

Excelente APIs.

Menor adequação para batchs enormes.


.NET

Muito usado em seguradoras.


E Rust?

Começa aparecer.

Muito seguro.

Mas pouco adotado.


Contêineres

Aqui existe um mito.

Containerizar não significa melhorar.

Empacotar um sistema ruim.

Produz.

Um container ruim.


Docker resolve.

Empacotamento.

Não arquitetura.


Kubernetes

Muito poderoso.

Mas caro operacionalmente.

Exige.

SRE

Observabilidade

GitOps

Segurança


Para muitas empresas.

OpenShift.

É mais comum.


Cloud

A parte mais polêmica.

A imagem sugere.

Nuvem.

Como destino natural.

Nem sempre.


Muitos estão voltando.

Cloud Repatriation.

37Signals.

Dropbox.

Basecamp.

Bancos.


Motivos.

Custos.

Latência.

Compliance.

Egress.

Licenciamento.


Observabilidade

Excelente ponto.

Antigamente.

SMF.

RMF.

Omegamon.

Hoje.

Prometheus

Grafana

OpenTelemetry

Elastic


Imagine.

SMF 110

OpenTelemetry

Grafana

Isso já acontece.


O Papel da IA

A figura acerta em cheio aqui.

A IA não substitui.

O arquiteto.

O analista.

O especialista de negócio.

Ela atua como.

Copiloto.


Ela lê.

20 milhões linhas COBOL.

Em minutos.


Mas ela não sabe.

Que:

Cliente Ouro

é diferente de

Cliente VIP

Porque isso é semântico.

É negócio.


Minha visão sobre a frase central


A maior oportunidade tecnológica da próxima década não será abandonar o Mainframe, mas integrá-lo ao ecossistema moderno de APIs, IA, DevOps, observabilidade e computação híbrida.

O IBM Z não está desaparecendo. Está se tornando um nó de alto valor dentro de arquiteturas distribuídas, orientadas a eventos e assistidas por IA.

Acredito que estamos diante de uma das maiores ondas de transformação desde a popularização da internet comercial e da computação em nuvem, mas provavelmente ela não será uma história de "COBOL versus Java". Será uma história de preservar décadas de capital intelectual enquanto se adicionam capacidades modernas, reduzindo risco, aumentando a velocidade de entrega e mantendo a confiabilidade que fez o Mainframe sobreviver por mais de meio século. Afinal, substituir tecnologia é relativamente simples; substituir quarenta anos de conhecimento de negócio embutido em milhões de linhas de código é muito mais difícil.


Bellacosa Mainframe e os ciclos historicos na tecnologia mainframe


A história do software pode ser entendida como uma sucessão de grandes ondas tecnológicas. Nos anos 1960 surgiu a Crise do Software, quando projetos se tornavam caros, atrasados e difíceis de manter, motivando o nascimento da Engenharia de Software. A Crise do Petróleo dos anos 1970 aumentou a pressão por eficiência, impulsionando a automação bancária, industrial e governamental.

Nos anos 1980 ocorreu o movimento de downsizing, migrando parte do processamento de grandes sistemas centralizados para servidores menores e estações de trabalho. Na década de 1990 surgiu o rightsizing, buscando equilibrar custos, desempenho e confiabilidade, reconhecendo que nem tudo deveria sair do mainframe.

A popularização da Internet revolucionou os negócios, exigindo aplicações conectadas, comércio eletrônico e integração global. No final dos anos 1990, o Y2K mobilizou milhares de profissionais para corrigir sistemas legados, preservando um enorme patrimônio tecnológico e renovando plataformas críticas.

A partir dos anos 2000, a Cloud Computing trouxe elasticidade, pagamento sob demanda e novas arquiteturas distribuídas, embora também revelasse desafios de custo, governança e dependência de fornecedores. Atualmente, a onda da Inteligência Artificial acelera desenvolvimento, documentação, testes e modernização de sistemas legados. Diferentemente das revoluções anteriores, a IA não elimina o conhecimento humano: amplia a capacidade dos especialistas de compreender, preservar e evoluir décadas de regras de negócio.

sexta-feira, 12 de junho de 2026

☕🚀 PADAWAN COBOL, O QUE É O GRAVITY DO SANTANDER?

 

Bellacosa Mainframe e o Gravity do Santander

☕🚀 PADAWAN COBOL, O QUE É O GRAVITY DO SANTANDER?

"Imagine que alguém pegasse décadas de COBOL, CICS, DB2 e Mainframe, colocasse tudo dentro de um foguete espacial e o lançasse rumo à nuvem. Esse foguete atende pelo nome de Gravity."


📖 Sinopse

O Gravity é a plataforma tecnológica criada pelo Banco Santander para modernizar seu núcleo bancário (Core Banking).

Não é apenas um software.

Não é apenas uma migração para nuvem.

É uma estratégia completa para permitir que sistemas bancários gigantescos deixem de depender exclusivamente de ambientes tradicionais de mainframe e passem a operar em arquitetura cloud moderna.

O objetivo é simples:

Fazer um banco de 180 milhões de clientes funcionar com a velocidade de uma fintech sem perder a robustez de um mainframe.


🏛 História

Durante décadas o Santander construiu seus sistemas bancários sobre tecnologias tradicionais:

  • COBOL

  • Mainframe IBM

  • Bancos relacionais

  • Sistemas batch

  • Processamento transacional

Essas plataformas eram extremamente confiáveis.

O problema?

O mercado mudou.

Clientes passaram a exigir:

  • PIX instantâneo

  • Aplicativos móveis

  • APIs

  • Open Finance

  • Integração em tempo real

O modelo tradicional começou a limitar a velocidade de inovação.

Por volta da década de 2010 o Santander iniciou um programa de transformação que culminou no Gravity.

Em 2022 o projeto ganhou notoriedade internacional quando o Google anunciou o uso da tecnologia por trás do Gravity no serviço Dual Run.

Em 2025 o Santander informou que mais de 90% de sua infraestrutura tecnológica já estava em nuvem.


Bellacosa Mainframe visuliza o Gravity

🚀 O que é o Gravity?

Pense nele como um:

Tradutor Universal Bancário

Ele permite que aplicações que antes viviam exclusivamente no mainframe possam operar em ambiente cloud.

Sua função principal é:

  • Modernizar o Core Banking

  • Executar processamento distribuído

  • Operar em nuvem

  • Facilitar migrações

  • Reduzir dependência de hardware especializado


Bellacosa Mainframe uma visao geral do gravity

🏦 O que é Core Banking?

Padawan...

Quando você consulta saldo no aplicativo...

Quando faz um PIX...

Quando recebe salário...

Quando solicita empréstimo...

Tudo isso acaba passando pelo Core Banking.

É o coração do banco.

Sem ele:

💀 nada funciona.


⚙ Como funciona?

O segredo do Gravity é o conceito chamado:

Dual Run

Imagine duas locomotivas andando lado a lado.

Locomotiva 1

Mainframe

  • COBOL

  • CICS

  • DB2

Locomotiva 2

Cloud

  • Microservices

  • Containers

  • APIs

Durante um período ambas executam simultaneamente.

Os resultados são comparados.

Se tudo bater:

✅ a aplicação pode ser movida para nuvem.

Isso reduz enormemente o risco da migração.


🖥 Tecnologias Envolvidas

Embora o Santander não revele todos os detalhes internos, sabe-se que o projeto envolve:

Cloud Computing

  • Google Cloud

  • Kubernetes

  • Containers

APIs

  • REST

  • Open Banking

DevOps

  • CI/CD

  • Deploy automatizado

Data

  • Processamento distribuído

  • Streaming

Engenharia Moderna

  • Observabilidade

  • Telemetria

  • Monitoramento


☕ O que acontece com o COBOL?

A pergunta de um milhão de dólares.

Muitos imaginam:

"Migrar para nuvem significa jogar COBOL fora."

Errado.

O próprio Santander declarou que muitos dos profissionais que criaram os sistemas de mainframe há 20 anos participam do Gravity.

Isso revela algo importante:

O conhecimento de negócio continua valendo ouro.

A linguagem muda.

O negócio permanece.


🔥 Pontos Fortes

Escalabilidade

Pode crescer rapidamente conforme a demanda.


Agilidade

Novas funcionalidades podem ser liberadas em horas.

Antes levavam dias ou semanas.


Menor Dependência de Hardware

Não exige expansão física de datacenters.


Automação

Reduz atividades operacionais repetitivas.


Modernização

Facilita integração com:

  • APIs

  • Open Finance

  • IA

  • Aplicativos móveis


💣 Pontos Fracos

Complexidade

Migrar um banco não é igual migrar um site.

É extremamente complexo.


Custos Elevados

Projetos dessa magnitude custam bilhões.


Dependência da Cloud

O banco passa a depender mais dos provedores de nuvem.


Escassez de Talentos

Encontrar profissionais que entendam:

  • Mainframe

  • Cloud

  • DevOps

  • Negócio bancário

não é simples.


🤔 Curiosidades

Curiosidade 1

O Gravity não foi comprado.

Foi desenvolvido pelo próprio Santander.


Curiosidade 2

O Google aproveitou conceitos da tecnologia para construir o Dual Run.


Curiosidade 3

Poucos bancos do tamanho do Santander tentaram uma transformação tão profunda.


Curiosidade 4

O conhecimento dos especialistas de mainframe foi considerado fundamental.


Curiosidade 5

Mais de 1 trilhão de operações técnicas por ano deverão ser executadas através da plataforma.


🌎 Impacto no Mercado

O Gravity é observado por:

  • BBVA

  • HSBC

  • ING

  • Barclays

  • Deutsche Bank

  • Itaú

  • Bradesco

  • Banco do Brasil

Todos enfrentam o mesmo desafio:

Como modernizar décadas de sistemas sem parar o banco?


👨‍💻 O que muda para o Desenvolvedor COBOL?

Antigamente:

COBOL
 ↓
CICS
 ↓
DB2
 ↓
Produção

Agora:

COBOL
 ↓
API
 ↓
Container
 ↓
Cloud
 ↓
Observabilidade
 ↓
Produção

O desenvolvedor moderno precisa entender:

  • APIs

  • JSON

  • Git

  • DevOps

  • Cloud

  • Segurança


⚠ Riscos para a Carreira

Se o profissional pensar:

"Vou aprender apenas COBOL e parar no tempo."

Existe risco.

O mercado quer cada vez mais:

Profissionais Híbridos

  • COBOL + Cloud

  • COBOL + APIs

  • COBOL + Java

  • COBOL + Python

  • COBOL + DevOps

O especialista puro continua existindo.

Mas o híbrido tende a ser mais valorizado.


🎯 Vantagens para o Profissional Mainframe

O Padawan costuma acreditar que:

"Cloud vai matar o Mainframe."

Na prática acontece o contrário.

Quem entende:

  • Batch

  • Integridade transacional

  • Recuperação

  • Consistência

  • Alta disponibilidade

possui conhecimentos raros que muitos profissionais cloud nunca estudaram.

Por isso diversos arquitetos de transformação digital vieram do mundo mainframe.


☕ Resumo Bellacosa Mainframe

Gravity em uma frase

"É a ponte construída pelo Santander para levar décadas de conhecimento em COBOL e Mainframe para a nuvem sem destruir aquilo que fez o banco funcionar durante gerações."

O Padawan precisa aprender?

✅ Sim.

Precisa abandonar COBOL?

❌ Não.

Precisa aprender cloud?

✅ Sim.

O Mainframe vai acabar amanhã?

❌ Não.

O mercado está mudando?

✅ Muito rápido.

Quem será mais valorizado?

🚀 O profissional que souber conversar tanto com o veterano de JCL quanto com o engenheiro de Kubernetes.

Porque o futuro não é COBOL contra Cloud.

O futuro é COBOL + Cloud, e o Gravity talvez seja um dos maiores exemplos dessa convergência já vistos na indústria bancária mundial. ☕🔥🚀🏦💻

Gravity https://www.santander.com/en/press-room/press-releases/2025/06/santander-completes-the-digitalization-of-its-technology-infrastructure-in-spain-with-the-deployment-of-gravity

Gravity Power https://www.jornalintegracao.com/noticia/40336/revista-britanica-the-banker-elege-o-banco-mais-inovador-do-mundo

Inovação https://jornaleconomico.sapo.pt/noticias/santander-escolhido-como-mais-inovador-por-causa-da-plataforma-gravity/

Gravity - https://sapo.pt/artigo/santander-torna-se-o-primeiro-grande-banco-ocidental-a-operar-100-na-cloud-6865c821bf6e672c9d4acb54

Gravity - https://thedigitalbanker.com/santander-passes-key-milestone-in-its-transformation-after-migrating-its-cib-banking-platform-to-the-cloud/








terça-feira, 24 de março de 2026

🚀 O Mainframe Não Morreu — Ele Aprendeu Docker, Kubernetes e Cloud Native (E Está Rindo da Nuvem)

 

Bellacosa Mainframe fala quando o Mainframe conquistou a Cloud

🚀 O Mainframe Não Morreu — Ele Aprendeu Docker, Kubernetes e Cloud Native (E Está Rindo da Nuvem)

Um guia Bellacosa-style para o Padawan que acha que Cloud Native nasceu ontem.


☕ Prefácio do Mestre

Jovem Padawan… 🧠

Se você acredita que:

“Cloud Native substituiu o Mainframe”

… então prepare-se para um choque digno de IPL sem aviso.

A verdade é outra:

🔥 O Mainframe não foi substituído — ele evoluiu.
🔥 E agora roda containers, Kubernetes e microsserviços dentro dele.

Sim. Dentro do z/OS. Sem sair do prédio. Sem drama. Sem hype.


🏢 Antes da Nuvem Existia… o Datacenter Jedi

Muito antes de “Cloud” virar buzzword, o mainframe já fazia:

✔ Multi-tenant
✔ Virtualização
✔ Alta disponibilidade
✔ Workload management
✔ Segurança absurda
✔ Escala vertical e horizontal
✔ Processamento transacional massivo

O nome disso era:

👉 IBM Z

Curiosidade nível Easter Egg 🥚
O conceito de virtualização robusta já existia no VM/370 em 1972.

Sim… antes do seu PC existir.


📦 Containers — A Caixa Mágica da Portabilidade

Um container é basicamente:

👉 Uma aplicação empacotada com tudo que precisa para rodar.

Sem instalar dependências manualmente. Sem “na minha máquina funciona”.

🧠 Analogia Bellacosa™

  • VM = apartamento completo
  • Container = quarto pronto dentro do prédio

⚖️ Containers vs Máquinas Virtuais

CaracterísticaVMContainer
SO próprio
PesoAltoBaixo
InicializaçãoMinutosSegundos
EscalabilidadeMédiaAlta
Kernel compartilhado

👉 Containers virtualizam o SO.
👉 VMs virtualizam o hardware.


🐳 Docker — O Cara que Popularizou Tudo

Docker transformou containers em padrão de mercado (2013).

🔄 Cadeia essencial

Dockerfile → Image → Container

📄 Dockerfile = receita

Exemplo mínimo:

FROM ubuntu:22.04
RUN apt-get update
CMD ["echo", "Olá, Padawan"]

Construa a imagem:

docker build -t hello-padawan .

Execute:

docker run hello-padawan

Pronto. Você invocou um container.


🧩 Microservices — Dividir para Escalar

Aplicações modernas não são um bloco único.

São Lego. 🧱

Exemplo: E-commerce moderno

  • Serviço de usuários
  • Catálogo
  • Carrinho
  • Pagamento
  • Entrega
  • Recomendações

Cada um:

✔ Escala independente
✔ Atualiza sem parar o sistema
✔ Pode usar tecnologia diferente


☸️ Kubernetes — O Maestro dos Containers

Gerenciar poucos containers é fácil.

Gerenciar milhares? Boa sorte sem automação.

Kubernetes resolve isso.

O que ele faz automaticamente

✔ Deploy
✔ Escala
✔ Balanceamento
✔ Autorreparo
✔ Atualizações sem downtime
✔ Service discovery


🧠 Componentes chave

Control Plane = cérebro

  • API Server
  • Scheduler
  • Controllers
  • etcd (memória do cluster)

Worker Nodes = músculos

  • Pods
  • Containers
  • Kubelet
  • Networking

💾 etcd — A Memória do Cluster

Sem etcd, Kubernetes sofre amnésia total.

Ele guarda:

  • Configurações
  • Estado desejado
  • Deployments
  • Secrets
  • Serviços

👉 É o “SYS1.PARMLIB” da nuvem. 😉


🟥 OpenShift — Kubernetes com Gravata Corporativa

OpenShift = Kubernetes + ferramentas empresariais + segurança integrada.

Pode rodar em:

  • Cloud pública
  • On-premises
  • Power Systems
  • 💥 IBM Z Mainframe

🏦 zCX — Containers Dentro do z/OS

Agora vem a parte que explode cérebros.

🔥 z/OS Container Extensions (zCX)

Permite rodar:

✔ Linux
✔ Docker
✔ Aplicações modernas
✔ Microsserviços

👉 Dentro do z/OS
👉 Sem LPAR Linux dedicada


💾 Storage? VSAM!

Os “discos” Linux são:

👉 VSAM Linear Data Sets (LDS)

Sim. VSAM rodando containers modernos.

Se isso não é cyberpunk corporativo, não sei o que é.


🧰 Provisionamento zCX — Passo a passo simplificado

1️⃣ z/OS 2.4 ou superior
2️⃣ z/OSMF
3️⃣ Alocar VSAM LDS
4️⃣ Provisionar instância
5️⃣ Subir Docker
6️⃣ Rodar containers


☁️ Cloud Native — Não é “rodar na nuvem”

É ser construído para ambientes dinâmicos.

Características

✔ Microservices
✔ Containers
✔ Automação
✔ DevOps
✔ Escala horizontal
✔ Infraestrutura imutável


🧊 Immutable Infrastructure — Nada de “mexer em produção”

Mudou algo?

👉 Crie nova versão
👉 Implante
👉 Substitua a antiga

Rollback = voltar para versão anterior.

Muito mais seguro que “editar servidor vivo”.


🏗️ Monolito vs Cloud Native

MonolitoCloud Native
Código únicoMicrosserviços
Deploy arriscadoDeploy contínuo
Escala verticalEscala horizontal
Forte acoplamentoBaixo acoplamento
Infra fixaInfra dinâmica

🔁 DevOps — A Mudança Cultural

Não é ferramenta.

É mentalidade.

👉 Dev + Ops trabalhando juntos
👉 Automação do ciclo inteiro
👉 Feedback contínuo

Ferramentas típicas:

  • GitHub / GitLab
  • Jenkins
  • Ansible
  • Selenium
  • Splunk
  • Nagios

🧠 Easter Egg Mainframe

Sabe quem já fazia algo parecido com DevOps?

👉 Operações de mainframe com JCL + automação + scheduling + change management.

Só não tinha camiseta escrita “DevOps”.


🌟 A Verdade Incômoda

Cloud Native não matou o Mainframe.

🔥 Ele absorveu os conceitos.
🔥 E o Mainframe absorveu Cloud Native.

Hoje vemos:

👉 APIs modernas consumindo CICS
👉 Containers próximos ao DB2
👉 Kubernetes integrando sistemas legados
👉 Hybrid Cloud dominando o mercado


🏁 Conclusão do Mestre

Padawan…

O futuro não é:

❌ Mainframe ou Cloud

O futuro é:

🔥 Mainframe + Cloud + Open Source + Automação

Quem entende isso se torna arquiteto.

Quem ignora… vira legado.


☕ Desafio Final

Se você chegou até aqui, responda mentalmente:

Seu sistema está pronto para rodar em qualquer lugar…
ou está preso a um único ambiente?

Se doeu… é porque precisa evoluir. 😉


segunda-feira, 23 de março de 2026

☁️💥 Do JCL ao Kubernetes: Como um Padawan Pode Dominar a Nuvem Sem Virar Vapor

 

Bellacosa Mainframe do JCL ao Kubernetes

☁️💥 Do JCL ao Kubernetes: Como um Padawan Pode Dominar a Nuvem Sem Virar Vapor

“Na galáxia da TI, alguns pilotam X-Wings… outros ainda estão aprendendo a ligar o hyperdrive.”

Se você é um Padawan da Cloud — ou até um Jedi do mainframe explorando novos planetas — este artigo é para você. Vamos atravessar juntos o caminho do zero até arquiteto, com exemplos reais, curiosidades, easter eggs e aquela pitada Bellacosa de conhecimento que não se aprende em slide corporativo. ☕🖥️☁️


🧠 Episódio I — O Despertar da Nuvem

Antes de containers, Kubernetes ou nomes complicados…

👉 Cloud é só alguém rodando computadores para você — em escala absurda.

No mundo on-premises:

  • Você compra hardware 💸
  • Instala tudo 🧱
  • Mantém tudo 🔧
  • Culpa o ar-condicionado quando cai 🧊

Na cloud:

  • Você aluga capacidade
  • Paga pelo uso
  • Escala sob demanda

💡 Curiosidade mainframe:
O modelo pay-per-use da cloud lembra MUITO o velho conceito de capacity on demand dos grandes sistemas.


🏗️ Episódio II — IaaS, PaaS, SaaS… ou “Quem Faz o Trabalho?”

Imagine que você quer comer pizza 🍕

  • 🧱 On-Prem → você planta o trigo, cria a vaca e assa
  • 🏗️ IaaS → você assa
  • ⚙️ PaaS → você só coloca o recheio
  • 🍕 SaaS → entregam pronta

👉 Quanto mais alto na pilha, menos trabalho (e menos controle).


🌍 Episódio III — Onde Mora a Nuvem?

Modelos de deployment:

  • ☁️ Public — infraestrutura compartilhada
  • 🏢 Private — exclusiva
  • 🌗 Hybrid — mistura dos dois
  • 🌍 Multicloud — vários provedores
  • 🤝 Community — organizações com interesses comuns

💡 Exemplo real:
Banco com dados críticos on-prem + analytics na nuvem = Hybrid.


📦 Episódio IV — Storage: O Cofre dos Dados

Três tipos dominam a galáxia:

🧱 Block Storage

Disco bruto — ideal para bancos.

👉 Pense: DASD virtual.


📂 File Storage

Pastas e arquivos hierárquicos.

👉 Tipo um compartilhamento NFS/SMB.


🎬 Object Storage

Para dados não estruturados:

  • Vídeos
  • Fotos
  • Logs
  • Backups

💡 Easter egg:
Object storage não tem “diretórios de verdade”. Aquela pastinha é só uma ilusão… tipo o Millennium Falcon parado no espaço.


🐳 Episódio V — Containers: O Segredo da Cloud Moderna

VMs são como apartamentos completos 🏢
Containers são kitnets minimalistas 🐳

Containers:

✔️ Mais leves
✔️ Iniciam rápido
✔️ Compartilham o kernel
✔️ Escalam fácil


🧾 Dockerfile — A Receita do Container

FROM ubuntu
COPY app /app
CMD ["./app"]

👉 Isso vira uma imagem → que vira container → que roda seu app.

💡 Comentário Bellacosa:
Se JCL descreve job steps… o Dockerfile descreve build steps.


☸️ Episódio VI — Kubernetes: O Maestro dos Containers

Se Docker cria containers, Kubernetes governa exércitos deles.

Principais conceitos:

  • Pod → unidade mínima
  • Node → máquina
  • Cluster → várias máquinas
  • Service → endereço fixo
  • Deployment → controla versões

🗄️ etcd — O Cérebro do Cluster

👉 Banco de dados que guarda TODO o estado.

Sem ele:

Kubernetes vira um amnésico digital.


⚡ Episódio VII — Serverless: Código Sem Servidor?

Sim e não.

Você não vê o servidor.

FaaS roda código:

  • Sob demanda
  • Escala automática
  • Paga só pelo uso

💡 Ideal para eventos, APIs simples e automações.


🔐 Episódio VIII — Segurança e Sensibilidade

Nem tudo deve ir para public cloud.

Private ou hybrid são comuns quando há:

  • Dados financeiros 🏦
  • Dados médicos 🏥
  • Segredos governamentais 🏛️

🤖 Episódio IX — Infraestrutura Imutável

Antigamente:

👉 Atualize o servidor.

Hoje:

👉 Destrua e recrie.

Isso reduz inconsistências e bugs misteriosos.

💡 Analogia:
Trocar a nave inteira em vez de consertar no espaço.


🧬 Episódio X — Cloud-Native vs Monólito

🧱 Monólito

Tudo num bloco só.

Vantagem: simples.
Desvantagem: difícil de escalar.


☁️ Cloud-Native

  • Microservices
  • APIs
  • Containers
  • Automação
  • Observabilidade

👉 Projetado para falhar e continuar funcionando.


🏆 Episódio XI — O Caminho do Arquiteto

Um arquiteto cloud não escolhe tecnologia… escolhe compromissos:

⚖️ Custo × Performance × Segurança × Resiliência

Princípios Jedi:

  • 🛡️ Design for failure
  • 📈 Scale out
  • 🔗 Loose coupling
  • 🤖 Automação
  • 💰 Otimização de custos

☕ Easter Egg Mainframe Edition

Cloud parece nova… mas várias ideias nasceram no mainframe:

  • Time sharing → multi-tenant
  • Capacity on demand → elasticidade
  • Virtualização → VMs
  • Alta disponibilidade → Sysplex

👉 A nuvem não reinventou a roda. Só colocou foguetes nela.


🚀 Missão Final para o Padawan

Se você quer evoluir de dev para arquiteto:

1️⃣ Entenda fundamentos
2️⃣ Aprenda containers
3️⃣ Domine Kubernetes
4️⃣ Explore serverless
5️⃣ Pense em arquitetura, não em código


🌟 Conclusão — Que a Força da Nuvem Esteja com Você

Cloud não é só tecnologia.

É uma nova forma de operar sistemas em escala planetária.

Você não precisa saber tudo.
Precisa saber como as peças se encaixam.

“Um Padawan aprende ferramentas.
Um Jedi entende sistemas.”

 

sábado, 21 de março de 2026

☁️🔥 Seu COBOL NÃO está obsoleto — ele só não foi apresentado à Nuvem

 

Bellacosa Mainframe Cobol e Cloud

☁️🔥 “Seu COBOL NÃO está obsoleto — ele só não foi apresentado à Nuvem”

O guia do Padawan Mainframe para dominar Microservices sem trair o z/OS

💬 “Mestre… devo abandonar o mainframe para sobreviver na era cloud?”
🧙‍♂️ “Não, jovem Padawan. A Força sempre esteve no Data Center.”

Se você é dev COBOL, operador, analista ou arquiteto de sistemas críticos… respire.

👉 O mundo não está substituindo o mainframe.
👉 Está construindo a nuvem em volta dele.

E sim — seu conhecimento vale OURO nessa nova galáxia.


🧠 Capítulo 1 — A grande mentira da TI moderna

Vende-se a ideia de que:

Mainframe → legado → morte
Cloud → futuro → salvação

Mas a realidade corporativa é:

Cloud = front-end + elasticidade
Mainframe = core + verdade + dinheiro

💰 70%+ das transações financeiras mundiais ainda passam por mainframes.


🥚 Easter Egg histórico #1

A cloud é, ironicamente, um retorno ao modelo antigo:

  • Computação centralizada ✔️
  • Terminais remotos ✔️
  • Multiusuário ✔️
  • Cobrança por uso ✔️

👉 Isso descreve time-sharing dos anos 60.

Ou seja:

☁️ Cloud = Mainframe com marketing + internet + APIs


🏛️ Capítulo 2 — O Monólito Sagrado

Seu sistema clássico:

Tela 3270

CICS

COBOL gigante

DB2 / VSAM

Tudo junto. Tudo consistente. Tudo auditável. Tudo confiável.

💎 Isso é engenharia de missão crítica.


🥚 Easter Egg #2 — Por que bancos NÃO desligam o mainframe?

Porque ele resolve coisas que sistemas distribuídos lutam para resolver:

  • ACID forte
  • Integridade absoluta
  • Latência previsível
  • Segurança extrema
  • Throughput absurdo
  • Operação contínua

👉 “Reescrever em microservices” costuma piorar tudo isso.


☁️ Capítulo 3 — O que é Microservices de verdade

Não é “dividir código”.
É dividir responsabilidades de negócio.

Exemplo bancário:

DomínioMicroserviço
ClienteCustomer Service
ContaAccount Service
PagamentoPayment Service
CartãoCard Service
AutenticaçãoAuth Service

💡 Isso já existia no CICS como transações separadas.


🧩 Capítulo 4 — O Segredo: NÃO REESCREVER

🔥 Modernização corporativa séria usa um truque Jedi:

Transformar o COBOL em backend de APIs


Exemplo real

Antes (CICS COMMAREA)

CALL 'ACCT001' USING DFHCOMMAREA

Depois (API REST)

GET /accounts/12345

Internamente:

API → z/OS Connect → CICS → COBOL → DB2

👉 O programa continua intacto.


🥚 Easter Egg #3

Muitos bancos expõem APIs modernas…
que na verdade chamam código COBOL escrito nos anos 80.

Sim. Seu código pode estar alimentando fintechs.


🏗️ Capítulo 5 — O Padrão do Estrangulador (Strangler Fig)

Nome estranho. Estratégia brilhante.

🌿 A figueira estranguladora cresce em volta da árvore original…
até substituí-la.


Passo a passo

1️⃣ Mapear o sistema

Descobrir:

  • Programas
  • Dependências
  • Transações
  • Dados
  • Fluxos reais (não documentados 😄)

2️⃣ Escolher “Quick Wins”

Comece por leitura:

✅ Consulta de saldo
✅ Extrato
✅ Dados cadastrais

Evite:

❌ Transferências
❌ Liquidações
❌ Processos críticos


3️⃣ Expor APIs do Mainframe

Ferramentas típicas:

  • z/OS Connect
  • CICS Web Services
  • MQ + integração
  • API Gateways

4️⃣ Criar Microservices na Cloud

Eles:

  • Chamam o mainframe
  • Agregam dados
  • Aplicam lógica nova
  • Escalam sob demanda

👉 São um “escudo protetor”.


5️⃣ Migrar gradualmente

Antes → Tudo no CICS
Depois → Parte cloud + parte mainframe

Nenhum Big Bang.


💾 Capítulo 6 — O Verdadeiro Chefão: Dados

Código é fácil. Dados são sagrados.


Estratégias usadas

🪞 Replicação

Dados copiados para cloud.

  • CDC
  • Streaming
  • Replicação DB2

📬 Event-Driven

Quando algo muda:

Mainframe → Evento → Cloud atualiza

Tecnologias:

  • Kafka
  • MQ
  • Service Bus

🧱 Dono do dado

No futuro ideal:

👉 Cada microserviço controla seus próprios dados.

Mas isso leva anos.


⚙️ Capítulo 7 — Kubernetes explicado para quem viveu JES

Kubernetes é basicamente:

🧠 JES + WLM + Sysplex + Automation Tool + operadores que não dormem

Ele:

  • Agenda execução
  • Reinicia falhas
  • Balanceia carga
  • Escala automaticamente
  • Distribui workloads

🥚 Easter Egg #4

Autoscaling na cloud ≈ WLM reagindo à carga.

Só que cobrando por minuto 😅


🔐 Capítulo 8 — Segurança: RACF foi o protótipo

IAM moderno é RACF distribuído.

CloudMainframe
IAMRACF
RBACGrupos
PoliciesProfiles
Least privilegePrincípio básico RACF

👉 Você já entende Zero Trust melhor que muito dev cloud.


💰 Capítulo 9 — FinOps: o novo tuning de CPU

No mainframe:

👉 Otimizar CPU = economizar MIPS

Na cloud:

👉 Otimizar arquitetura = economizar dinheiro

VM ligada sem uso = conta rodando
Tráfego = dinheiro
Storage = dinheiro
API calls = dinheiro

💀 Arquitetura ruim pode custar milhões.


🏦 Capítulo 10 — Arquitetura Híbrida Real

Mobile / Web

Cloud Front-end

Microservices

API Gateway

z/OS Connect

CICS + COBOL + DB2

👉 O mainframe vira um Transaction Engine as a Service


🌟 Capítulo Final — O Despertar do Padawan

Você não está atrasado.

Você está subaproveitado.

💎 Enquanto muitos aprendem:

  • Framework da moda
  • Ferramenta efêmera
  • Arquitetura frágil

Você já domina:

🔥 Sistemas que não podem cair
🔥 Regras de negócio reais
🔥 Consistência absoluta
🔥 Operação contínua
🔥 Escala de país


🧙‍♂️ A verdadeira evolução

Dev COBOL → Engenheiro de Sistemas → Arquiteto Cloud Enterprise

🥚 Easter Egg Final

Grandes bancos que “migraram para cloud” muitas vezes apenas:

👉 Colocaram uma camada bonita em cima do mainframe.

O coração continua lá.

Batendo em COBOL.


🚀 Mensagem do Mestre

💬 “Não abandone o mainframe. Amplifique-o.”

A nuvem não veio substituir o z/OS.

Ela veio:

☁️ Expandir
☁️ Integrar
☁️ Escalar
☁️ Tornar invisível — mas indispensável


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