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:
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:
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.
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
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.