Message Image  

App Connect

Need a Highly Available ESB in 30 minutes at the press of a button? 

Mon July 13, 2020 09:32 AM

IBM MQ v8.0.0.4 and IBM Integration Bus v10.0.0.3+ High availability patterns for IBM Pure Application Systems

The IBM Pure Application Family of Pure Application Systems, Pure Application Software and Pure Application Service on Softlayer delivery a true Hybrid Cloud platform that is ideally suited for (but far from limited to) deployment of IBM Middleware. I have been exploring the capabilities of the Pure Application “platform” to accelerate the delivery of complex middleware solutions to production strength in minutes rather than months.

Specifically, I have targeted the arena of highly available messaging and integration solutions. IBM’s lead technologies in this space are the very well know IBM MQ and IBM Integration Bus technologies. Both products feature built in high availability capabilities (Multi-instance Standby Idle) pre-req’ing only a shared file system and can operate in load balancing multi-node “clusters”.

A load balancing MQ Cluster, with multiple highly available gateway queue managers for resilience and multiple highly available application (or Back office) queue managers for scalability is a well known architecture but quite a beast (at least 4 primary and 4 standby nodes) to configure. Add to that multiple IIB nodes to add highly available integration to messaging layer and underpin the solution with a shared file system that is itself NOT a single point of failure then you (and your team) have quite a job on your hands.

The pattern engine in Pure Application Systems/Software/Service on Softlayer enables the above task to be completed at the press of a button in approximately 30 minutes and can be torn down again in 10 minutes should it no longer be required. The Pure Application “platform” allows for the solution to patched/upgraded in place (at runtime) or at design time (with tear down and redeploy). Middleware Management/Monitoring and license control are also built in.

I have built out two Pure Application Systems patterns for IBM MQ and IBM Integration bus to demonstrate these capabilities. An overview presentation of the problem being solved and the MQ/IIB high availability architectures built out via Pure Application Systems patterns can be viewed here:
Overview Description PureAppForMQandIIB_highavailabilty.pdf

Full Collateral Available from:

Collateral Description

The collateral features 2 IBM Pure Application Systems patterns for delivering IBM MQ and IBM Integration Bus (IIB) high availability on IBM Pure Application Systems.

The first pattern features IIB Primary and Standby multi-instance nodes to achieve high availability.
Detailed Description IIBNodesLocalwithGPFSPattern.pdf

The second pattern features IIB Standalone nodes using MQ Client Connection Definition Table (CCDT) to resolve multi-instance primary and standby queue managers.
Detailed Description IIBNodesClientwithNFSPattern.pdf

I have built the first pattern out leveraging IBM GPFS as the shared file system (shared service on PureAPP) and the second leveraging an NFSv4 server node. I chose to do this for demonstration purposes mainly, there is no reason why pattern 1 cannot be reconfigured to use NFS and pattern 2 GPFS.

Both patterns feature the following.

4 MQ Client only nodes for housing client applications that are set up via CCDT to connect to…..
2 MQ Gateway Queue Managers each with a mulit-instance standby idle partner that are in an MQ cluster with…
2 MQ Application (or backoffice) Queue Managers each with a multi-instance standby idle partner that is serviced by…
Pattern 1: 2 IIB Primary Nodes locally connected to the MQ Application Queue Managers each with an IIB Standby node
Pattern 2: 2 IIB Stand alone nodes client connect to the MQ Application Queue Managers via a CCDT. Both IIB nodes can service both MQ Application Queue Managers and their standby idle nodes.

Both patterns use script packages that are written to pick up the IP Address (hostnames) of all the nodes in the pattern and use the hostnames to configure MQ and IIB such that all MQ and IIB connections between nodes are resolved at instantiation time.
When the pattern is started all the MQ channels start and the nodes come up in a fully connected load balancing MQ Cluster with “loop back” message flows running IIB to service the Application Queue Managers and the MQ Sample applications in the MQ Client only nodes can be used to drive traffic to the MQ Gateway queue managers with no additional set up.