Mainframe modernization for a wholesale distributor
Our work · Wholesale & distribution

Taking a mainframe apart, one job at a time.

A large wholesale distributor runs its core operations on a mainframe, and turning it off means moving every job that mainframe handles onto modern systems first. The company's modernization lead brought us in to do that work, one function at a time. The first project to land came in on schedule with one developer, against the company's own plan for four, and we've now switched off its mainframe processes.

Mainframe functions rebuilt on modern systems, one at a timeFirst project: 28 weeks, 1 developer, against a plan for 4Built inside the company's own environment and release process
01 The problem

The mainframe can't go until everything on it does.

The company's core operations run on a mainframe. Turning it off would save several hundred thousand dollars a year, but only after about seven separate projects move the jobs it handles onto modern systems. And the company didn't have developers to spare for that work.

That's the bind with a system like this. You can't stop the business to replace it, and you can't leave it running forever. The way out was to take it apart one function at a time.

02 What we built

One function at a time.

Each project lifts one job off the mainframe, rebuilds it on .NET and Azure, and switches the old code off. So far we've taken on four of them, each with its own scope. The company's modernization lead architects every project, and the company's own team reviews and approves the requirements. We bring the design, development, and testing.

Labels

Shelf labels, off the mainframe

The first project to land. The shelf labels retail locations print now run through a modern API; the company's mobile web app calls it directly instead of writing to a mainframe file, and the old mainframe processes are shut off.

Retail files

What the registers run on

Product, item, and promotion files that feed retail locations' point-of-sale systems, moving off the mainframe onto a new SQL datastore.

Pricing

Price changes, streamed

Price-change events flow through enterprise Kafka topics into standard, promotional, and personalized price files.

Promotions

The vendor promotion numbering system, rebuilt

A new numbering system for vendor promotions, with the vendor updates that depend on it.

Quality

Tested as it matters

In the first project, we tested every change before it shipped, with full start-to-finish stress runs. One stress test, a 900-page label report, ran clean.

03 Under the hood

Proven technology, chosen on purpose.

Almost everything we ship runs on the same modern Microsoft stack: proven, supported, and easy to hire for years from now. Cutting edge but never bleeding edge.

.NETSQL ServerMicrosoft AzureKafka

Built inside the company's own environment, on their DevOps, their release pipeline, and their approvals, so each piece goes live where their team already works.

04 The long run

Fifteen-minute sprint reviews.

The company's business users have day jobs. On the first project, sprint reviews ran 15 to 20 minutes, business refinement took about 30 minutes every two weeks, and only two technical refinement meetings were needed. Everything else moved over chat. So the company's experts weighed in on every sprint and still had most of the day for their own work.

4
mainframe projects done or underway with us
~7
projects between the company and a dark mainframe
28 wks
to deliver the first project, with one developer
15 to 20 min
a typical sprint review on the first project
Your turn

The next system on this page could be yours.

Tell us the challenge in plain language. We scope the work on complexity, commit to the figure in the room, and stay for the years after launch.

Next story

KERAMIDA

K-Port, the custom EHS compliance portal we have run for an environmental engineering firm since 2016.

Read it →