Hi John,
I think you are missing the target on a couple of things, which might change your mind about what might provide the best option for implementing HA and DR in your cloud environment.
I tend to agree with you on MIQM disk issues. MIQM shifts the availability problem from the queue manager/QM server to the storage/storage server. Finding a storage implementation that meets your performance and availability needs can be very difficult.
Native HA is as you say currently only supported on OpenShift. This is available as part of CP4I so you don't need to manage it separately, but if it's a new technology to your environment and you don't plan on using it for more the just MQ, then the infrastructure overheads may overkill for you.
I would disagree on the production readiness of a CD though. Especially in a cloud environment where automated CI/CD pipelines and comprehensive automated regression testing are both possible, the short (12 month or so) lifetime of a CD release doesn't have to be a barrier to production implementation. Code quality is not compromised by the support and delivery changes between CD and LTS in my experience, and IBM tell you when a CD feature isn't ready for production yet (Native HA in 9.2.2 for example).
As to container suitability for MQ, IBM have done a lot of work to ensure that MQ runs well in containers and is indeed suitable. Elasticity is not the only objective of containerisation. Reliable tested software stacks that are independent for each container in your environment can also dramatically reduce the difficulty in things like security patching. The container is also much lighter weight that a full VM. MQ can run easily on as little as 0.05 cores (50 millicores) and I've seen it demonstrated on 20 millicores (although startup was a bit slow). It's also much easier to pick up a container and deploy it somewhere else (like another availability zone) than to rebuild a VM.
Your comment about RDQM requiring RedHat OpenShift isn't quite right. It does require RHEL, but not OpenShift. It is deployed to a cluster (of 3) RHEL servers, not OpenShift containers. In the Azure space, you would need to deploy 3 RDQM servers onto RHEL instances as VMs I believe, although I haven't checked exactly what's in the Azure catalog. For DR, you need another 3 servers.
I think for many organisations containers are here already. There are other organisations that aren't ready for containers, but containers are probably ready for them.
I definitely wouldn't be building my own containers for MQ as a starting point. IBM have already done a huge amount of work and provide a supported container.
I agree that RDQM provides HA and DR, and is great, and doesn't rely on complex shared disk, but you CAN'T put it in a container. RDQM uses kernel modules that are NOT available in a container.
One of the biggest differences between RDQM and Native HA is that they don't use the same replication technology, which is why Native HA runs in containers, and RDQM doesn't. Native HA performs its own replication of the MQ log, and does its own management of the log state, rebuilds and working out what needs to be active where. In RDQM, all of that is offloaded from MQ onto the DRBD and Pacemaker components which are root or kernel level components outside of MQ itself. In Native HA, all of that is moved inside the queue manager.
Native HA also reduces the replication load by only replicating log writes, not all writes to either the log or queue files.
As to DR, you are right at the moment. The 9.2.3 implementation of Native HA doesn't provide DR. You may be able to use a replicated disk technology though to make your data available outside the availability zone, and implement your own DR on top of that. NOTE: This is entirely supposition as I haven't tried it. It would also have performance implications as it would increase the latency of the disk writes.
So, the bottom line...
I don't think you have all your facts quite right, but you are pretty close to the mark with your conclusion. If you want both HA and DR, then RDQM is more capable in that area than Native HA. If you are running OpenShift, then either MIQM or Native HA might do the job for you, depending on what disk technology you have access to, and whether DR is needed.
All the best
------------------------------
Neil Casey
Senior Consultant
Syntegrity Solutions
Melbourne, Victoria
IBM Champion (Cloud) 2019-21
------------------------------