Why HP NonStop Servers Should Embrace Reactive

THIS IS MY OPINION ONLY

If you’ve worked with reactive, you probably have never heard of HP NonStop servers, and conversely if you’re working on HP NonStop servers, you’ve probably never heard or “reactive”.

First, for anyone not familiar with HP NonStop servers, a little explanation.  HP NonStop servers were originally known as systems built by Tandem Computers back in the 70s.  You probably have never heard of either.  HP NonStop servers are a mainframe-grade server that has typically had a very niche market.  The servers are a fully fault-tolerant (not failover, not hot-standby) “never-go-down” systems.   They are used by many stock markets, ATM networks, 911 call centers, and pretty much any business critical environment where losing data causes loss of money or life.

The point of this post deals with another aspect of HP NonStop servers.  They are reactive and have been so since the 70s.  The weird part is that HP NonStop servers don’t realize or acknowledge it.  So what do I mean by “reactive”?

Reactive is the new hotness in IT. Back in 2014 a group individuals introduced the “Reactive Manifesto” http://www.reactivemanifesto.org to the world. In a nutshell, the Reactive Manifesto lays out a way to design, architect, and build software. Many large companies are adopting this approach. Programming languages and frameworks are arising and or are being modified to adapt to this way of doing things, Java, Scala, Akka, etc are just a few.

So what does it mean to be reactive?  Per the manifesto, a reactive system is: responsive, resilient, elastic, message-driven.  That last point should make your ears perk up if you are familiar with HP NonStop servers.  HP NonStop servers have been message-driven at the application and OS levels since day one.  What about the other points?

Responsive

“Responsive systems focus on providing rapid and consistent response …”  One of the primary goals of HP NonStop servers is to meet business-critical response time SLAs, in a mixed workload environment. If you’re not familiar with this term, it is the HP NonStop server’s ability to run OLTP, batch, DSS, and Data Warehousing on the same machine, in production, at the same time.  In fact, there is no technical reason to have a batch window on the machine. HP NonStop servers are responsive.

Resilient

“The system stays responsive in the face of failure.”  HP NonStop systems are truly fault-tolerant (more than fault-resilient).

Elastic

Systems can react to changes in the input rate by increasing or decreasing the resources allocated to service these inputs”   HP NonStop servers have the ability to adjust to loads by spawning and killing off processes in order to handle the load for a given business task.  This is the HP NonStop server’s TS/MP (Transaction Services/Massively Parallel) environment.

Message-driven

Employing explicit message-passing enables load management, elasticity, and flow control by shaping and monitoring the message queues in the system and applying back-pressure when necessary.”   As I mentioned, HP NonStop servers are fully message-driven, including the OS itself.  What this implies is that the system is a shared-nothing environment.  There is no real shared memory or global space.

So where am I going with this. Simply put, HP NonStop servers are fully reactive and have been so since the 1970s.  However,  the platform has not embraced this approach in its tools or marketing.

HP NonStop can learn a lot from the reactive movement that is actively espousing it. In some ways it is also competing with HP NonStop.

Conversely, the reactive movement can learn a lot from how HP NonStop deals with reactive in a mainframe (as opposed to mini-server clusters).

HP NonStop programmers can and should learn a lot about how actors work and how to better implement asynchronous environments.

HP NonStop servers and the reactive model are made for each other.

On a personal note, “I have been doing reactive since the 1970s.”

“Code Review” – [sung to “Hotel California” – apologies to The Eagles]

On a bright sunny morning, I walked up the stair
Warm smell of nachos, rising up through the air
Up ahead in the lunchroom, I saw a shimmering light
My head grew dizzy and my sight grew dim
I had to stop for a bite
My manager stood in the doorway;
I heard her menacing growl
And I was thinking to myself,
“Oh oh this isn’t good, yes I’ll probably get Hell”
Her face lit up with a sneer, as she shoved me aside
There were voices down the corridor,
I thought I heard them say…

Welcome to today’s Stand Up
Such a lovely place (Such a lovely place)
Such an awful stack trace
Plenty of room at today’s Stand Up
Any time of day (Any time of day)
You can find it here

My mind is dazed-twisting, I got the mental bends
She got a lot of sticky sticky notes, notes she calls trends
How they stick to the whiteboard, bright paper squares.
Some code to remember, some code to forget

So I called up the source code,
“Please bring me my commit”
Siri said, “We haven’t had that project here since nineteen eighty nine”
And still those voices are calling from far behind me,
Wake me up in the middle of the night
Just to hear them say…

Welcome to today’s Stand Up
Such a lovely place (Such a lovely place)
Such an awful stack trace
They codin’ it up at today’s Stand Up
What a nice surprise (what a nice surprise)
Bring your alibis

Breakpoints on the display,
The tests crash the device
And I grumble “I am just prisoner here, of my own device”
And in my manager’s office,
Their coffee spills from their mugs
They stab at my code with their steely eyes,
But they just can’t kill the bugs

Last thing I remember, I was
Shown out the door
I had to find new employment now
I would code no more
“Relax, ” said git hub,
“We are programmed to receive.
You can check-out any time you like,
But you can never retrieve!

— @Archimage