What is IBM MQ and Why Would I Use it?

Video Summary

IBM MQ is a robust, reliable enterprise messaging system with a 20-year history, backed by IBM. It is highly suitable for business-critical workflows but has high licensing costs and is not embeddable, limiting its use in compensating transactions and automated integration tests. Performance tuning is also limited, and it requires more administration than other messaging products. However, IBM MQ excels in integrating with existing application infrastructure, especially IBM products, and benefits from a large talent pool due to its widespread adoption. It supports modern message flow patterns and is a reliable choice for enterprise messaging needs.


Video Contents

IBM MQ is one of the most deployed Enterprise Messaging Systems in the world, which is no surprise, since it is a product with over a 20 year history and backed by a huge global IT provider in IBM.  That adds up to a bunch of IBM MQ running all over the place. IBM MQ is known for being robust. It leans towards reliable guarantee and one-time message delivery over optimizations for peer speed, and this makes complete sense for the enterprise clients and business critical workflows that it tends to handle.

So what are the benefits and trade-offs with IBM MQ, and when to use it as part of a hybrid messaging strategy?

The Trade-Offs

Let's talk about the trade-offs first, with IBM MQ, you gotta start with the licensing costs. The cost structure is generally not the most competitive in the marketplace. It's helpful to understand IBM MQ has a vast install base that will continue to grow for many years, and there's not a ton of motivation on IBM's part to make drastic changes there. On the technical front, IBM MQ is not embeddable, since it runs as a standalone process, it is not a candidate for many applications to be used for compensating transactions. Also, it can be complicated to set up automated integration tests. Many times, these types of tests are required by DevOps policies these days. Performance tuning options within IBM MQ are limited when compared to other messaging products. Put another way for use cases where the strong delivery guarantees are not needed, IBM MQ is limited in its ability to scale these settings back in favor of more throughput. You should know IBM MQ generally has a heavier administration requirement, managing message flows in IBM MQ is more labor intensive or requires additional extensive automation and tooling.

 

The Benefits

Let's get into the benefits. Hands down, integrating with existing application infrastructure is its strong suit. IBM has a massive product portfolio spanning decades, many of these products have built-in connectivity to IBM MQ. Organizations that are using IBM mainframes and IBM-backed applications will have an easy time integrating with IBM MQ when connecting distributed systems, cloud, or SaaS applications to a mainframe, IBM MQ is a great option for providing reliable delivery of data in and out. Also, talent availability is a benefit. Given the product history and widespread adoption, there are a lot of people with working experience with the product. IBM MQ is a proven technology with a wealth of examples and decent documentation. These are things you tend to see and come to expect with enterprise software that is backed by a large company.

The Wrap Up

So to wrap it up, as a technology leader, if you're looking for the best way to integrate reliably with IBM products, especially mainframes, look to IBM MQ. IBM MQ is a solid piece of tech, and despite being one of the original enterprise messaging systems. It supports many modern message flow patterns, even patterns thought to only be supported by ActiveMQ and Kafka. We'll do some specialized videos on those, so be sure to subscribe to our channel to catch when those come out.

Matt Pavlovich

Matt Pavlovich, the Chief Technology Officer and Technical Practice Lead at HYTE Technologies, directs the HYTE Product Development Team. With a wealth of experience in the Open Source Software community, Matt is also a Committer on the Apache ActiveMQ project. Known for his technical prowess and leadership skills, Matt has successfully led numerous large-scale ActiveMQ implementations worldwide. Under his guidance, HYTE's services and tools enable accelerated Enterprise application development and enhance the supportability of middleware solutions.

Previous
Previous

Apache ActiveMQ Installation on Linux

Next
Next

What is Messaging?