Over ten years ago, the Eclipse Foundation launched the Eclipse IoT working group. MQTT was one of the pillars of that launch. The first three projects were Eclipse Paho, a collection of MQTT clients, Eclipse Mosquitto, an MQTT broker, and Eclipse Kura, a Java/OSGi solution for IoT gateways that supports the protocol. To say that MQTT is in our genes would be an understatement. Since then, usage of MQTT has grown significantly. Year after year, the simple yet powerful publish/subscribe protocol is the most widely used IoT-specific protocol in our annual developer surveys. For example, in the 2021 edition, 44% of respondents stated they are using it. We like to think we are at least partly responsible for that.
By the way, our 2022 survey is currently underway; you have until June 15, 2022, to participate. Click here to share your insights after finishing this post, of course.IBM has been a key player in our MQTT ecosystem for a long time. In 2021, the company brought its commitment to the next level by starting the Eclipse Amlen project at the Eclipse Foundation. The initial code contribution was a bit unusual. Of course, its size was impressive since it included over two million lines of source code, test code, and documentation. But what set this contribution apart was the codebase’s maturity. The roots of Amlen go back to IBM MessageSight, a hardware appliance launched back in 2012. The code is now at the core of another commercial product, the IBM Watson IoT Platform - Message Gateway.
The feature set of Amlen is quite extensive. Of course, the broker offers full support for both MQTT v5 and v3.1.1. Other key features include:
- An intuitive web-based graphical user interface to configure and monitor broker instances
- Support for high availability with active/passive server pairs. This streamlines maintenance and ensures continued service in case of outages.
- Support for server clustering. This enables the broker to accept more connections than would be possible on a standalone server and makes it possible to scale message throughput.
- Policy-based security to support complex real-world IoT deployments.
The Amlen team released version 1.0 of the project on May 24, 2022. This important milestone means that the transition of the codebase to an open-source project is complete and that it is ready for production use. Behind the scenes, the team worked tirelessly to remove proprietary dependencies and make the code ready for consumption and contribution by the wider open-source community. Congratulations to Jon Levell and the other committers on the project!
Amlen reaching v1.0 is important not only for the project itself but also for the Eclipse IoT community and the MQTT ecosystem. With Paho, Mosquitto, and now Amlen, our MQTT toolkit can now be used to power any IoT solution, from embedded constrained devices to massively scalable Cloud services and everything in between. Given this, I can safely say that MQTT will play an even greater role in the next ten years of Eclipse IoT.
In the past, IBM WIoTP Message Gateway has been used in manufacturing and mobile banking. It even provided live scores from the Wimbledon tennis tournament to Web and mobile audiences. Given its resilience and scalability, I expect Amlen will quickly be seen in similar use cases and many others.
If you wish to take Amlen out for a spin, you can download it here. The full documentation is available online, as is a Getting Started Guide. If you need assistance, Jon and the team can be found in the #amlen channel on the Eclipse IoT Slack workspace, and they will be happy to answer your questions.