IBM is working hard to add more services to its Bluemix PaaS portfolio. Here I will share what I have learned about one of the Bluemix service called Message Hub @Interconnect 2016 in Las Vegas, NV this week.
IBM’s Message Hub based on Apache Kafka is a scalable,
distributed, high throughput message bus to integrate Cloud applications. Main
scenarios described for Message Hub is that, it
· provides cloud messaging for Bluemix
services
· allows building apps in a microservices
framework
· helps to be the channel to stream data
to analytics engine available in Bluemix
Message Hub offers broad compatibility via 3 APIs: REST, Kafka
and MQ Light (AMQP)
When using Message Hub one need to consider the following:
· Kafka REST API allows producing
messages and creating consumers. But, for more flexibility and performance one
should use a Kafka client.
· Message Hub is based on Kafka 0.9 which
brings TLS-secured connections for clients, so the earlier high-level consumer
cannot be used. The newer Kafka 0.9 consumer is the way to go.
I couldn’t get a good answer for their recommendation on when to
use message hub (think SOR vs. SOE).
They also talked about providing a connector (message connect)
to integrate on-premise messaging to the cloud-based Message Hub. Message
Connect connects event sources that live outside of Bluemix directly to Message
Hub.
Although Message Hub supports MQ Light API (AMQP protocol),
making it JMS compliant is not on their roadmap. But they are willing
to work on it if customers ask.
Packaging and productizing message hub for deploying in a
private cloud or on-premise environment is also not on their roadmap. But
if customers ask for it then they might do it.
All things considered, I think it’s huge that IBM is using Kafka
as the backbone of their cloud messaging. They have taken the open source Kafka
and added more QOS capability on top of it. It would be interesting to see what
improvements they make over time.
Are you looking for using Kafka in your solution architecture?
Would you be interested in using Message Hub or deploying and managing your own
Kafka clusters? What’s your decision matrix?