Last week saw both the announcement and shipping of IBM i v7.3, just three days apart, this statement in itself tells you something about the new management style of the IBM i team, as in years gone by it would have taken weeks if not months to get from announcement to shipping.
This slicker, faster approach to announcements is all part of a modern, more agile, approach to IBM’s development process that became apparent to me when they introduced their Technology Releases (TR Levels) back in v7.1.
You may wonder why this is important. Well, I’ll tell you but first let’s take a look at what’s new in 7.3.
What’s new in 7.3
I have had a little time to get to know to IBM i 7.3 as I’ve been using it since January as part of the Early Ship Program, so rather than just share a list of new features from IBM’s marketing team, I’d like to share some of my thoughts and experiences of the new release.
I guess we have to start with this one, it is after all the headline feature in the release. Basically IBM have put a time machine inside the database. You can literally ask a question of the system, then ask the same question based on a time of your choosing in the past. They have literally turned us all into potential Time Lords, sadly you have to provide your own sonic screwdriver.
How does it work? Well for those of you who thought it was based on journaling, you were wrong and thank God too, as the performance we would have got from that solution would be like traveling back 20 years to the era of the beige box’s with their CISC processors.
Instead the solution is much simpler and more elegant, you enable temporal support on a table (file) by table basis. This act creates a second instance of the file that contains all of the previous values of the file with a timestamp to reflect when this value was current. That’s the simple part, the elegant part is how DB2/i transparently knows when to dip into this table and grab the appropriate value(s) from this table without screwing up performance and/or the indexes that may depend or be influenced by these temporal values.
This function is a fundamental game changer. Admittedly it is going to take a while for the Brobdingnagian magnitude of this new feature to become apparent but think about the power that would be afforded to your everyday enquiries, let alone your Business Intelligence tools if you could just say “how did we get to this answer?”. The new reality could be that you just stepped back through the changes, watching the information update or jumping to a specific time to see how your information looked then.
If this doesn’t sound that useful, just think back to the last time you were working on a complex spreadsheet. Imagine you are staring at the figures and they just don’t make sense. You know that when you looked at it last month it was fine but you just can’t see why it’s wrong now. Now imagine that you could just keep hitting the undo button infinitely (regardless of when your spreadsheet was last saved, by whom, or which version of the application updated it) until you get to the Eureka moment and see what has happened.
This is exactly the sort of function that Temporal Support will enable!
So, you are probably thinking this is a premium feature, is going to cost a lot of money and be tough to install. Well this is the best bit, it is built into the base operating system and does not cost a penny extra.
OLAP (On-Line Analytical Processing) Enhancement
Now. personally. Business Intelligence (BI) is not my thing, in fact I try and avoid most types of Intelligence wherever possible but clearly it is important, so if BI is your thing then in addition to the Tardis function mentioned above IBM have enhanced the OLAP functions in DB2 for i.
If things like Rank, Dense Rank, Quantile Rank & Cumulative Distribution excite you, then your Christmas has come early. Loads more details on this, including examples, are on the IBM Knowledge Centre web site.
These new features have been rolled into the new version of DB2 Web Query which IBM also announced with v7.3.
Security Authority Collection
One of the things we all love about IBM i is the amazing level of security that it has built into it. One of the things we all hate is working on an IBM i system where the security levels have been “cranked up to 11”. If that reference means nothing to you, then in short, it means it is set one level higher than everyone else’s; if you really want to know, then Google “Spinal Tap these go to 11 ” and enjoy a taste of my youth.
What Security Authority Collection allows you to do is monitor how, and by whom, the objects on your system are being used before you implement your security model. Now many of you will spot the obvious flaw in that logic, surely you should build your security schema before you deploy your system.
Well of course “you should” (and I’m sure that you, dear reader, did this for your environment) but unfortunately the number of companies out there who did do this is mind-numbingly, infinitesimally small and now many of them are terrified of tightening up their security as they know it will break their application and then they will have to admit that it wasn’t actually that secure in the first place.
Automatic PTF Installation
This new feature falls into the Marmite category; you either love it or you hate it. I for one love it! This is not actually that surprising as I am one of the people who asked IBM to create this function.
Why did I asked for it, well to be blunt I’m so tired of hearing from people who tell me that their server is not as fast as it used to be or doesn’t support some new feature only to find that they have not updated, tuned or even carried out basic housekeeping since the day the server was installed.
Just in case you are still wondering what this feature actually does, think of it as Windows Update for IBM i. i.e Now your server can be set to automatically download PTFs and install them as part of a nominated IPL. Unlike Windows Update, it does not bug you to restart your server during the install or feel the need to download fixes to the fixes it had just installed.
So, why the Marmite? From the haters the points I hear most often are:
“If it ain’t broke don’t fix it” – arguing that they had once known of a PTF that was installed on a system twenty years ago that broke the server. This is of course complete rubbish; it’s like saying “I don’t believe in brushing my teeth as they are just fine today”.
Secondly, there are those folks who say I can never IPL my server, it’s needed 24 x 7. To those people I say this is exactly the reason why you must install PTFs and regularly (once or twice a year) restart your system. If you don’t you exponentially increase the chance of an unscheduled outage with a totally unknown time scale to get it back up.
Then there are those IBM i Business Partners who know how to install PTFs, know how easy it is and how much they can charge for installing them. I guess I should be careful not to incriminate myself at this point 😉
But in my opinion the main reason why people don’t install PTFs is that it’s too much like hard work. The process may not be rocket science but it is time consuming, and by this I’m not talking about the amount of time it takes to install the PTFs, I’m talking about the tedious process of determining which PTFs you need, ordering them and getting them onto your server before starting the install. That can literally take two days.
I can’t help but feel that if it was as easy as taking an option that labelled “Power down, Restart and Update” then more people would be up-to-date with their patches.
What IBM has done here is to create an opt-in function that will allow the system to download PTFs as and when appropriate but only apply them if an IPL has been requested with the extra PTF apply parameter.
Starting in v6.1, IBM started to create a replacement for the Windows based Navigator GUI client. With every release and TR level since, the functionality, speed and design have improved. It is now my first port of call whenever I have to diagnose a performance issue.
This browser based client, that is run natively and by default on your servers, has received another series of updates, gaining some cool new functions around the database.
I am a huge fan of this client. I have written here before about how good these functions are and will no doubt be writing more about them in the future. If you didn’t see if before, check out this article on using this tool to find performance issues on your server. https://powerwire.wpengine.com/ibm-i-7-2-finding-the-job-that-is-killing-your-system
As well as adding some new exit points for more granular control of security, IBM have had a general housekeep and have removed support for many of the troubleshoot SSL/TLS protocols. They have also removed support for all Ciphers that are less than 128bit as well as removing support for the much maligned Rivest Cipher 4 (RC4) 128-bit ciphers. In addition they have dropped support for Java v6, moving use to the more secure v7 & v8 JVMs.
To sum this up in a nutshell, this means that if you need to allow access to your server from devices you don’t control or over public networks like the internet, your server just got a whole lot harder to hack!
One note of caution is that because of this improved security, you MUST use the new IBM i Access solutions client to run an Ops Console session. The traditional Windows one is not able to offer the level of encryption ciphers required for a secure connection.
Pro tip: Simply migrate to the new IBM i Access Solutions client on your Ops Console PC before you upgrade, the client works just fine with the existing v7.1 and v7.2 systems. The two clients can coexist on the same PC and there is no charge for the new client.
As many of you know I’m not a developer but I can’t ignore the huge improvements that v7.3 brings to the modern day IBM i coder. Not just improvements to RPG (I am told these are significant) but also support for new open source application development environments in the form of GIT and Orion.
This is great news for the future of the platform. As not only does this open up our platform to a whole host of applications but also to a whole new generation of developers!
IBM i Services
As you may know from my previous article on IBM i Services (The Future of System Management) https://powerwire.wpengine.com/are-ibm-i-services-the-future-of-systems-management I think that these can be incredibly useful.
IBM has introduced and improved a whole host of them in v7.3, my favourite being Object Statistics. You can now use this to tell how often items are used /changed, whether objects are being audited and best of all to view journal details on object use.
This last function is worth an article all of its own but if you’ve ever had to do battle with the DSPJRN command to try and work out what happened on your system then you are going to love this!
So Much More
As you would expect, there are so many more changes, enhancements and new features that we have not touched on here and with the advent of more Technology releases for 7.3 firmly on the horizon then there will be much more for us all to learn about in IBM i 7.3 before it is done.
So here is the best part, from the very first Beta version I received, it just worked, offering support for every combination of supported hardware and network client I could throw at it. I ran it on POWER7 and POWER8, on internal disks, SSDs, SAN and VIOS and it all just worked.
All of the normal features and command line functions, even the oldest of IBM i v2.3 code I have, ran on it without issue. In short, I found it to be very stable and likely to be accepted by the community as “ready for use in production” much sooner than previous versions.
Why do I think that IBM is getting more agile?
I mentioned that I thought IBM were becoming more agile. This is not just because you could start to download 7.3 three days after they announced it, although this is a good example, it is because they are writing and shipping more features, more quickly and not just putting them into new releases but PTFing them back into the previous version too.
So, in this case, if you are running v7.2 (and if you are not, you should be!) then all you need to do is install the latest TR4 PTF’s when they ship on May 20th and you will get many of the new functions.
This idea of creating enhancements in smaller modules and shipping them faster, combined with regular and predictable release cycles means that we can see IBM is literally putting it’s money where it’s mouth is and proves that it is still committed to IBM i, unlike a few well known ISV’s who haven’t added significant new function in years.
Should you be upgrading to IBM i V7.3?
In a word YES, but that does not mean you should be installing it on your main productions system today. Normal due diligence rules apply to any major upgrade but truly I cannot see any reason why you should not install it on your test environment with a view to going live on v7.3 later this year.
We will be offering some truly world class education from the likes of Steve Will, Paul Tuohy, Jon Paris and Susan Gantner from as little as £50! Hope to see you there, more details and registration available at www.i-ug.co.uk