Mainframe Modernisation: What Actually Works (And What Looks Good in a Deck)
The consulting pitch is always the same: your mainframe is a liability. Itโs expensive. Itโs hard to find COBOL developers. Itโs holding back your digital transformation. Replace it with cloud-native microservices and everything gets better.
Thereโs enough truth in this to make it persuasive, and enough oversimplification to make it dangerous. Organisations that have done mainframe migrations at scale โ and the ones that have made expensive mistakes doing it โ will tell you the same thing: the mainframe is rarely the problem people think it is, and replacing it rarely solves the problems people hoped it would.
What Mainframes Actually Do Well
Before talking about alternatives, itโs worth being honest about what youโre replacing.
Modern mainframes โ IBMโs z16 series, for instance โ are not the green-screen relics of the 1970s. They run Linux. They handle Java and Python. They process transactions at rates that most distributed systems canโt match: a high-end z16 can process tens of thousands of transactions per second with five-nines reliability and sub-millisecond response times under sustained load.
Banks and insurance companies that run core systems on mainframes are not behind the times. Theyโre running workloads where the mainframeโs characteristics โ consistent latency under extreme load, hardware-level redundancy, near-zero unplanned downtime โ are genuinely hard to replicate in a distributed environment.
The accurate critique is narrower: mainframes are expensive (licensing, hardware, and specialist staff), they require COBOL or PL/I skills that are increasingly difficult to hire, and theyโre difficult to integrate with modern development practices like CI/CD and API-first design.
The Common Modernisation Approaches
Lift and Shift to Cloud IaaS
Run the same workload on cloud infrastructure โ effectively emulating the mainframe environment on virtual machines. Companies like LzLabs offer software-defined mainframe platforms that run COBOL programs without the hardware.
What this solves: licensing costs (potentially), hardware refresh risk, physical footprint.
What it doesnโt solve: the COBOL skill shortage, the difficulty of changing the business logic, the monolithic architecture that makes incremental change hard.
This approach is often positioned as a stepping stone rather than a destination. In practice, it often becomes the destination because the next steps are harder than the initial migration.
Replatforming (Refactor for Cloud)
Take the existing application logic and rewrite it to run on modern infrastructure โ typically a combination of Java or Go microservices running on Kubernetes, with a cloud-managed database replacing the mainframeโs VSAM files or DB2.
This is where most migrations underestimate the actual task. COBOL programmes running on mainframes often contain decades of business logic โ accumulated edge cases, regulatory handling, financial precision that was hard-won through years of production incidents. That logic is not always documented. Itโs not always understood by anyone currently employed at the organisation. The tests that validate it often donโt exist.
Translating this accurately is a significant intellectual and engineering task. Automated COBOL-to-Java transpilers (there are several) produce code that is technically equivalent in most cases and subtly wrong in others. The subtly wrong cases in core banking or insurance processing are exactly the ones that matter most.
Strangler Fig Pattern
Rather than replacing the mainframe in one project, you progressively move capabilities off it โ wrapping it in an API layer first, then routing specific transaction types to new services, leaving the mainframe to handle what it does best while new development happens entirely outside it.
This is typically the most prudent approach. It produces incremental value (new capabilities come online faster when theyโre not blocked by the mainframeโs development cycle), it allows the mainframe workload to shrink organically as services migrate, and it manages risk by keeping proven mainframe code running critical functions while new code proves itself in parallel.
The limitation: it requires organisational patience. A strangler fig migration measured in years is harder to fund and govern than a big-bang replacement project with a clear end date.
Retain and Modernise
Accept that the mainframe stays for core transaction processing and invest in making it better-integrated with the surrounding ecosystem. Add an API gateway layer, modernise the developer tooling, containerise supporting workloads, and selectively rewrite the highest-friction components.
This approach tends to be underrated in vendor conversations (nobody makes money selling it) but is the right answer for many organisations. The mainframeโs reliability and transaction processing characteristics genuinely differentiate financial services businesses that rely on them, and the cost of replacing versus retaining is not always as clear as the consulting pitch suggests.
The Hidden Costs of Migration
The Testing Problem
You cannot safely migrate a core banking system without comprehensive regression testing. In many cases, the tests donโt exist โ theyโve never been needed because the system hasnโt been substantially changed in fifteen years. Building the test suite is a significant project in its own right, and it often reveals that nobody knows exactly what the system is supposed to do in every case.
The Data Migration Problem
Mainframe data formats are not the same as relational database formats. EBCDIC encoding versus ASCII/Unicode. Packed decimal numeric formats. Variable-length records. VSAM file structures. Converting decades of production data accurately, including the edge cases accumulated over that period, is painstaking work.
The Cutover Problem
How do you cut over from a mainframe processing transactions in real time to a new system without losing transactions, corrupting data, or having an outage? For a bank with millions of active accounts, this is not a straightforward deployment problem. The parallel-running period โ running both systems simultaneously and reconciling outputs โ can last months and is expensive.
The Skills Problem
Mainframe skills are genuinely scarce and getting scarcer. But the migration requires people who deeply understand both the mainframe and the target platform. That combination is even rarer. Organisations that donโt budget realistically for this typically discover partway through the project that theyโre paying much more than planned for the people who can actually do it.
What the Successful Migrations Have in Common
Looking at organisations that have completed mainframe modernisations without catastrophe โ and there are some โ a few patterns emerge:
They started with inventory. Before deciding what to replace, they documented what was actually running. Application by application, business function by business function. The ones that skipped this step typically discovered halfway through migration that theyโd missed something important.
They picked boring target architectures. The temptation when escaping a mainframe is to build something modern โ event-driven, microservices, serverless. The migrations that went smoothly mostly chose conservative targets: well-understood database technology, mature application frameworks, deployment patterns with a long track record. The migration itself was enough novelty; adding architectural novelty compounded risk.
They moved non-critical workloads first. Reporting systems, batch jobs, ancillary applications. Build the migration muscle, validate the tooling, discover the unexpected problems โ on workloads where a problem doesnโt take down core business operations.
They kept the mainframe longer than the original plan. Most migration projects have a planned decommission date that turns out to be optimistic. The organisations that planned for this possibility maintained flexibility rather than creating hard dependencies on the mainframe being gone by a specific date.
The Honest Question to Ask First
Before starting a mainframe modernisation programme, the honest question is: why are you doing this?
If the answer is โcloud is the future and mainframes are old,โ thatโs not a business case. Itโs a fashion statement.
If the answer is โwe canโt develop new features fast enough because everything runs through the mainframe and the change process takes three months,โ thatโs a legitimate problem โ but the solution might be an API abstraction layer rather than a full migration.
If the answer is โour mainframe licensing costs have reached the point where migration costs less over five years than staying does,โ thatโs a real calculation worth making carefully.
The mainframe has been being replaced โsoonโ for about thirty years. It keeps running because the workloads it runs are hard to replace without also replacing the institutional knowledge that grew up around running them. Taking that seriously is the starting point for a migration plan that has a chance of succeeding.
Questions & Comments
Loading commentsโฆ