How to train your dinosaur: our strategy to migrate mainframe applications to the cloudIndustry Track Talk
At Raincode, we migrate legacy mainframe applications into the cloud, more specifically to .Net. Perhaps surprisingly, these dinosaurs of our computing age are still relevant and important in the 21st century. For example, Reuters reported in 2021 that 95% of ATM swipes rely on COBOL code (which typically means on the mainframe). In this talk, I will give an overview of how Raincode successfully enables such dinosaurs to fly in the cloud. This yields advantages such as improved ease of maintenance and the ability to gradually evolve them to more modern beasts. More specifically the talk will be about the role of the state-of-the-art methods, techniques, and tools we use to train these dinosaurs. I will first touch on our compilers and IDE support. The former means advanced parsing for languages like PL/I where keywords are not reserved, i.e. variables named ‘if’ or ‘then’ are allowed, as well as how our IBM assembler compiler treats self-modifying assembly code (the norm in these systems). The latter means how we have full integration in a popular IDE; from syntax highlighting to complete debugger support. The second part of the talk treats the mainframe as an ecosystem: programs are written in multiple languages that inter-depend and depend on a host of standard utilities of the mainframe. We will show how using current tools allowed us to build two standard mainframe transaction monitor emulators with a low amount of effort, by offloading the brunt of the work to a mainstream database product. The third part of the talk discusses what we can do when these dinosaurs fly. On the one hand is enabling a gradual migration into the cloud thanks to our single source solution (which is why we emulate known bugs of the IBM compiler). On the other hand, we talk about how the existing COBOL, PL/I and IBM assembler code seamlessly interoperates with C#. This allows clients to, piece by piece, rewrite or extend their systems in C# if they so choose, thus evolving their dinosaurs to a contemporary ecosystem.