It was just over a year ago that I was having a conversation with a colleague about which applications at their site would be best to modernize. My colleague spent a long time agonizing over the word ‘modernize’, which he was at pains to always accompany with highly exaggerated air quotes.
I have used this blog in the past to highlight my own belief that mainframes are probably the most modern computing platform around – as well as being the most secure, reliable, etc etc. My colleague kept stressing the point that what ‘the others’ (yes, more air quotes) were talking about wasn’t any form of modernization, it was simply migration. They were moving data or applications to the cloud. And we all know that mainframes work perfectly well these days with cloud, Web, and mobile. Just because I’m not writing this blog on a mainframe doesn’t mean that every single mainframe application should now run on my laptop. That would be silly! However, some people think that all mainframe applications should now run on the cloud instead.
My colleague was now well into moan mode. “It’s like the word ‘recycle’”, he said. “I bought some parts for my car” – he’s doing up an old Aston Martin – “and they were labelled recycled, but they were just old parts that were being reused”. He was in full swing now, “just because they are repaired or reused isn’t the same as being recycled, is it?” I didn’t have time to answer before he started again, “in the same way migrating is a word that has its own meaning and that is different from modernizing”.
There was more, but the main thrust of the conversation moved to how he and his team could choose which mainframe-based applications would be best to migrate to a cloud platform. We quickly agreed that anything involving batch updates was not a good choice because we needed the data and the application to both be on the mainframe or time delays would become a noticeable issue. But how to choose from the other mainframe applications currently in use?
He came up with the idea of using Bayesian statistics. Now if you’ve not come across this before, it is a mathematical way of turning probabilities into a number that you can use to assess, in this case, the most likely candidate application for migration. There’s more to it than just “the computer says ‘no’”, or ‘yes’, but it proved an interesting way to select five and finally three applications to trial the use of the cloud. Remember, in the early months of last year, at many mainframe sites, cloud was still something that was mainly being talked about on PowerPoint slides rather than actually being used in a hybrid cloud environment.
Bayes theorem was created by Reverend Thomas Bayes (1701–1761). He was an English statistician and a philosopher. He was looking for a way to determine the probability of a future event based on the number of times it occurred in the past. The theorem introduced the idea of conditional probability.
The probability of any event occurring is measured in the range from 0 to 1 (from 0 percent to 100 percent). That value can be found from counting the number of times a specific event happens with respect to all the events in a set of data. What makes Bayesian analysis interesting is that it answers questions about unknown parameters using probability statements.
Any individual who knows about the mainframe applications and has some knowledge of how things work in the cloud could quantify their belief in a mainframe application being a suitable candidate for migration and their confidence in that belief can be quantified as a probability. Other members of the team may have different opinions. Their data can be added to the calculation using the Bayesian procedure.
Bayes rule is then used to carry out Bayes inference. If you really want to see the maths, you can Google it – this isn’t the right place for that, nor for that matter am I any kind of expert. The basic idea of Bayesian inference is to continually update the original thinking (prior beliefs) about the suitability of an application for migration (events) as new evidence is presented.
Putting the views of ‘experts’ together produced a way to choose the most suitable applications. Further analysis of those applications allowed updates to the figures to be made and more informed decisions to finally be made.
The methodology helped eliminate the chances of any application being chosen because it was someone’s ‘favourite’ application or excluding any applications that someone was less familiar with.
Basically, Bayesian statistics gave them a way to incorporate their prior beliefs, and evidence, to produce new beliefs. Of course, they did need to find someone who understood the maths behind the formula and a computer to run the calculations. But the final applications selected generally worked well in the cloud.
Other mainframe sites might find it a useful way to select applications in the future.