View Only

Understanding your license options and footprint for running IBM MQ in containers

By CALLUM JACKSON posted Tue January 05, 2021 07:30 AM

IBM MQ has a long and successful history of running within containers, and many clients across industries and the world run MQ in containers. IBM provide several license options; this flexibility can cause questions regarding which is most appropriate. This blog will summarize the current options available within IBM MQ and Cloud Pak for Integration (CP4I) which includes entitlement for IBM MQ.

A typical container deployment

Prior to launching into a license discussion, it is important to understand what a typical container deployment includes:

Diagram showing the common container deployment layers
  • Infrastructure: the underlying hardware where containers run, this will include compute, storage, and network resources. Within a public cloud environment this will be provided by the cloud provider, while in private cloud environments this may be provided by yourself.
  • Host Operating System: the compute resources will be installed with an operating system suitable for the Container Orchestration Software.
  • Container Orchestration Software: the most popular orchestration software in the market is Kubernetes, and IBM’s Enterprise Kubernetes offering is RedHat OpenShift. OpenShift provides enhancements, extensions, and accelerators for managing a Hybrid Cloud topology.
  • Container: this is an image that runs on the container runtime. The IBM MQ software has been supported within containers since 2015.

IBM Container Images

When a client adopts containers there are two common approaches:

  • Self-Built Container images: the client decides that they want to build their own image of IBM MQ. There can be various drivers for this decision:
    • Flexibility to customize the container image to meet their requirements.
    • Organizational requirements to build images from a common base container image.
    • Baking resources into the image to assure an immutable container.
    • Deploy in any Docker or Cri-o runtime at the supported levels.

To accelerate the creation of Self-Built container images we provide numerous examples which are available on GitHub.

Certified Container images: IBM provides MQ Certified Container images that are tested and formally supported on the RedHat OpenShift environment. As RedHat OpenShift runs on a range of public cloud environments, this allows the MQ Certified Container to run across a wide range of public and private cloud environments. IBM MQ also provides an MQ Operator to deploy the certified container, assuring a native Kubernetes experience.

IBM Certified Containers

It is worth noting the original pyramid diagram simplified the top layer, if we zoomed in there are three subsections:

The different certified containers provided by IBM

For the avoidance of doubt, each of these layers are separate, installable containers and not layers within a single container image.

  • IBM MQ: this is the MQ certified container and already discussed
  • IBM Cloud Pak for Integration (CP4I) Capabilities: CP4I provides several optional capabilities that enhance and accelerate the experience of running IBM MQ in containers, for instance:
    • Platform Navigator: provides a Web deployment experience where users can customize, manage, and delete the MQ deployments.
    • Operations Dashboard: tracks the meta-data of messages as they pass through IBM MQ to provide insight and assistance in problem determination.
  • IBM Cloud Platform Common Services: are common capabilities provided by IBM across Cloud Paks and Certified Containers. These include logging, monitoring, licensing and IAM. For further detail please consult the Knowledge Center.

What are the license options and the associated entitlement?

For clients that want to use the self-built approach, a valid entitlement of IBM MQ or IBM MQ Advanced is required. The base container image, supporting services, container orchestration software and operating system is the responsibility of the client.

For clients who decide on the certified container image there are two primary license options:

  • IBM MQ Advanced: entitlement can be used to run the MQ certified container.
  • IBM Cloud Pak for Integration: entitlement can be used to run MQ standard or Advanced within the MQ certified container.

In the case of IBM MQ Advanced the entitlement covers the IBM MQ Certified Container and the IBM Cloud Platform Common Services.  While the Cloud Pak for Integration entitlement includes all three layers.

Entitlement included for IBM MQ Advanced and Cloud Pak for Integration

You may be concerned that all these capabilities need to be installed and are chargeable. This is NOT the case and there are several installation options that can minimize the components installed. In addition, the IBM Cloud Platform Common Services and IBM Cloud Pak for Integration Capabilities are generally not chargeable, meaning the deployment of these components are not counted in the number of cores deployed. For further information please consult the IBM Cloud Pak for Integration Knowledge Center.

Working down the pyramid the Container Orchestration software, which in IBMs case is RedHat OpenShift is also included within the Cloud Pak for Integration (CP4I) license. For each Virtual Processor Core (VPC) of CP4I, users are provided with entitlement to 3 VPCs of RedHat OpenShift.

RedHat OpenShift also includes support for certain operating systems (the next layer in the pyramid). The support provided is documented within the Red Hat OpenShift Subscription and Sizing Guide.

IBM License Tracking

Clients often want to understand the license considerations across these two image options. Regardless of the entitlement (MQ or CP4I) the license approach is the same and is governed by the Passport Advantage Container License Agreement. This allows clients to license using either of the following:

  • Container CPU Limits: on Kubernetes platforms supported by the License Service, clients can meter their usage based on the container CPU limits. If the sum of the CPU limits exceeds the underlying node capacity, the required license entitlement is capped at the capacity of the node. Clients are required to install the License Service in the Kubernetes environment. This license approach can be beneficial when clients want to start small and grow in the future.
  • Underlying compute node: when an MQ container is deployed it will run on one or more underlying nodes. Instead of licensing the container, users can license the underlying node. This can be beneficial when several nodes have been declared for MQ containers and the sum of all the container limits deployed exceeds the capacity of the underlying hardware. This is a new title

Initial footprint

Clients often want to start small and grow based on their usage, and the above can appear to be a large initial footprint. IBM MQ is an incredibly light weight runtime that runs in a small fraction of a core. As outlined above the only hard dependency is to assure the license service is also running if you are metering at the container level. Clients can get started with IBM MQ running within a container for free using this tutorial.

The IBM MQ core runtime is the same small size within a container orchestration environment, and the minimal footprint corresponds to the container orchestration environment, instead of the IBM MQ container as the delta is insignificant. If you decide to use Red Hat OpenShift then the Red Hat OpenShift Subscription and Sizing Guide, will be a useful reference.

The IBM Cloud Platform Common Services includes an array of capabilities, in most cases these are optional and have their own footprint requirements. Further details can be found here.

The IBM Cloud Pak for Integration (CP4I) provides several optional capabilities that can be installed. Depending on the mechanism that is used to install CP4I different components are installed by default. For instance, users can install only the components desired, such as IBM MQ which only references the IBM Cloud Platform Common Services required, alternatively you can install CP4I in a one-click install, which deploys the ability to instantiate all components. For further details on the particular requirements please consult here.