☕ 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

Mostrar mensagens com a etiqueta Hybrid Cloud. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Hybrid Cloud. Mostrar todas as mensagens

quarta-feira, 25 de março de 2026

☁️ Da Sala Gelada do Mainframe à Nuvem Elástica: O Guia Jedi de Cloud para Padawans que Vieram do Ferro Pesado

 

Bellacosa Mainframe comenta sobre Data Cente CPD e Mainframe

☁️ Da Sala Gelada do Mainframe à Nuvem Elástica: O Guia Jedi de Cloud para Padawans que Vieram do Ferro Pesado

“A Força não está no hardware… está na abstração.”

Se você cresceu ouvindo o zumbido de um data center, viu consoles verdes brilharem no escuro e acha que “downtime” é palavrão — bem-vindo, Padawan. 🧙‍♂️

Hoje vamos atravessar o hiper-espaço da TI: do mainframe on-premises para o multiverso da Cloud Computing — sem perder a sanidade, a disciplina operacional nem o amor pelo controle absoluto.

Este não é um tutorial raso. É um mapa estelar.


🏗️ Antes da Nuvem: O Império do Ferro

No modelo tradicional:

  • Você comprava o hardware
  • Instalava tudo
  • Mantinha equipe 24x7
  • Planejava capacidade para o pior caso
  • Rezava para o orçamento sobreviver

Era como construir a Estrela da Morte para hospedar um site institucional.

💡 Curiosidade Bellacosa:
Mainframes já faziam virtualização quando a cloud ainda usava fraldas. VM/370 (1972) mandou lembranças.


☁️ A Virada: Infraestrutura como Serviço (IaaS)

IaaS é o primeiro portal dimensional.

Você não compra mais servidores — você invoca instâncias.

O provedor cuida de:

  • Hardware
  • Energia
  • Refrigeração
  • Virtualização

Você cuida de:

  • Sistema operacional
  • Aplicações
  • Dados
  • Segurança do software

👉 Tradução para o mainframeiro:

IaaS é como ganhar um LPAR sob demanda… sem comprar o CPC.


🧪 PaaS e SaaS: Quanto mais alto, menos dor de cabeça

🧪 PaaS — “Só traga seu código”

Perfeito para construir aplicações sem montar infraestrutura.

📦 SaaS — “Só use”

Software pronto no navegador.

💡 Exemplo prático:

  • IaaS → montar servidor DB2 virtual
  • PaaS → subir API REST
  • SaaS → usar sistema de CRM online

📦 Containers e Serverless: O lado ninja da Força

Containers (CaaS)

  • Leves
  • Portáveis
  • Escaláveis
  • Compartilham o kernel

👉 Pense em JOBs isolados rodando no mesmo sistema.

FaaS / Serverless

Código executa sob demanda e desaparece.

Como um programa batch que só existe enquanto roda… e você só paga por esse tempo.


🌍 Modelos de Implantação: Onde a Força Reside

🌐 Public Cloud — A galáxia compartilhada

Características:

  • Multi-tenant
  • Baixo custo inicial
  • Escala absurda
  • Acesso pela internet

⭐ Ideal para startups e workloads variáveis.


🏢 Private Cloud — Seu próprio Templo Jedi

Características:

  • Infraestrutura dedicada
  • Controle máximo
  • Compliance facilitado
  • Alto custo

⭐ Bancos, governo, saúde — a tríade da cautela.


🔀 Hybrid Cloud — O melhor dos dois mundos

Private + Public trabalhando juntos.

Usos clássicos:

  • Backup na nuvem
  • Disaster recovery
  • Cloud bursting
  • Migração gradual

👉 É o modelo dominante nas grandes corporações.


🌐 Multicloud — Não confie em um único Império

Múltiplos provedores simultaneamente.

Motivos:

  • Evitar lock-in
  • Alta resiliência
  • Escolher o melhor serviço de cada um

💡 Muitas empresas usam Hybrid + Multicloud ao mesmo tempo.


🤝 Community Cloud — A aliança rebelde

Compartilhada por organizações com necessidades comuns:

  • Governo
  • Saúde
  • Educação
  • ONGs

Objetivo: custo compartilhado + compliance setorial.


⚡ Caso real: Por que startups amam Public Cloud

Imagine um Padawan empreendedor criando um sistema de compartilhamento de arquivos.

Sem cloud:

  • Comprar servidores
  • Contratar equipe
  • Dimensionar para milhões (ou falhar)

Com cloud:

👉 Lançar hoje
👉 Escalar amanhã
👉 Pagar só quando crescer

Muitos unicórnios começaram assim.


🛟 Hybrid na prática: Disaster Recovery Jedi

Empresa roda sistemas críticos on-premises.

Backup e réplica ficam na nuvem pública.

Se o data center cair:

👉 Failover automático
👉 Continuidade do negócio
👉 Sem construir um segundo data center


🧠 Easter Eggs para quem veio do Mainframe

  • Virtualização não nasceu na cloud
  • Autoscaling lembra WLM turbinado
  • Cloud bursting ≈ adicionar MIPS temporários
  • Object Storage ≈ datasets gigantes sem JCL
  • Serverless ≈ JOB que cobra por CPU time real

🧭 Guia rápido para escolher o modelo certo

SituaçãoMelhor opção
StartupPublic
BancoPrivate ou Hybrid
Grande corporaçãoHybrid + Multicloud
Órgãos governamentaisPrivate ou Community
Workload sazonalHybrid

🌌 Conclusão: A Força da Abstração

A cloud não substitui o conhecimento de infraestrutura — ela o amplifica.

O verdadeiro poder não é possuir servidores.
É poder invocá-los… e dispensá-los… quando quiser.

Para o Padawan vindo do mainframe, a nuvem não é uma ameaça.

É apenas:

👉 um data center que atravessou o hiper-espaço.

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

Um Café no Bellacosa Mainframe

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

 

sexta-feira, 8 de dezembro de 2023

24 Horas no Bellacosa Mainframe: Jack Bauer, COBOL e a API que precisava entrar no CICS antes que o relógio chegasse a zero graças ao Zos Connect

 

Bellacosa Mainframe e o zos connect

☕ Um Café no Bellacosa Mainframe

24 Horas no Bellacosa Mainframe: Jack Bauer, COBOL e a API que precisava entrar no CICS antes que o relógio chegasse a zero

⏱️ z/OS Connect, REST, JSON, OpenAPI, CICS, IMS, Db2, RACF, SAF, zIIP, OpenTelemetry e o estranho caso em que Jack Bauer descobriu que reescrever 35 anos de COBOL levaria um pouco mais de 24 horas

03:17:42

O telefone toca.

Isso nunca é bom.

Especialmente quando você trabalha com mainframe.

Do outro lado da linha alguém pronuncia aquelas palavras capazes de provocar mais medo em um programador COBOL do que S0C7, SOC4, deadlock no Db2 e café descafeinado juntos:

— Precisamos modernizar o legado.

Silêncio.

O relógio aparece na tela.

03:17:43
03:17:44
03:17:45

Você olha para o terminal 3270.

O CICS está funcionando.

O Db2 está funcionando.

O programa COBOL que consulta clientes está funcionando há décadas.

Milhões de transações passaram por ele.

Então surge a pergunta que deveria ser feita antes de qualquer projeto de modernização:

Se funciona, por que exatamente queremos reescrevê-lo?

Do outro lado alguém responde:

— Porque precisamos acessar isso pelo aplicativo mobile.

Jack Bauer entra na sala.

Olha para o COBOL.

Olha para o arquiteto.

Olha para o relógio.

E diz:

— Então vocês não precisam reescrever o COBOL. Precisam de uma API.

TIC. TIC. TIC. TIC.

Bem-vindo ao mundo do IBM z/OS Connect.

Pegue o café.

Temos 24 horas para colocar REST, JSON e OpenAPI diante de um programa COBOL que nasceu quando ninguém imaginava que um telefone serviria para fazer transferências bancárias.


⏱️ 04:00 — O problema nunca foi necessariamente o COBOL

Imagine que nosso banco fictício possui um programa chamado:

CLIENTE

Ele recebe:

01 CLIENTE-REQUEST.
   05 CLIENTE-ID       PIC 9(09).

E devolve:

01 CLIENTE-RESPONSE.
   05 CLIENTE-NOME     PIC X(40).
   05 CLIENTE-LIMITE   PIC 9(09)V99.
   05 CLIENTE-STATUS   PIC X(01).

Nada particularmente revolucionário.

Talvez esse programa execute dentro do CICS e consulte Db2.

Durante décadas alguma aplicação tradicional soube perfeitamente como conversar com ele.

Então chega uma equipe responsável pelo novo aplicativo mobile.

Ela não sabe o que é:

COMMAREA
EBCDIC
PIC X
PIC 9
COMP
COMP-3
EXEC CICS LINK
TSO
ISPF
3270

E existe uma boa notícia:

ela provavelmente não precisa saber.

A aplicação mobile quer algo como:

GET /clientes/123456789

e espera receber:

{
  "id": 123456789,
  "nome": "JOAO DA SILVA",
  "limite": 15000.00,
  "status": "ATIVO"
}

Aqui aparece o problema arquitetural.

Não temos necessariamente um sistema antigo incapaz de executar a regra de negócio.

Temos dois mundos falando idiomas diferentes.

De um lado:

HTTP
REST
JSON
OpenAPI
OAuth
JWT
Cloud
Mobile
Microservices

Do outro:

COBOL
CICS
IMS
Db2
copybooks
SAF
RACF

Jack Bauer olha para os dois lados.

— Precisamos de um tradutor.

É aqui que entra o IBM z/OS Connect.


⏱️ 05:00 — Afinal, o que diabos é z/OS Connect?

Para um COBOLzeiro começando agora, eu gosto desta definição:

IBM z/OS Connect é uma camada de integração que permite disponibilizar recursos e aplicações do z/OS através de APIs REST e também permite que aplicações z/OS consumam APIs externas.

Leia novamente a última parte.

Porque ela é frequentemente esquecida.

Não existe apenas:

MUNDO MODERNO
      │
      ▼
     API
      │
      ▼
 MAINFRAME

Também pode existir:

 MAINFRAME
      │
      ▼
     API
      │
      ▼
MUNDO EXTERNO

Esses dois caminhos nos levam a dois conceitos fundamentais:

API PROVIDER
API REQUESTER

Guarde esses nomes.

Jack Bauer certamente guardaria.

Ele só não teria tempo de anotá-los.


⏱️ 06:00 — API Provider: quando o mundo bate à porta do CICS

O API Provider resolve aproximadamente este cenário:

Mobile
   │
Web
   │
Cloud
   │
   ▼
REST / JSON
   │
   ▼
z/OS Connect
   │
   ▼
CICS / IMS / Db2
   │
   ▼
COBOL

Imagine novamente nosso programa de consulta de clientes.

O aplicativo envia:

GET /clientes/123456789

z/OS Connect recebe essa requisição.

Ele possui informações suficientes para entender que aquela operação está relacionada a determinado serviço no mainframe.

O JSON pode ser transformado para a estrutura esperada pelo programa.

O programa COBOL executa.

Depois acontece o caminho inverso:

COBOL
   │
estrutura tradicional
   │
   ▼
z/OS Connect
   │
JSON
   ▼
aplicação

Perceba a beleza arquitetural.

O COBOL não precisa acordar numa segunda-feira e dizer:

“A partir de hoje sou desenvolvedor REST.”

Ele continua fazendo aquilo para o qual foi criado.


⏱️ 07:00 — Não estamos transformando COBOL em REST

Essa diferença parece pequena, mas é gigantesca.

Uma simplificação perigosa seria dizer:

COBOL → REST

Não.

O programa COBOL continua sendo COBOL.

Estamos criando uma interface moderna para uma capacidade existente.

Pense assim:

             CONTRATO
              OpenAPI
                 │
                 ▼
            REST / JSON
                 │
                 ▼
          z/OS Connect
                 │
        mapping / routing
                 │
                 ▼
        estrutura COBOL
                 │
                 ▼
              CICS
                 │
                 ▼
              COBOL

Isso nos leva a uma das ideias mais importantes deste café:

Modernização não significa necessariamente reescrita.

Às vezes modernizar significa tornar acessível aquilo que já funciona.


⏱️ 08:00 — A reunião em que alguém quer reescrever tudo

Você conhece a cena.

Sala de reunião.

PowerPoint.

Café ruim.

Alguém aponta para um desenho cheio de caixas coloridas e diz:

— Temos que eliminar o legado.

Pergunte:

— Por quê?

Talvez a resposta seja:

— Porque precisamos disponibilizar consulta de saldo no celular.

Mas o programa de consulta de saldo funciona?

— Sim.

Está performando?

— Sim.

É confiável?

— Sim.

Possui décadas de regras de negócio?

— Sim.

Então talvez o problema não seja:

CONSULTAR-SALDO

Talvez o problema seja somente:

COMO ACESSAR CONSULTAR-SALDO

São problemas completamente diferentes.

Reescrever pode ser necessário em alguns casos.

Mas não deveria ser automaticamente sinônimo de modernização.


⏱️ 09:00 — O tesouro escondido dentro daquele COBOL feio

Aqui mora uma coisa que os novatos precisam aprender cedo.

Você abre um programa de 15 mil linhas.

Encontra:

IF WS-CODIGO = 37
   AND WS-TIPO = 'X'
   AND WS-DATA < 19981231
      MOVE 'S' TO WS-EXCECAO
END-IF

Sua primeira reação pode ser:

— Que porcaria é essa?

Calma.

Talvez esse IF exista porque:

  • uma lei mudou;

  • houve uma fusão bancária;

  • determinado produto foi descontinuado;

  • aconteceu um incidente em produção;

  • alguma regra fiscal antiga precisa continuar sendo respeitada;

  • existem contratos históricos;

  • alguém descobriu uma exceção em 1999.

Código legado não contém apenas instruções.

Ele contém arqueologia empresarial.

Às vezes aquelas linhas horrorosas são conhecimento institucional fossilizado.

O perigo da reescrita é acreditar que compreendemos tudo simplesmente porque entendemos a sintaxe.


⏱️ 10:00 — OpenAPI entra na CTU

O próximo personagem da história é o OpenAPI.

Podemos pensar nele como um contrato descrevendo nossa API.

Por exemplo:

paths:
  /clientes/{id}:
    get:
      summary: Consulta cliente
      parameters:
        - name: id
          in: path
          required: true

Ele documenta coisas como:

endpoint
método HTTP
parâmetros
estrutura de entrada
estrutura de saída
códigos de resposta

Isso permite que diferentes equipes compartilhem um contrato comum.

O desenvolvedor mobile não precisa perguntar:

— Qual é o offset do campo CLIENTE-ID na COMMAREA?

Ele pergunta:

— Qual é o contrato da API?

Essa mudança cultural é enorme.


⏱️ 11:00 — O copybook encontra JSON

Agora chegamos a uma das partes mais interessantes.

No mainframe podemos encontrar:

01 CUSTOMER-DATA.
   05 CUSTOMER-ID      PIC 9(09).
   05 CUSTOMER-NAME    PIC X(40).
   05 CUSTOMER-BALANCE PIC S9(9)V99 COMP-3.

No universo web:

{
  "customerId": 12345,
  "customerName": "MARIA",
  "customerBalance": 3450.25
}

Veja o abismo cultural.

O frontend não quer saber que COMP-3 existe.

Aliás, se você explicar packed decimal durante a daily do React, talvez seja expulso da reunião.

O z/OS Connect pode participar justamente da transformação entre esses formatos.

Conceitualmente:

JSON
 ↓
mapping
 ↓
estrutura nativa
 ↓
COBOL
 ↓
estrutura nativa
 ↓
mapping
 ↓
JSON

E isso é maravilhoso porque preserva uma regra fundamental:

não obrigue todas as aplicações da empresa a conhecer os detalhes internos umas das outras.


⏱️ 12:00 — API Requester: plot twist!

Metade da temporada passou.

Hora da reviravolta.

Até agora o mundo estava chamando o mainframe.

Mas e se o COBOL precisar chamar o mundo?

Imagine um programa bancário precisando consultar uma cotação externa.

A API moderna oferece:

GET /exchange/USD/BRL

Resposta:

{
  "currency": "USD",
  "rate": 5.42
}

Agora temos:

COBOL
  │
  ▼
z/OS Connect
  │
  ▼
REST / JSON
  │
  ▼
API EXTERNA

É o API Requester.

Isso muda muito a percepção do mainframe.

Ele deixa de ser apenas:

“a máquina que os outros sistemas chamam”.

Também pode tornar-se consumidor de serviços modernos.


⏱️ 13:00 — Provider e Requester juntos

Agora nosso desenho fica muito mais interessante:

                    API PROVIDER

Mobile / Cloud ─── REST ───► z/OS Connect
                                  │
                                  ▼
                           CICS / IMS / Db2
                                  │
                                  ▼
                                COBOL
                                  │
                                  │
                           API REQUESTER
                                  │
                                  ▼
                              REST API
                                  │
                                  ▼
                         Serviço externo

Isso é integração bidirecional.

O mainframe deixa de parecer uma ilha.

Ele passa a participar da arquitetura distribuída da empresa.


⏱️ 14:00 — Mas espere: INTERNET → COBOL?

Jack Bauer para no corredor.

Olha para você.

— Você colocou a internet na frente da minha transação bancária?

Boa pergunta.

Porque API sem segurança é apenas uma maneira moderna de criar um incidente.

Aqui entram mecanismos como:

TLS
JWT
SAF
RACF
autenticação
autorização
controle por operação

A ideia não deveria ser:

INTERNET
   │
   ▼
COBOL

Mas algo conceitualmente muito mais parecido com:

REQUEST
   │
   ▼
TLS
   │
   ▼
AUTENTICAÇÃO
   │
   ▼
AUTORIZAÇÃO
   │
   ▼
z/OS Connect
   │
   ▼
SAF / RACF
   │
   ▼
RECURSO

O velho castelo ganhou uma porta moderna.

Não removemos os guardas.


⏱️ 15:00 — Autorização granular

Existe uma diferença importante entre:

VAGNER PODE ACESSAR A API

e:

VAGNER PODE EXECUTAR ESTA OPERAÇÃO?

Considere:

GET /contas/123

versus:

POST /transferencias

Consultar saldo e transferir dinheiro são operações completamente diferentes.

Em segurança empresarial queremos aproximar-nos do princípio:

least privilege

Ou seja:

conceder apenas aquilo que determinado usuário ou identidade realmente necessita.

Isso também mostra por que API modernization não é simplesmente instalar um servidor HTTP na LPAR e comemorar.

Existe arquitetura por trás.


⏱️ 16:00 — O telefone toca novamente

— Jack, a API está lenta.

Pronto.

Começou a produção.

Agora precisamos responder:

onde estão os 800 milissegundos?

Pode ser:

Mobile
  ↓
rede
  ↓
API Gateway
  ↓
z/OS Connect
  ↓
CICS
  ↓
COBOL
  ↓
Db2

Sem observabilidade, todos apontam para o vizinho.

O pessoal web:

— Mainframe está lento.

O mainframe:

— Aqui está normal.

A rede:

— Não é comigo.

O DBA:

— A query levou 2 ms.

E assim nasce uma war room de oito horas.


⏱️ 17:00 — OpenTelemetry encontra SMF

O universo moderno fala muito em:

metrics
logs
traces
OpenTelemetry
Prometheus
Grafana

O mainframe possui sua própria tradição de observabilidade:

SMF
RMF
CICS statistics
CICS monitoring
logs

z/OS Connect vive justamente numa região onde esses universos podem se encontrar.

E existe algo poeticamente maravilhoso nisso.

A turma cloud-native descobre distributed tracing.

O velho sysprog toma um gole de café e responde:

— Interessante. Nós também gostamos de saber para onde foi nosso CPU desde antes de você nascer.

Easter egg número 1: nunca diga a um sysprog veterano que observabilidade foi inventada junto com Kubernetes.

Você poderá assistir a uma palestra improvisada de quatro horas sobre SMF.


⏱️ 18:00 — E aquele papo de 99% no zIIP?

Aqui precisamos impedir um pequeno atentado conceitual.

Você poderá ler que mais de 99% do processamento relacionado ao z/OS Connect pode ser elegível para zIIP em determinadas condições de execução nativa.

Então alguém inevitavelmente concluirá:

“Excelente! 99% do meu COBOL vai para zIIP!”

NÃO.

Jack Bauer bate na mesa.

O relógio para durante dois segundos dramáticos.

A afirmação refere-se ao processamento do z/OS Connect, não magicamente a toda carga que existe atrás dele.

Pense:

HTTP processing
JSON transformation
z/OS Connect runtime
        │
        └────► alta elegibilidade zIIP

Depois:

CICS
COBOL
Db2
outros componentes

possuem suas próprias características e regras.

Esse detalhe é fundamental quando alguém começa a transformar arquitetura técnica em planilha financeira.


⏱️ 19:00 — Containers chegam ao mainframe

Outra surpresa para quem pensa que mainframe significa somente:

JCL + STARTED TASK + 3270

O ecossistema moderno do z/OS Connect também contempla deployment containerizado em cenários suportados.

Entram conceitos como:

OCI containers
OpenShift
z/OS Container Extensions
IBM Z

Ou seja, podemos encontrar arquiteturas muito diferentes.

Mas cuidado.

Não conclua:

“Então qualquer componente pode ser colocado em qualquer lugar.”

Características, features e restrições podem variar conforme o modelo de implantação e versão.

Regra do velho Bellacosa:

Antes de transformar um slide de arquitetura em implementação, leia a documentação da versão que realmente será instalada.

Essa frase evita mais incidentes que muita ferramenta cara.


⏱️ 20:00 — E IBM MQ?

Aqui mora outra armadilha interessante.

Em material introdutório é comum vermos juntos:

CICS
IMS
Db2
IBM MQ

Mas suporte depende da feature e geração utilizada.

O ecossistema histórico do z/OS Connect possui diferenças entre gerações e recursos.

Portanto:

“z/OS Connect suporta X” não é uma informação completa sem perguntar versão, feature e cenário.

Isso vale para MQ e praticamente qualquer produto empresarial com anos de evolução.

Easter egg número 2: em mainframe, a resposta para “isso é suportado?” frequentemente começa com:

“Depende do release.”

Se alguém responder imediatamente “sim” sem perguntar versão, comece a ficar desconfiado.


⏱️ 21:00 — API Management não é z/OS Connect

Outra confusão clássica.

Podemos ter:

CONSUMIDORES
     │
     ▼
API MANAGEMENT
     │
     ▼
z/OS Connect
     │
     ▼
CICS / IMS / Db2

API Management pode cuidar de coisas como:

catálogo
lifecycle
analytics
policies
plans
governança
consumidores

z/OS Connect possui foco específico na integração entre APIs e recursos z/OS.

São papéis complementares.

Pense num aeroporto.

API Management administra boa parte da relação com passageiros, rotas, regras e portas.

z/OS Connect é o intérprete altamente especializado que sabe conversar com aquela aeronave de 300 toneladas chamada CICS.


⏱️ 22:00 — Passo a passo mental para criar nossa API

Vamos montar uma operação conceitual.

Temos:

Programa: CLIENTE
Ambiente: CICS
Entrada: CLIENTE-ID
Saída:
   CLIENTE-NOME
   CLIENTE-LIMITE
   CLIENTE-STATUS

Passo 1 — Descubra a capacidade de negócio

Não comece pelo REST.

Pergunte:

O que esse programa realmente faz?

Resposta:

CONSULTAR CLIENTE

Passo 2 — Entenda entrada e saída

Localize copybooks e estruturas.

05 CLIENTE-ID PIC 9(09).

Saída:

05 CLIENTE-NOME   PIC X(40).
05 CLIENTE-LIMITE PIC 9(09)V99.
05 CLIENTE-STATUS PIC X.

Passo 3 — Pense na API como contrato

Por exemplo:

GET /clientes/{id}

Passo 4 — Defina representação externa

{
   "id": 123,
   "nome": "MARIA",
   "limite": 8000.00,
   "status": "ATIVO"
}

Passo 5 — Configure o mapping

Conceitualmente:

id
   ↕
CLIENTE-ID

nome
   ↕
CLIENTE-NOME

limite
   ↕
CLIENTE-LIMITE

Passo 6 — Configure segurança

Pergunte:

Quem chama?
Como autentica?
Qual identidade chega ao z/OS?
Qual operação pode executar?
Qual recurso SAF protege?

Passo 7 — Teste

Não teste somente:

HTTP 200

Teste também:

dados inválidos
cliente inexistente
timeout
indisponibilidade CICS
falha Db2
credencial inválida
usuário sem autorização
campos limites
concorrência
volume

Passo 8 — Observe

Descubra antes da produção:

latência
throughput
CPU
zIIP
erros
timeouts
dependências

Passo 9 — Documente

OpenAPI não deveria ser decoração.

É parte do contrato entre equipes.

Passo 10 — Só então coloque Jack Bauer de plantão

Preferencialmente não coloque.

Se precisarmos dele, alguma coisa já deu muito errado.


⏱️ 23:00 — O verdadeiro significado de modernização

Agora chegamos à parte que considero mais importante.

Existe uma narrativa confortável:

VELHO = RUIM
NOVO = BOM

Computação real não funciona assim.

Um programa COBOL criado em 1992 pode estar executando uma regra crítica perfeitamente.

Uma aplicação criada há seis meses em Kubernetes pode ser uma catástrofe arquitetural.

Idade não é qualidade.

Tecnologia nova não é automaticamente modernização.

A pergunta deveria ser:

Que problema de negócio estamos tentando resolver?

Se o problema for:

“Precisamos disponibilizar capacidades do mainframe para novos canais.”

Talvez a resposta seja integração.

Não reescrita.


⏱️ 23:42 — O castelo Bellacosa

Imagine o mainframe como um castelo gigantesco.

Dentro dele vivem:

COBOL
CICS
IMS
Db2
RACF
JES2

Durante décadas quem quisesse entrar precisava conhecer os costumes locais:

3270
TSO
ISPF
JCL
copybook
COMMAREA
EBCDIC

Então construímos uma recepção moderna.

Na porta está escrito:

HTTPS
REST
JSON
OpenAPI

O visitante chega.

— Quero consultar a conta 123.

Ele envia:

GET /accounts/123

A recepção entende.

Traduz.

Entra no castelo.

O velho COBOL recebe sua estrutura.

Executa.

Consulta Db2.

Devolve os dados.

A recepção traduz novamente.

O visitante recebe:

{
   "account": 123,
   "balance": 8542.71
}

E vai embora.

Ele nunca soube que CICS existia.

E o CICS nunca precisou aprender React.

Isso é desacoplamento.


⏱️ 23:50 — A curiosidade que muda tudo

Perceba uma consequência filosófica interessante.

Uma aplicação pode ter:

30 anos de idade

e possuir uma interface criada ontem.

Portanto:

A idade da implementação não determina a idade da interface.

Essa frase merece ficar colada perto do monitor.

Podemos ter:

React
   │
REST
   │
API Gateway
   │
z/OS Connect
   │
CICS
   │
COBOL
   │
Db2

Qual é a idade desse sistema?

2026?

2015?

2002?

1989?

A resposta correta talvez seja:

todas elas.

Sistemas empresariais são cidades.

Não são casas.

Uma cidade possui prédios de 1890, metrô de 1970, fibra óptica de 2025 e alguém pagando café pelo celular dentro de um edifício construído quando telefone ainda tinha fio.

Ninguém diz:

“Precisamos demolir Lisboa porque algumas construções são antigas.”

Integramos.

Restauramos.

Substituímos onde necessário.

Preservamos onde faz sentido.


⏱️ 23:55 — Cinco dicas do velho COBOLzeiro

Se você está começando em COBOL e z/OS Connect, guarde estas ideias.

1. Aprenda HTTP e REST.

Você não precisa virar desenvolvedor frontend, mas precisa entender:

GET
POST
PUT
DELETE
headers
status codes
JSON
TLS

2. Aprenda OpenAPI.

O contrato é parte central desse novo mundo.

3. Continue estudando COBOL profundamente.

API nenhuma elimina a necessidade de entender aquilo que existe atrás dela.

4. Aprenda segurança.

Especialmente:

SAF
RACF
TLS
JWT
identidade
autenticação
autorização
least privilege

5. Aprenda observabilidade.

Porque depois do primeiro:

HTTP 200 OK

virá inevitavelmente:

“Por que demorou 1,7 segundo?”

E alguém precisará descobrir.


⏱️ 23:58 — O último plot twist

Jack Bauer finalmente encontra o responsável pelo incidente.

Não era o COBOL.

Não era o CICS.

Não era o Db2.

Não era RACF.

Era uma aplicação distribuída fazendo 47 chamadas redundantes para a mesma API para montar uma única tela.

O sysprog olha para Jack.

Jack olha para o sysprog.

O sysprog pergunta:

— Quer café?

— Quanto tempo temos?

00:01:42

— Dá.


⏱️ 23:59 — O relógio chega ao fim

Agora podemos resumir toda nossa arquitetura:

                     IBM z/OS CONNECT
                            │
             ┌──────────────┴──────────────┐
             │                             │
             ▼                             ▼

        API PROVIDER                  API REQUESTER

      mundo → z/OS                   z/OS → mundo

       REST/JSON                         COBOL
           │                               │
           ▼                               ▼
     z/OS Connect                    z/OS Connect
           │                               │
           ▼                               ▼
   CICS / IMS / Db2                  REST APIs
           │                               │
           ▼                               ▼
         COBOL                       Cloud / SaaS

Ao redor disso existem:

OpenAPI
mapping
security
SAF
RACF
TLS
JWT
OpenTelemetry
SMF
zIIP
containers
OpenShift
API Management
DevOps

Mas existe uma ideia ainda maior envolvendo tudo isso:

MODERNIZAÇÃO
      │
      ▼
não significa obrigatoriamente
      │
      ▼
REESCRITA

Modernização pode significar:

PRESERVAR
    │
    ▼
CAPACIDADES DE NEGÓCIO
    │
    ▼
DESACOPLAR
    │
    ▼
EXPOR POR CONTRATOS MODERNOS
    │
    ▼
INTEGRAR
    │
    ▼
EVOLUIR

☕ Epílogo — 00:00:00

O relógio finalmente chega a zero.

A API está funcionando.

O aplicativo mobile consulta o cliente.

O request entra como REST.

z/OS Connect recebe JSON.

A estrutura chega ao CICS.

O programa COBOL executa.

Db2 responde.

A informação volta.

O usuário vê seu saldo no smartphone.

Ele toca na tela e reclama:

— Nossa, tecnologia moderna é incrível.

No datacenter, silenciosamente, um programa COBOL escrito quando Windows 3.1 era novidade acabou de fazer o trabalho pesado.

Ele não recebeu aplausos.

Não apareceu no aplicativo.

Ninguém colocou seu nome na keynote.

Ele simplesmente executou outra transação.

Como fez milhões de vezes.

Jack Bauer fecha o notebook.

O operador olha para a console.

CICS STATUS: ACTIVE

Tudo normal.

Então o velho COBOLzeiro toma o último gole de café e deixa uma anotação para o turno seguinte:

Não confundam modernização com demolição. Às vezes o sistema não precisa de um coração novo. Precisa apenas de uma porta nova.

Na porta está escrito:

REST
JSON
OpenAPI

Atrás dela continua existindo:

PROCEDURE DIVISION.

    PERFORM PROCESSAR-NEGOCIO.

    GOBACK.

00:00:01

O telefone toca novamente.

— Temos outro problema.

— Qual?

— Agora querem colocar IA acessando a API.

O COBOLzeiro olha para Jack Bauer.

Jack Bauer olha para o relógio.

O relógio começa novamente:

24:00:00
23:59:59
23:59:58...

E em algum lugar muito distante do CPD alguém abre um PowerPoint chamado:

AI MAINFRAME MODERNIZATION
FINAL_v7_REAL_FINAL_AGORA_VAI.pptx

O operador suspira.

— Passa o café.

Easter egg final: se você trabalha em TI há tempo suficiente, sabe que o arquivo FINAL_v7_REAL_FINAL_AGORA_VAI jamais é a versão final.

E talvez essa seja a única constante mais confiável que o próprio mainframe.

quarta-feira, 12 de janeiro de 2022

Do Mainframe a Cloud Computer, la e ca outra vez...

 

Bellacosa Mainframe e os primordios da nuvem


Do Mainframe a Cloud Computer, la e ca outra vez...


Conceitos sobre Nuvem / Cloud Computer

Salve jovem padawan, feliz 2022 e hoje voltamos a ativa, passado as festividades da Epifania dos Reis Magos, iniciamos o ano com um artigo de conceitos gerais, uma ferramenta para elucidar alguns termos usados nos cursos, principalmente nos AWS da Amazon e Azure da Microsoft.

Mas antes de iniciarmos, saiba que a origem desta moda das nuvens, iniciou-se em tempos idos, afinal tudo era nuvem, calma, não entre em pânico, o tiozão não surtou nem bebeu demais nas festas, mas nos primórdios da computação na Era de ouro dos Mainframes, tudo estava armazenado num servidor, longe da sede da empresa, muitas vezes a dezenas, quiçá centenas de quilômetros de distância.

O Centro de Processamento de Dados, era um servidor conectado via linha discada através de modens, que distribuía a informação localmente em terminais 3270 e posteriormente em emuladores de terminal 3270, através de conexões via ponte em CICS, época que os caracteres EBCDIC imperavam, era em que o espaço em disco era caríssimo, memoria idem, as empresas alugavam tempos de processamento com X ciclos de CPU, X espaço de memória e disco.

O armazenamento era feito em tapes e cartridges com a utilização de inúmeros aplicativos em COBOL, PLI e Assembly para gerar copias via JCL, que encareciam o processo e limitava o armazenamento de dados, obrigando que as empresas usassem estratégias locais para solucionar questões estratégicas analisando os dados.

Anos 60 a padronização dos serviços

Com pouco mais de duas décadas, muitos fabricantes e pouca padronização, situação que obrigou ao governo americano a lançar inúmeras Normas ISO/ASA para definir os tipos de serviços prestados em processamento de dados, as linguagens de programação aceitas e outras especificações técnicas que serviram para impulsionar o serviço e democratizar o acesso dos Computadores as Universidades e Empresas civis.

Anos 70 a Mainframe Cloud

Um pouco abstrato, um pouco imaginação do tiozão, porem nos primórdios os Mainframes, capitaneado a pela gigante azul, a IBM dominou o mercado e vendia/alugava serviços : serviços de codificação, processamento de dados, armazenamento e impressão de relatório, basicamente os clientes utilizavam-se de terminais para acessar os serviços e consumirem as informações, poucas empresas tinham capital suficiente para serem donas de 100% do parque informático e os Centro de Processamento situação muito semelhante com os services atuais (IaaS, PaaS, SaaS e DaaS, com uma vantagem adicional a concorrência era baixa e a maior parte das patentes e pessoal qualificado era da empresa.

Anos 80 e a multiplicação dos dados

Com o advento da microinformática e o uso intensivo do Clipper e base de dados XBase, surgiu novos ares no processamento de dados num mundo off-line, as empresas sentiram o poder da análise de dados e acumulação de informações e uso de planilhas de dados Lotus 123 e Supercalc..

Uma era fortemente ligada aos mainframes que geravam dados brutos e transmitiam via arquivos sequenciais em TXT, convertidos de EBCDIC para ASCII via protocolo FTP de alta para baixa plataforma e os pioneiros em ciências de dados, criavam programa estatísticos ou planilhas para explorarem tendências e acúmulos de dados.

Antes de prosseguirmos, recordem que era uma era off-line, onde muita das informações eram transmitidas via disquetes de 5 ¼, 3 ½ de face simples e dupla de acordo com a evolução, era uma era de rede em cabo coaxial, bem difícil de operar e com limitação de largura banda.

Anos 90 e a era da internet

Com a evolução tecnológica dos anos 90, o antigos PC XT rapidamente tornou-se obsoletos, o milagre da miniaturização e a produção em massa, facilitou a evolução, primeiros 286, 386, 486 e Pentiuns.

A linguagem Clipper e o padrão DBase com suas inúmeras versões, facilitaram o processo de processamento de dados, com utilização de fórmulas matemáticas e estatísticas sofisticadas e troca de dados na velocidade da luz, através de linhas discadas com modens rápidos e internet rápida com poderosos servidores.

Nisso foram surgindo novas linguagens e formatos de base de dados com SQL poderoso, pela primeira vez o domínio dos mainframes foi abalado, acuado com os ERPs e descentralização dos CPDs.

Y2K um fantasma na virada do século

Lembra do custo de armazenamento e uso de memória nos Mainframes nos primórdios da computação? Uma solução simples e econômica que atendia a 100% dos problemas na época. Para que século, cortaram 2 bytes do armazenamento e processamento da Data, afinal ninguém usava o 19 para nada, em milhões de registros era moedinhas no cofre, ninguém contava que os programas iriam durar tanto, e o doce cortar de bytes, gerou um bug, o bug do milênio transformou-se num monstro.

A resposta das empresas e consultorias informáticas virou uma enorme bola de neve, sorvedora de recursos e os custos para conversão de antigos programas em linguagens de alta plataforma, quebrou empresas e assustou gestores e investidores que forçou medidas drásticas aos sistemas centrais, deixando atemorizados acionistas e sociedade civil.

O JAVA e o MySQL, o Oracle, o Python, C e seus dialetos, o MS SQL e o pacote MS Office criaram um mundo novo na programação e o conceito de armazenamento de dados, fora do Mainframe e dentro de Servidores Web.

Anos turbulentos devido ao colapso econômico da Bolha da Internet e o atentado suicida as Torres gêmeas do Word Trade Center em Nova Iorque com perda de muita informação armazenada nos servidores locais.

Primeira década do novo milênio

O mundo se recuperava do colapso econômico e tudo parecia que estava bem, porem o mercado especulativo imperava, a formula de Back-Scholes-Merlon transformou o Mercado Financeiro um grande cassino, que gerou a grande bolha especulativa detonada em 2008.

As empresas buscavam soluções entre os servidores locais, servidores backups, mainframes e repentinamente as empresas viram-se numa arapuca, sem dinheiro para investir e com falências em todo o mercado.

A resposta foi cortar custos e com isso voltamos aos primórdios da informática e os servidores transformaram-se em sistemas centrais e empresas ocupam o nicho da IBM, vendendo espaço de armazenamento, serviço de processamento de dados e codificação.

Nuvem / Cloud

Uma metáfora para descrever a rede global de servidores temos inúmeros Centros de Processamento de Dados controlados por poucas empresas Amazon, Google, Microsoft, VMWare, SalesForce, RackSpace, Verizon, Cisco, entre outras. São computadores espalhados por todo o mundo que armazenam dados, executam aplicativos e fornecem serviços aos usuários por meio da internet, ocorrendo um movimento de migração e modernização de softwares.

Computação sem servidor

Foi o modelo de negócios principal da IBM no passado, hoje é um método desenvolvido para fornecer serviços de back-end às empresas, oferecendo tecnologias para escrever e executar códigos, gerir dados e integrar aplicações, tudo isso sem a necessidade de gerenciar servidores.

Uma verdadeira volta as origens, desta vez com a vantagem de existirem mais players no mercado, a concorrência ajuda a melhorar a qualidade e os custos dos serviços.

Redundância de dados

Duplicação de componentes para garantir serviço ininterrupto e evitar perda de dados. Para isso, são feitos backups dos dados em diferentes datacenters para acionar imediatamente quando houver falhas em algum deles.

Eu trabalhei no Banco Real na década de 90 e além, havia 3 grandes maquinas, o SP11, SP51 e o CA81, respectivamente na sede do Banco, na IBM SP e IBM Hortolândia, garantindo a execução dos processamentos batch e rotinas onlines durante 24 horas dias, 7 dias por semana e 365 dias ao ano.

A parte mais importante era a garantia de replicação dos dados e zero downtime. Participei de algumas simulações e os serviços levavam menos de um minutos para restabelecerem, trocava-se o servidor sem percebermos.

Middleware

O software que fica entre um sistema operacional e os aplicativos executados nele que permite a comunicação e o gerenciamento de dados para aplicativos distribuídos, como os aplicativos baseados em nuvem.

No passado era o COBOL, Natural, PL/I, Rexx, Assembly, que operavam em processo batchs via JCL, atualmente o JAVA e o C Sharp levam uma ligeira vantagem, mas existem linguagens e tecnologias para dar e vender, tornando o mercado caótico.

Services

Existem 4 tipos de serviços fortemente ligados a nuvem, mas antes a verdadeira imagem que devemos pensar é a terceirização dos diversos elementos ligado aos serviços informáticos. Pense uma grande empresa, necessita de uma equipe para manutenção de hardware, uma equipe de gestão de servidores, uma equipe de análise de incidentes e ocorrências, uma equipe de sustentação, uma equipe de desenvolvimento, uma equipe de base de dados, uma equipe de análise e organização e métodos, uma equipe de gestão de auditoria e acesso e finalizando uma equipe de comunicação e redes.

Devido a complexidade constantes, a necessidade de treinamentos e os altos custos envolvidos na aquisição de equipamento, locação de espaço, instalação de redes e comunicação e a gestão de pessoal implicou na evolução forçada dos CPDs e os inúmeros serviços que as SLAs, não conseguiam contemplar.

Por isso surgiram os serviços: IaaS, PaaS, SaaS, DaaS entre outros, que veremos nos parágrafos abaixo.

IaaS (Infrastructure as a Service)

é um tipo de serviço de computação em nuvem que oferece recursos fundamentais de computação, armazenamento e rede sob demanda e pagos conforme o uso, ou seja, um modelo de computação em nuvem que fornece recursos de computação na nuvem (como servidores, armazenamento, rede e software operacional) em um ambiente virtualizado. Ex: IBM Cloud.

Qualquer semelhança com os velhos serviços de mainframe é mera coincidência. Será?

PaaS (Plataform as a Service)

é um ambiente de desenvolvimento e implantação completo na nuvem, com recursos que permitem a você fornecer tudo, de aplicativos simples baseados em nuvem a sofisticados aplicativos empresariais habilitados para a nuvem, sem a necessidade de aquisição de licenças e pessoal técnico. .

Uma plataforma de nuvem completa para o desenvolvimento, execução e gestão de aplicações. Ex: AWS (Amazon Web Services), porém esse processo não é linear e simples, em alguns momentos ocorrem situações catastróficas como exemplo o TSB Bank.

SaaS (Software as a Service)

Uma inovação devida aos altos custos de aquisição de software, no passado fomentou muita pirataria e quebras de patentes. Também chamado de aplicativo hospedado, é um tipo de software que não precisa ser adquirido, instalado ou executado em computadores dos usuários. Ex: Adobe Creative Cloud.

DaaS (Desktop as a Service)

Os serviços evoluíram tanto, que atualmente até o Desktop é emulado, a semelhança dos antigos terminais 3270 da IBM, podemos acessar um determinado tipo de equipamento, bem como inúmeros Sistemas Operacionais de acordo com nossa necessidade.

Nuvem pública

Um dos primeiros serviço oferecidos, no passado pessoas e empresas armazenavam imagens, vídeos e arquivos de negócio. São serviços oferecidos por terceiros através da Internet e disponíveis a qualquer pessoa que queira adquirir. Ex: Google Cloud Platform.

Nuvem privada

Semelhante a nuvem publica, mas com melhores ferramentas de segmentação e segurança, pertinente para empresas com dados mais sensíveis. São serviços oferecidos pela Internet ou uma rede interna privada apenas para uso exclusivo de usuários selecionados. Ex: Cisco Cloud Center.

Nuvem híbrida

Como o mercado é dinâmico, e os custos envolvidos acabam criando barreiras, solucionadas através de packages que unem nuvem publica com a privada. Uma nuvem que combina nuvens públicas e privadas com tecnologia que permite que dados e aplicativos sejam compartilhados entre elas. Ex: Azure Stack.

Virtualização

O ato de criar uma versão virtual do ambiente de computação em vez de uma versão física, incluindo hardware, sistema operacional e dispositivos de armazenamento.

Conclusão

Caro padawan, espero não ter me estendido muito, mas tentei apresentar de maneira resumida o universo do Cloud Computer, utilizando como metodologia fazer uma comparação aos antigos sistemas centrais de Mainframe e a evolução com um pouco da historia recente.

Foi um mix de informações, onde aproveitei para tirar algumas duvidas no sites da Azure, AWS, Google e Wikipedia, qualquer duvida ou correção chama aqui ou no Discord.

Espero ter ajudado, lembre-se que é um trabalho continuo, sempre que possível irei atualizar e agregar novas informações.

No alt text provided for this image


Mais momento jabá, para distrair, vamos conhecer um pouco da Revolução Paulista de 1932, que completa 90 anos e em Itatiba a prefeitura fez uma justa homenagem ao transladar os restos mortais de um soldado constitucionalista para o Obelisco Mausoléu do Ibirapuera em SP, visite meu vídeo e veja para onde fui desta vez: https://www.youtube.com/watch?v=yqYWSLtsrps


https://www.linkedin.com/in/vagnerbellacosa/


https://github.com/VagnerBellacosa/


Pode me dar uma ajudinha no YouTube?


https://www.youtube.com/user/vagnerbellacosa


hashtagDesafio21DiasNaDIO

publicado originalmente em : https://web.dio.me/articles/do-mainframe-a-cloud-computer-la-e-ca-outra-vez/



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