Modernize
The question “What to do about all that COBOL” has lingered for many years. The popular answer is to Modernize it. Analyze its functions, re-architect into “modern micro-architectures”, and then write the new software in a “more modern” language.
We talk about the notion that COBOL is an ancient and limited language elsewhere (link to TBD article). The punchline: the latest ISO-IEC Standard for the COBOL Language was published in 2023!
This article suggests that if Modernization is the goal, Porting the COBOL to Cloud-Native platforms is an important first step. And may be the last step needed.
What does “porting” mean?
When you take the source code for an application running on, say, Microsoft Windows and process it through a compiler to produce a version for Linux, you are Porting the application to Linux. Programs that use complicated platform-unique capabilities can be hard to port. Programs like most if not all those in COBOL are not as complicated to Port.
The challenges in Porting from the IBM Mainframe implementation of COBOL to other implementations on Linux, BSD, Microsoft, and/or Apple platforms are well understood. They often can be minimized by simple tools built during the Proof of Concept phase of the project.
Why is Porting so important?
First, the deployment of COBOL application onto Cloud-Native platforms can save you money in the short term. There are no lengthy analysis and re-architecture steps. And there is, at most, a tiny amount of new and changed code involved.
Simply, a line of mature COBOL code can be Ported to a new and more modern platform for pennies. And since there are so few new and changed lines of code, the probability of new defects and/or security exposures is near zero!
Porting also lets you weed out code that is in the libraries that is no longer in use and to revalidate that operational run-books and procedures are taken care of.
A Money-Ball Porting Strategy
We recommend that you look for long-running background batch programs. They are often intense users of system resources which, on mainframes, means that they drive a lot of the operational costs.
They are generally the easiest to port and the easiest to test. And the combination brings success quickly.
Working “up the complexity chain” in the porting strategy produces experienced team members, successes to ensure continued to commit to the work, and savings that grow as you go.
But Modernization!?
Absolutely! There are large portions of the COBOL inventory that cry out for better integration into the newer Cloud technologies.
Our recommendation would be to do a limited top-down evaluation and plan for that while having a separate team do the bottom-up porting of the applications that may never need to be modernized.