Say Hello to IBM i 7.4
It’s time to meet the new kid on the block, as IBM announces the latest version of IBM i. IBM i 7.4, announced today and generally available from June 2019.
The arrival of 7.4 in 2019 is no surprise, for the last year senior IBM executives have described “The Goldilocks” period between releases as being three years and as 7.3 joined us in 2016, then it’s time for the new guy to make its mark.
I’ve had the pleasure of playing with 7.4 for a little while now, as my company is part of the Early Ship Program, and I’m delighted to say that my first impression is this release is rock solid and ready for prime time. We have done our best to break it, trying out some obscure configurations and deliberately made bad choices during some of our installations and upgrades. I’m delighted to say 7.4 took them all in its stride and carried on regardless.
There is no doubt that much of the press will be given over to the headline feature Db2 Mirror for i, and rightly so too, as this is a real paradigm shift for IBM i. Not only have they delivered yet another “Global Enterprise” class function on i, but I believe they have delivered an Industry first, giving IBM i an edge that no one else can deliver, more on that later.
I also will mention some of the other elements that have caught my eye later in this article but in the interest of time and brevity, I will keep my comments on them brief in this article and write more about them later.
Db2 Mirror for i
In summary, Db2 Mirror for i allows you to create a true Active – Active instance of a single database.
Where the two instances are identical even though they exist on two physically separate servers.
You can write to either side of the mirror and it will update both sides in REAL TIME and AT THE SAME TIME!
This is not hardware or software replication like anything you’ve know it before. For example, this is not the storage subsystem maintaining a copy of the database in two places, neither is it some advanced journaling function that stores and forwards the changes to apply later. In fact, this technology does not need journals because it’s at an even lower level than that, mirrors are maintained in unison.
This is a brand-new technology, designed from the ground up by our very own IBM i Propeller Heads, they have enhanced Db2 for i to be able to exist on more than one physical system at a time. When you write to one, you synchronously write to both.
But that’s not all, as this is IBM i and the database is integrated into the head of the operating system, IBM decided to replicate just about everything else too!
Yep, you can create users and permissions on either, you can create libraries on either, compile programs on either, update data areas on either.
It’s literally a mirror!
So how does it work
Clearly, it’s magic or at least it is way too complicated for a muggle like me to explain but the important thing to understand is that this magic is all made possible by a blisteringly fast new network connection called RoCE, pronounced Rocky (as in Balboa if you are over 40 or as in Bullwinkle if you are not).
RoCE comes in several speeds with my favourite being the dual port 100GBs PCIe Gen4 adaptor, notice the GBs, not MBs, in this case that one letter makes an incredible difference!
The RoCE interface runs so fast it’s on a par with the interconnect speeds that the POWER9 E980 uses to cross connect its multiple CEC nodes. This means that you can run Db2 mirror on the most intense workloads and still expect it to fly like a rocket, this truly is a game changer!
Another Industry first on delivered IBM i
Other solutions claim to have this Active / Active functionality but just like James Bond, “Nobody does it better” than IBM Rochester! I’ve been doing some research since IBM first briefed me on Db2 Mirror and as far as I can tell IBM has leapfrogged the likes of Oracle and Microsoft with this implementation because they have included support for what they call “Rolling Upgrades”.
In essence, this means you can run the two halves of the mirror at different IBM i levels, not just different PTF patch levels but at different operating system levels too! I know it’s a bit early to be taking about the next version of IBM i after 7.4 but if you run Db2 Mirror, you will not need any application downtime whilst you upgrade to it!
From what I’ve seen you will be able to write to either side of a Db2 Mirror, yes, regardless of which side you write to it will dynamically maintain the integrity of the single database even when the two nodes are running different versions of IBM i – this rocks!
This may sound trivial but it really is mind numbingly hard, as these two versions of IBM i hosting the nodes will have radically different functions available to them and the mirror has to ensure that one side doesn’t do something that the other can not.
Is this the end of third-party HA / DR systems?
No, not at all, this is NOT a HA solution! It is a continuous availability solution, that may sound like a semantic but it really does serve a different (albeit connected) purpose. Db2 mirror is there to allow customers to deliver an application environment with zero down time, not to protect against disasters.
Firstly, you need to remember that Db2 Mirror is a really a way of making two systems act as one. This interconnect is based on a super-fast, low latency network connection, whose primary limitation is the length of a network cable which is current 100 metres or 200 metres if you have a suitable network switch.
The point being that both systems in the mirror would need to be in the same location. Therefore, Db2 Mirror does not protect you from site wide disasters such as fire, flood, earthquake or idiotic network administrators. So, it’s business as usual for your HA / DR needs, whether you prefer Hardware or Software replication, you are still going to need it to ward off the evils of such significant and wide-reaching failures.
What good is Db2 Mirror to me if I don’t need it?
You might be forgiven for thinking, “very nice feature but no use to me”. Or to put it another way, why should I care? Well, to put it bluntly, in order to make Db2 Mirror work as fast and reliably as it does, IBM has had to optimize huge areas of the operating system, not just the database.
So, even a traditional workload, running on a single system, without the Db2 Mirror should have many areas that run more efficiently than before. Better efficiency means faster systems and lower running costs.
What else is new in 7.4?
There have been plenty of enhancements in security, some big some small but all welcome for this SysAdmin.
• SMBv3 for Netserver
This is the protocol used to map a network drive to an IBM i from Windows, MAC or Linux client. The SMBv1 protocol has so many holes in it, it’s only useful for draining pasta! SMBv2 is not really up to standard, it has several implementations that don’t always play together that well. So, I have high hopes that SMBv3 will unite them again and be the “one protocol to rule them all”.
• Authority Collection by User
This is a much-underestimated function provided in IBM i 7.3 to allow you to know exactly what authority you need to use your application as well as what authority you currently have. The bit than many people do not yet value is that this tool will also tell you where you got that current authority from. This is a much more complex question that you might think!
• TLSv1.3 support
Over the life of 7.4 this will become increasingly important as this is latest protocol that will be needed to encrypt network traffic to our servers. For those of you thinking that you don’t need to encrypt, give it a couple of years and regulations like GDPR and PCI-DSS (and the fines they can impose) will soon change your mind.
• Two new exit points to track submitted jobs
QIBM_QWT_SBMJOB calls an exit program during SBMJOB, before the job is placed on the job queue.
QIBM_QWT_CHGJOB calls an exit program when CHGJOB command or API is used to change a job on a queue.
• Compile your CL source from IFS folder
This one has been PTF’d back to 7.3, it seems to be proving popular with the Fresh Faces, as they are used to having their source code (for the Open Source Environments) in directories on the IFS.
• Loads of new IBM i Services
The Db2 for i team clearly weren’t busy enough with the Db2 Mirror modifications. They’ve created a host of new IBM i Services, including a rather nifty one that lets you query message queues.
• More processor threads per partition
The maximum number of usable threads has doubled in 7.4 to 1536. I think this says as much about POWER9 as it does IBM i but it’s good that IBM i can make use of them.
• More disk capacity per partition
The old maximum of 4094 disks of up to 4TB each has been raised to 9998 disks of up to 16TB
• Domino 10 Support
Great news for the Lotus Notes Brigade, the latest and greatest version is now available on IBM i.
• Loads more Open Source
Jessie’s team are as busy as ever, they have added a load more Open Source Tools and Languages.
These include VIM for the Unix / Linux diehards, the rather interestingly named “Midnight Commander” for the SysAdmins and for the Developers Node.JS v10 and a new to IBM i language that is just called “R”.
I’ve literally got hundreds more pages of documentation to pore over, so who knows what else IBM have snuck into 7.4? I’ll do my best to find them for you but if you spot anything please feel free to contact me and I’ll try it out and get back to you.
Finally, I just wanted to thank IBM for the graphics used at the top of this article, it’s all so new I wanted to use their nomenclature to ensure I got it right.
Nice to see you
It was great to see you all in Rochdale and London, the atmosphere was amazing.
I’m delighted to say that we are now working on the i-UG’s largest ever event at Milton Keynes on 11h & 12th June.
More details and a registration are available at our website https://www.i-ug.co.uk/international-i-power-2019