Move off the mainframe one workload at a time.

Move your estate frame by frame. You do not need a big-bang rewrite or an all-or-nothing cutover.

The problem

Why mainframe exits stop

The reasons to leave increase. The reasons that stop the exit stay the same.

The pressure to move

The systems continue to operate. But fewer people can change them, and less budget is available.

  • 01

    Skilled people retire

    When COBOL and IMS specialists retire, their knowledge goes with them.

  • 02

    Changes are slow and expensive

    Release cycles and license fees use budget that you need for new work.

  • 03

    Core data is difficult to access

    APIs, analytics and AI agents cannot easily access mainframe logic and records.

What stops the exit

The code has operated for decades. The people who knew it have left.

  • 01

    No reliable map

    The documentation is missing or old. Only the source code is accurate.

  • 02

    Nothing to compare against

    There is no test environment and no production data to compare the old and new systems.

  • 03

    Big-bang risk

    A full rewrite puts the full estate at risk in one cutover.

How CHAI solves this
Customer stories

Proven on real mainframe estates

Automotive

Thirty years of COBOL, mapped in seven days.

Logistics for more than 30 plants on IBM z/OS. CHAI used only the source code. There was no documentation and no test environment.

COBOL + IMS on z/OS→Java 21
7 daysto analyze 11,238 artifacts
0 → 151automated tests on the first slice
4domains, 0 circular dependencies
13:1code reduction on the first slice
The approach

How CHAI helps

01

Reads source code, not documents

It maps the full estate from the code that your team has now.

02

Checks its own work

It checks its results again before any code moves.

03

Moves one domain at a time

The mainframe continues to run the other domains. Rollback is ready.

How CHAI does it

STAGE 01 / 04

Discover

CHAI scans the full estate from the source code. It finds dependencies, data access and integrations, also in code that is not in English.

Output

Estate map of programs, data and integrations

What CHAI checks
  • Parses programs, copybooks and JCL
  • Finds the data access patterns
  • Records the external integrations
CHAI in action · Automotive case study

How CHAI moved a 30-year-old mainframe

The IBM z/OS estate of a global automotive group, layer by layer. Select a layer to see what CHAI changed it into.

Code01 / 06
Before · IBM z/OSCOBOL programs
→
After · Cloud-nativeJava 21 services (Spring Boot)

Business logic becomes Java that is easy to read and maintain. The Java is grouped by domain, not by program.

These targets are from the automotive engagement. Each engagement sets its own targets with CHAI Recipes.

Read the full case study
What you get

A tested path, not a slide

You get four results that your team can use. Open each result to see an example.

AAn estate mapPrograms, data, screens and integrations, with their dependencies.
estate-map.preview
COBOL program↔Copybook↔IMS / DB2
JCL job→CICS transaction→3270 screen→External system
BA domain split and a migration orderIt shows where the estate splits and which domain moves first.
couplingmove order
Domain A1st
Domain B2nd
Domain C3rd
Domain D4th
CA unit-tested serviceOne real slice, migrated from start to finish, with tests that your team can run.
$ ./gradlew test
Repository layer · data access
REST API contracts
Event publishing
Batch job equivalents
BUILD SUCCESSFUL · all tests pass
DA developer-ready planTasks with estimates. Each task traces to the source and has criteria to verify it.
TaskEffortTraced toVerify by Move data access to a repositoryMsource programunit tests Make the screen flow an APISscreen mapAPI contract Replace the batch jobMJCL joboutput compare
After the proof of concept

A phased exit with no big-bang cutover

Each domain runs in parallel with the mainframe. When the domain passes its gate, it replaces the mainframe for that domain.

Share of the estate on the cloud
On the cloud On the mainframe
  1. 25%
    Phase 1

    First domain moves

    Old and new run in parallel. The mainframe runs the rest.

  2. 50%
    Phase 2

    Compare and verify

    Outputs are compared with the mainframe byte for byte.

  3. 75%
    Phase 3

    Most of the estate moved

    Each phase passes its gates. Rollback is ready.

  4. 100%
    Phase 4

    Mainframe retired

    Your timeline comes from your domain map, not a template.

Illustrative. Your phases and timeline come from your own estate map.

You stay in control

Human checkpoints

Engineers approve the success criteria before migration. They validate the output after migration.

Your code stays in your tenant

Use your own LLM, on the cloud or platform you choose.

Traceable to source

Each task traces back to the source. Reviewers can check the work.

FAQ

Questions we get asked

Can CHAI analyze a mainframe estate that has no documentation?

Yes. In the automotive engagement, CHAI used only the source code. There was no documentation, no dependency map and no test environment. CHAI analyzed all 11,238 artifacts in seven days, including COBOL code in German.

Do we have to rewrite the full mainframe at one time?

No. CHAI finds where the estate splits into independent domains. Then it migrates one slice at a time. We recommend a phased Strangler Fig migration. In this method, the old and new systems run in parallel, and each phase must pass validation gates.

What does CHAI migrate COBOL and IMS to?

In the automotive proof of concept, eight COBOL programs became one Java 21 Spring Boot service on a Kubernetes target. Four IMS databases became one PostgreSQL schema. REST APIs and Kafka events replaced the 3270 screens.

How do we know that the migrated code is correct?

Each slice comes with automated tests. The automotive slice had no tests before and 151 tests after. Engineers do checks before and after migration, and each task in the plan traces back to the source. When environment access is available, we compare the outputs with the mainframe byte for byte.

Does our source code leave our environment?

No. CHAI lets you use your own LLM, on the cloud or platform you choose. The analysis runs on a model in your own cloud account.

Do you have a mainframe that nobody can fully map?

See CHAI map your estate and modernize it.

CHAI by CloudHedge — Agent View
/solutions/mainframe-modernization/
# Mainframe Modernization with CHAI

CHAI reads a COBOL mainframe estate from the source code. It finds where the estate splits into independent domains and checks its own results. Then it migrates one slice at a time to a tested Java service. No big-bang rewrite is necessary.

**For:** CIOs, VPs of Engineering and modernization leads at enterprises that run COBOL, IMS and 3270 workloads on IBM z/OS.

---

## Why exit now
- **Skilled people retire** — when COBOL, IMS and 3270 specialists retire, their knowledge goes with them
- **Changes are slow and expensive** — release cycles, license fees and specialist support use budget that you need for new work
- **Core data is difficult to access** — APIs, events, analytics and AI agents cannot easily use mainframe logic and records
- **Renewals set the deadline** — without an estate map, you have two options: renew the contract again, or rewrite with too little time

## Why mainframe exits stop
- **No reliable map** — the documentation and dependency maps are missing or old; only the source code is accurate
- **Nothing to compare against** — there is no test environment and no production data to compare the old and new systems
- **Big-bang risk** — a full rewrite puts the full estate at risk in one cutover

## How CHAI does it (four stages)
- **Discover** — CHAI scans the full estate from the source code. It finds dependencies, data access and integrations, also in code that is not in English
- **Split** — CHAI puts programs into domains. The measured coupling between domains sets the migration order
- **Verify** — CHAI checks its first pass again and corrects the plan before any code moves
- **Modernize** — CHAI moves each domain to cloud-native, event-driven services. The mainframe continues to run the other domains

## What the estate becomes (default targets; CHAI Recipes set the targets for each engagement)
- COBOL programs → Java 21 services (Spring Boot)
- IMS databases and DL/I calls → a relational schema (PostgreSQL)
- 3270 screens → REST APIs; program-to-program calls → Kafka events
- No automated tests → unit tests with every slice
- One platform for everything → Kubernetes, one domain at a time

## What you get
- An estate map: programs, data, screens and integrations, with their dependencies
- A domain split and a migration order
- A unit-tested service: one real slice, migrated from start to finish
- A developer-ready plan: tasks with estimates. Each task traces to the source and has criteria to verify it

## Ways to engage
- **Discovery assessment** — estate map, domain split and migration order
- **Proof-of-concept slice** — one real slice, migrated and tested, plus a task-level plan
- **Phased migration** — Strangler Fig method, with validation gates and rollback at each phase

## People stay in control, and the code stays in your tenant
- Engineers approve the success criteria before migration. They validate the output after migration
- Use your own LLM, on the cloud or platform you choose. The source code stays in your tenant
- Each task traces back to the source

## Proof: global automotive group, IBM z/OS
- 11,238 artifacts (1,097 COBOL programs, IMS/DB2, 3270 terminals, 33 external integrations) analyzed in 7 days. A manual analysis takes 6–8 weeks
- 4 independent domains, 18 cross-domain calls, 0 circular dependencies
- First slice: ~18,000 COBOL lines → ~1,400 Java 21 lines (13:1), 4 IMS DBs → 1 PostgreSQL schema, 3270 screens → 14 REST APIs + Kafka events, 0 → 151 automated tests
- Case study: /success-stories/automotive-mainframe-modernization/

## Proof: reinsurance accounting platform, COBOL on UNIX
- 35-year-old system: 1,076 COBOL programs, 700+ copybooks, Oracle Pro*C data access, C terminal UI
- 29,847 COBOL lines migrated to 7,652 lines of native Java 17 (3.9:1), 313/313 tests passing, 0 COBOL runtime dependencies
- First module from start to tested Java in about 4 days
- Case study: /success-stories/reinsurance-cobol-to-java/

## Proof: European accounting software provider, z/OS billing and a C++ engine
- Billing: 2,160+ COBOL and Assembler programs on CICS, DB2 and VSAM; 9 bounded contexts and a 4-wave plan; waves 1–2 migrated to Java (DB2 → PostgreSQL, MQ → Kafka, 3270 → REST)
- Effort: billing 56 → 25.5 engineer-weeks (2.2×), C++ engine 40 → 24 weeks (1.65×), integration adapters 16 → 2 engineer-weeks (8×)
- Case study: /success-stories/accounting-software-mainframe-modernization/

## Products
- CHAI DART — discovery and assessment: /products/dart/
- CHAI Flow — modernization as a pipeline: /products/flow/
- CHAI Universe — agentic workspace: /products/universe/

## Contact
Book a demo: /contact/
Email: hello@cloudhedge.io