O Brasil tem uma das maiores concentrações de código COBOL ativo fora dos Estados Unidos. Banco do Brasil, Caixa Econômica Federal, Bradesco e órgãos como SERPRO e Dataprev ainda processam bilhões de transações diárias em sistemas que datam das décadas de 1970 e 1980. A migração de COBOL no Brasil é um dos temas mais críticos e menos debatidos do setor tecnológico nacional.
Este artigo é um guia prático: por que a modernização é urgente, quais são os riscos de não agir, e como executar uma migração sem interromper operações críticas.
O Banco do Brasil possui décadas de lógica de negócio acumulada em programas COBOL. Boa parte do processamento noturno de folhas de pagamento, cálculos de FGTS e operações de câmbio passa por batch jobs que rodam em mainframes IBM. A Caixa Econômica Federal, responsável pelo pagamento do Bolsa Família, FGTS e financiamento habitacional do MCMV, opera infraestrutura semelhante.
No setor privado, o Bradesco e o Itaú foram pioneiros em adotar mainframes IBM no Brasil ainda nos anos 1960. Esses sistemas foram evoluindo ao longo do tempo, mas a camada de lógica central — cálculo de juros, controle de saldo, geração de extratos — frequentemente ainda é COBOL.
O Pix, lançado em 2020, foi uma revolução — mas sua camada de liquidação final ainda se conecta a sistemas legados. A modernização superficial (APIs sobre COBOL) cria uma ilusão de modernidade sem resolver o problema estrutural.
O Brasil forma centenas de milhares de desenvolvedores por ano — mas quase nenhum aprende COBOL. As universidades abandonaram a linguagem há décadas. Os programadores que ainda dominam COBOL profundamente têm entre 55 e 70 anos e estão se aposentando.
Esse vácuo de conhecimento é o maior risco operacional dos sistemas legados brasileiros. Não é a tecnologia em si que falha — COBOL é robusto. O problema é que, quando algo falha, cada vez menos pessoas sabem consertar. E quando alguém sabe, o custo de hora de um especialista COBOL sênior no Brasil chegou a patamares comparáveis ao de arquitetos de nuvem.
Instituições que dependem de dois ou três especialistas para manter sistemas que processam bilhões de reais diariamente estão operando com um risco de concentração inaceitável — que qualquer auditoria de risco operacional deveria sinalizar como crítico.
O Banco Central do Brasil, por meio da Resolução CMN 4.893/2021 e da Resolução BCB 85/2021, estabelece requisitos claros de gestão de riscos de TI e segurança cibernética para instituições financeiras. Sistemas legados sem suporte ativo de fabricante, sem capacidade de monitoramento em tempo real e sem trilha de auditoria adequada criam exposições regulatórias sérias.
A LGPD (Lei Geral de Proteção de Dados) adiciona outra camada: dados pessoais armazenados em sistemas COBOL com bancos de dados VSAM ou IMS raramente têm capacidades nativas de anonimização, auditoria de acesso ou portabilidade. Adequar esses sistemas às exigências da ANPD sem uma modernização estrutural é, no mínimo, muito caro.
Para bancos que operam internacionalmente ou têm correspondentes no exterior, as exigências de DORA (Digital Operational Resilience Act europeu) e as normas do BIS sobre resiliência operacional também são cada vez mais relevantes.
Nenhum banco brasileiro vai — nem deve — desligar seu mainframe numa sexta-feira à noite e ligar um sistema Java novo na segunda-feira. Migrações bem-sucedidas são incrementais e baseadas em validação contínua.
As principais abordagens são:
Para a maioria das instituições brasileiras, a combinação de replatforming de curto prazo com rewrite modular de médio prazo é o caminho mais equilibrado entre risco e agilidade.
Veja como um cálculo simples de juros — presente em praticamente qualquer sistema bancário COBOL — pode ser comparado com sua implementação moderna:
* COBOL — Cálculo de juros simples
IDENTIFICATION DIVISION.
PROGRAM-ID. CALC-JUROS.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-PRINCIPAL PIC 9(10)V99 VALUE 10000.00.
01 WS-TAXA PIC 9(3)V9999 VALUE 0.0120.
01 WS-MESES PIC 9(3) VALUE 12.
01 WS-JUROS PIC 9(10)V99.
01 WS-TOTAL PIC 9(10)V99.
PROCEDURE DIVISION.
COMPUTE WS-JUROS = WS-PRINCIPAL * WS-TAXA * WS-MESES
COMPUTE WS-TOTAL = WS-PRINCIPAL + WS-JUROS
DISPLAY "Juros: " WS-JUROS
DISPLAY "Total: " WS-TOTAL
STOP RUN.
# Python — Equivalente moderno
from decimal import Decimal, ROUND_HALF_UP
def calcular_juros_simples(
principal: Decimal,
taxa_mensal: Decimal,
meses: int
) -> dict:
juros = (principal * taxa_mensal * meses).quantize(
Decimal('0.01'), rounding=ROUND_HALF_UP
)
total = principal + juros
return {"juros": juros, "total": total}
resultado = calcular_juros_simples(
Decimal("10000.00"),
Decimal("0.0120"),
12
)
print(resultado)
A versão Python é testável com pytest, versionável com Git, documentável com docstrings, e pode ser exposta como uma API REST com FastAPI em minutos. O comportamento é idêntico — mas a manutenção, evolução e integração são radicalmente diferentes.
O ponto de partida é sempre um inventário: quantas linhas de COBOL estão em produção, quais são os sistemas mais críticos, quem ainda conhece o código e quais são as integrações existentes. Esse diagnóstico leva tipicamente de duas a quatro semanas com uma equipe experiente.
A partir daí, é possível construir um roadmap realista — com estimativas de custo, risco e prazo — que permita à liderança tomar decisões fundamentadas. Migração de sistemas legados não é um projeto de TI. É uma decisão estratégica de negócio.
A CodeMigra é especializada em migração de sistemas legados para equipes de tecnologia no Brasil e na América Latina. Fazemos o diagnóstico do seu ambiente COBOL e propomos um plano de modernização que cabe no seu orçamento e cronograma.
Falar com um especialista