Mainframes? Well, for large organizations, federal and state government entities, Mainframes are still a thing!
For our most recent development project, we modernized a legacy application used by a professional association. It was a complete re-write of their application which we decided to develop in Google’s Firebase which is similar to AWS’ Lambda and falls into that serverless category of infrastructure. While the application is critical to our client, the concurrent user demand for it isn’t heavy so we estimate our costs for hosting this will be less than $20 per month. Having the ability to rewrite something from scratch allowed us to use serverless hosting but this is a luxury most enterprises cannot realize and serves as the inspiration for my post today.
As much as I’d like to brag about our coding skills, I’m using this opportunity to reflect on the idea that for every born on cloud application running right now, there are probably hundreds of applications that don’t fit the cloud. While not an exhaustive list of categories, here are several to think about:
- Client-Server Applications (multiple thick clients connecting to an application + database server)
- Web-based applications – 3 tier architecture, with Vertical scaling
- IBM iSeries or IBM pSeries
- Solaris on Sparc Based Systems
- DEC Alpha running OpenVMS or Tru64
- PDP running RSX-11M, RT11, RSTS
- VAX running VMS
- HP3000 running MPE/iX 7.5
With the cloud and its utility-based billing, I know executives starting questioning their IT departments to understand when they were going to save money and migrate their applications to the cloud. I also suspect that IT departments got tired of telling said executives that for the legacy applications they employ, that the cloud wasn’t an option for them.
Using a presentation shared by Cloudability at AWS Reinvent a few years back, I paraphrase what they said about the potential paths for moving legacy systems into the cloud:
The movement of systems and servers into a different infrastructure provider as is. This may offer better pricing and easier scaling but it’s generally a lateral movement with some marginal improvements possible.
The ground-up rebuild of your application to make it cloud-native.
The movement of systems and servers into a different infrastructure but utilizing some systems that offer instant scaling such as a cloud database or cloud storage
How Do Re-Host, Re-Factor, and Re-Platforming Fit into Legacy Systems?
(For the rest of this article we are going to speak to legacy systems in the hardware realm of Sparc, DEC, PDP, VAX and HP3000)
Circa 1999, I’d speak to retail, manufacturing and insurance IT folks that used mainframes. They wouldn’t ask me about hosting services because they knew that most hosting firms couldn’t help them out with anything except for colocating their hardware. While we wanted to be helpful, we knew we had no expertise when it came to mainframes and so we’d change the topic to bandwidth, circuits or telecom solutions. When we got bold enough to talk mainframes, my talking points would look like this:
‘“We can host your systems in our colocation space with a custom cage”
“When will you be ‘porting’ your application so we can host it?”
So the mainframe IT managers quickly realized that they’d need to retain and recruit talent while buying up hardware they suspected maybe hard to find in the future. I always thought that the company that could figure out the mainframe riddle would be on top of the world since there were so few options. Meanwhile, while mainframes weren’t at the forefront of my everyday thoughts, I kept looking for a solution while re-writing legacy web applications, moving things in (and out) of the cloud and finding colocation for our clients. Somewhere, I stumbled across emulation. Say the word emulation and most folks think nostalgically about their childhood Commodore 64, but in the world of mainframes, it’s almost as exciting.
Emulating Mainframes in the Cloud
Emulation probably falls into the re-platform or re-host strategy. There are emulations we’ve been seen for clients that run DEC PDP, VAX/VMS, HP3000 and Solaris on Sparc which allows us to talk to hosting and cloud companies once again about Mainframes. Here’s the concept:
Now you can replace legacy mainframe hardware with :
software emulation + Linux + standard x86 hardware
With modern-day operating systems and the really powerful chipsets, we found that the performance of applications is greatly improved even with the emulation layer added. Shrinking racks of hardware into a single rack becomes a reality. So there are now easier paths to take in keeping mainframes alive:
- Emulate the legacy hardware/OS, get rid of the legacy hardware and continue to host it yourself using regular x86 hardware.
- Emulate the legacy hardware/OS , get rid of the legacy hardware and find a cloud to host it in.
These options open the doors wide to saving money and leveraging someone else’s massive infrastructure investments. You still need to know how to manage your application and how to interact with the legacy OS but just running it on modern-day hardware and operating systems makes it so much better to work with.
We’d like to get into more detail in future articles about emulation as well as creative strategies around deploying client server applications (still widely used in medical and accounting software) and scaling 3 tier architectures in the cloud when refactoring isn’t an option. If you’d like to talk about emulating a mainframe, reach out to us.