Translate

Mostrar mensagens com a etiqueta IBM Consulting. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta IBM Consulting. Mostrar todas as mensagens

terça-feira, 28 de maio de 2024

Project Lightwell: O Que Todo Programador COBOL Padawan Precisa Aprender Sobre Modernização, DevSecOps e a Nova Engenharia de Software

 

Bellacosa Mainframe primeiros passos em project lightwell

☕ Um Café no Bellacosa Mainframe

Project Lightwell: O Que Todo Programador COBOL Padawan Precisa Aprender Sobre Modernização, DevSecOps e a Nova Engenharia de Software

Você Não Está Apenas Aprendendo a Aplicar Patches. Está Aprendendo Como as Maiores Empresas do Mundo Mantêm Milhões de Pessoas Conectadas Todos os Dias.

"Todo jovem programador acredita que o software termina quando o programa compila. Depois de alguns anos, descobre que escrever código representa apenas uma pequena parte da Engenharia de Software."


Imagine a seguinte situação.

Você acabou de chegar ao seu primeiro emprego.

Recebe acesso ao TSO.

Aprende alguns comandos ISPF.

Escreve seu primeiro programa COBOL.

Compila.

Executa.

Funciona.

Você sorri.

Missão cumprida.

Mas então seu mentor aparece e diz:

— "Parabéns. Agora vamos colocar isso em produção."

É exatamente neste momento que muitos desenvolvedores descobrem que existe um universo inteiro que nunca apareceu em livros de programação.

Porque escrever software é relativamente fácil.

O verdadeiro desafio é manter esse software funcionando durante vinte, trinta ou até cinquenta anos.

É exatamente sobre isso que trata o conceito apresentado pela IBM Consulting em parceria com a Red Hat através do Project Lightwell.

Embora pareça apenas mais um projeto de consultoria, ele representa uma das maiores mudanças de mentalidade da Engenharia de Software moderna.


O Programador Não Trabalha Sozinho

Quando começamos a estudar programação, imaginamos um desenvolvedor sentado em frente ao computador escrevendo milhares de linhas de código.

Na prática isso acontece.

Mas apenas durante uma pequena parte do ciclo de vida de um sistema.

Depois entram em cena dezenas de outras disciplinas.

Arquitetos.

Administradores Linux.

Especialistas em Redes.

DBAs.

Especialistas em Segurança.

Engenheiros DevOps.

Analistas de Observabilidade.

Especialistas em Automação.

Administradores OpenShift.

Administradores Kubernetes.

Consultores IBM.

Consultores Red Hat.

Todos trabalhando para que aquele pequeno programa COBOL continue funcionando sem que o cliente sequer perceba sua existência.

É uma verdadeira orquestra.


O Iceberg da Engenharia de Software

Imagine um iceberg.

A ponta visível representa apenas o código.

Talvez 10%.

Debaixo da água existe todo o restante.

Planejamento.

Testes.

Deploy.

Versionamento.

Backup.

Observabilidade.

Logs.

Monitoramento.

Segurança.

Governança.

Atualizações.

Patches.

Automação.

Documentação.

Compliance.

Auditoria.

Recuperação de desastres.

Alta disponibilidade.

Escalabilidade.

É essa parte invisível que mantém os bancos funcionando enquanto você dorme.


O Que é o Project Lightwell?

O Project Lightwell pode ser entendido como uma metodologia extremamente organizada para atualizar ambientes críticos sem colocar o negócio em risco.

Pense em um hospital.

Você nunca troca o motor de uma ambulância enquanto ela está transportando um paciente.

Primeiro existe planejamento.

Depois preparação.

Depois testes.

Somente então ocorre a substituição.

Com sistemas bancários acontece exatamente a mesma coisa.


Primeira Lição: Nunca Atualize Sem Conhecer o Ambiente

Uma das primeiras fases do Lightwell chama-se Assessment.

Assessment significa diagnóstico.

E diagnóstico é algo que todo bom engenheiro faz.

Imagine que você acabou de entrar em uma empresa.

Ela possui:

  • 3.000 servidores Linux

  • 800 máquinas virtuais

  • 120 clusters Kubernetes

  • centenas de aplicações

  • milhares de bibliotecas

  • milhões de linhas de código

Você realmente acredita que alguém simplesmente executa um:

yum update

ou

dnf upgrade

e vai tomar café?

Claro que não.

Primeiro é preciso descobrir absolutamente tudo que existe naquele ambiente.


Conhecimento é Redução de Risco

Um dos maiores ensinamentos da Engenharia é este:

Quanto maior o conhecimento...

Menor o risco.

Imagine descobrir que uma aplicação depende de Java 8.

Outra depende de Java 17.

Outra depende de Python 2.

Outra utiliza OpenSSL antigo.

Outra depende de uma biblioteca criada há quinze anos.

Sem um inventário completo, qualquer atualização pode derrubar um sistema inteiro.


O Inventário Vale Ouro

Muitos programadores iniciantes pensam que inventário serve apenas para patrimônio.

Na verdade, inventário é uma das ferramentas mais importantes da infraestrutura.

É preciso saber:

Qual servidor existe?

Qual sistema operacional?

Qual versão?

Quais bibliotecas?

Quais aplicações?

Quem utiliza?

Quem mantém?

Quem é responsável?

Sem essas respostas, ninguém deveria tocar em produção.


O Que Isso Tem a Ver com COBOL?

Tudo.

Imagine um programa COBOL executando no CICS.

Ele chama uma API REST.

Essa API roda em OpenShift.

O OpenShift utiliza Red Hat Enterprise Linux.

O Linux depende do OpenSSL.

O OpenSSL recebe um patch crítico.

Agora responda.

Quem garante que a atualização não interromperá a comunicação entre o COBOL e a API?

É exatamente para isso que existe o Assessment.


DevOps Não é Apenas Automatizar

Existe uma ideia equivocada de que DevOps significa apenas criar pipelines.

Não.

DevOps é uma filosofia.

É eliminar atividades repetitivas.

É reduzir erros humanos.

É acelerar entregas.

É aumentar qualidade.

É integrar equipes.

É compartilhar responsabilidades.

Um programador COBOL moderno precisa entender isso.

Mesmo que nunca escreva um pipeline.


Imagine Atualizar um Banco Manualmente

Suponha que um banco possua:

15.000 servidores.

Imagine um administrador executando login em cada máquina.

Copiando arquivos.

Executando comandos.

Reiniciando serviços.

Agora imagine repetir isso todos os meses.

Seria impossível.

É por isso que existem ferramentas como:

Ansible

Terraform

GitOps

OpenShift

Satellite

ArgoCD

Automation Platform.

Elas fazem automaticamente aquilo que humanos demorariam semanas para concluir.


O Mundo Está Caminhando para Infraestrutura como Código

Você provavelmente já ouviu falar em código-fonte.

Agora conheça outro conceito.

Infrastructure as Code.

Em vez de configurar servidores manualmente...

Você escreve código.

Esse código cria:

servidores

redes

containers

usuários

firewalls

balanceadores

clusters

Tudo automaticamente.

É como escrever um programa COBOL.

Só que o resultado é uma infraestrutura inteira.


Testar Não é Perda de Tempo

Todo programador iniciante acredita que testar significa desconfiar do próprio trabalho.

Na verdade, testar é proteger o próprio trabalho.

Imagine que você desenvolveu um sistema durante dois anos.

Uma atualização de biblioteca quebra tudo.

Sem testes...

Ninguém percebe.

Com testes automatizados...

O problema aparece em minutos.

É exatamente isso que a IBM enfatiza.

Testes antes.

Durante.

E depois da implantação.


Produção Não é Lugar para Descobertas

Existe um ditado muito conhecido entre administradores de sistemas:

"Produção não é ambiente de testes."

Parece óbvio.

Mas milhares de empresas ainda aprendem isso da pior forma.

Primeiro atualizam.

Depois verificam se funciona.

A abordagem moderna inverte completamente essa lógica.

Primeiro simula.

Depois testa.

Depois automatiza.

Depois implanta.

Depois monitora.


O Poder da Automação

Imagine duas empresas.

Na primeira:

João executa cinquenta comandos manualmente.

Na segunda:

Um pipeline executa os mesmos cinquenta comandos em cinco minutos.

Qual possui menos chance de erro?

Qual entrega mais rápido?

Qual escala melhor?

Qual sobrevive ao crescimento?

A resposta é evidente.


Observabilidade: O Sistema Está Bem?

Durante muitos anos monitoramento significava verificar:

CPU.

Memória.

Disco.

Hoje isso é apenas o começo.

Observabilidade responde perguntas muito mais profundas.

Por que esta transação ficou lenta?

Qual microsserviço aumentou o tempo de resposta?

Qual API está apresentando erro?

Qual banco de dados está congestionado?

Qual cluster perdeu desempenho?

É praticamente um raio-X do ambiente.


Segurança Não é Apenas Antivírus

Quando ouvimos a palavra segurança pensamos em hackers.

Mas segurança corporativa é muito maior.

Inclui:

controle de acesso

criptografia

gestão de certificados

identidades

autenticação

autorização

patches

vulnerabilidades

compliance

auditoria

resposta a incidentes

É um universo inteiro.


O Papel da Inteligência Artificial

Um ponto interessante do Project Lightwell é a utilização de Inteligência Artificial para analisar ambientes complexos.

Imagine uma empresa com:

50 milhões de linhas de código.

Milhares de bibliotecas.

Centenas de dependências.

Nenhum ser humano consegue analisar tudo isso sozinho.

Ferramentas baseadas em IA conseguem identificar:

bibliotecas obsoletas

dependências inseguras

versões incompatíveis

riscos de atualização

prioridades

Isso não substitui engenheiros.

Aumenta sua capacidade.


O Mainframe Continua no Centro da Arquitetura

Existe um mito de que modernização significa abandonar o Mainframe.

A realidade é exatamente o oposto.

Hoje encontramos arquiteturas onde:

COBOL executa no z/OS.

CICS fornece processamento transacional.

Db2 armazena dados.

OpenShift executa microsserviços.

APIs REST conectam aplicações.

Kafka distribui eventos.

Ansible automatiza ambientes.

Red Hat Enterprise Linux hospeda aplicações auxiliares.

Tudo integrado.

O Mainframe permanece como o coração do negócio.


O Novo Perfil do Programador COBOL

Há trinta anos bastava conhecer:

COBOL

JCL

CICS

DB2

Hoje isso continua extremamente importante.

Mas surgiram novas competências.

Git.

GitHub.

GitLab.

VS Code.

Zowe.

JSON.

REST.

APIs.

Docker.

Containers.

OpenShift.

Linux.

CI/CD.

DevOps.

Observabilidade.

Cloud.

Segurança.

Automação.

Você não precisa dominar tudo imediatamente.

Mas precisa saber que esse universo existe.


O Programador Padawan Nunca Para de Aprender

A palavra "Padawan", emprestada do universo da ficção científica, descreve perfeitamente a carreira em tecnologia.

Sempre haverá algo novo.

Uma nova linguagem.

Uma nova arquitetura.

Um novo framework.

Uma nova ferramenta.

Uma nova metodologia.

Os grandes profissionais não são aqueles que sabem tudo.

São aqueles que nunca deixam de aprender.


A Maior Lição do Project Lightwell

Se fosse necessário resumir todo esse projeto em apenas uma frase, ela seria:

Modernizar não significa trocar tecnologia. Significa reduzir riscos enquanto o negócio continua funcionando.

Essa talvez seja a maior diferença entre um programador iniciante e um engenheiro de software experiente.

O iniciante pergunta:

"Como faço esse programa funcionar?"

O engenheiro pergunta:

"Como faço esse sistema continuar funcionando pelos próximos vinte anos, mesmo após centenas de atualizações, milhares de mudanças e milhões de transações?"

Essa mudança de perspectiva transforma um desenvolvedor em um profissional capaz de atuar em ambientes de missão crítica.


Conselho do Bellacosa

Se você é um Programador COBOL Padawan, talvez olhe para termos como DevSecOps, OpenShift, Ansible, GitOps, Observabilidade ou Platform Engineering e pense que tudo isso está distante da sua realidade.

Não está.

Cada um desses conceitos representa uma evolução natural da Engenharia de Software. Eles não substituem o COBOL; eles ampliam o contexto em que ele opera. Um programa COBOL que processa milhões de transações por dia depende de infraestrutura, automação, segurança e monitoramento para continuar entregando valor ao negócio.

Aprenda um conceito de cada vez. Continue dominando COBOL, JCL, CICS, Db2 e z/OS, mas reserve um tempo para explorar Linux, Git, APIs REST, containers, OpenShift e automação com Ansible. Não tenha receio de estudar assuntos que parecem complexos. Todo especialista já foi um iniciante.

Lembre-se: o mercado não procura apenas programadores que escrevem código. Procura profissionais que compreendem como sistemas completos são projetados, implantados, protegidos e mantidos em operação.

O Project Lightwell é um excelente exemplo dessa visão integrada. Ele mostra que o sucesso de uma aplicação não depende apenas da qualidade do código, mas da disciplina em torno de planejamento, testes, automação, segurança e acompanhamento contínuo.

Portanto, continue curioso. Leia documentação técnica. Monte laboratórios. Experimente novas ferramentas. Pergunte "por quê?" antes de perguntar "como?". Cada novo conhecimento será mais uma peça na construção da sua jornada.

Porque, no fim das contas, você não está aprendendo apenas COBOL. Está aprendendo Engenharia de Software em sua forma mais completa — a mesma que mantém bancos, seguradoras, companhias aéreas e governos funcionando 24 horas por dia, todos os dias do ano.

E essa é uma habilidade que continuará sendo valiosa por muitas décadas.