Open Sourcing the IoT: Running EnMasse on Kubernetes [Presentation]
This look at IoT messaging examines open source tools and protocols that can be used to collect, feed, and return data without proprietary software.
Join the DZone community and get the full member experience.Join For Free
Yes, I’m at the airport waiting for my flight coming back home and I want to write something about my trip. As usual.
I just had a meetup in Milan, hosted in the Microsoft office and organized by my friend Felice Pescatore who leads the AgileIoT project; of course, my session was about messaging and IoT. The title? “Open sourcing the IoT: running EnMasse on Kubernetes”.
Other friends were there with their sessions, like Felice himself, Valter Minute speaking about how to move from an IoT prototype to a product, and Clemente Giorio and Matteo Valoriani with very interesting sessions about real HoloLens scenarios.
I started with an introduction about messaging and how it is related to the IoT. Then, I moved to the EnMasse project, an open source “messaging-as-a-service” platform that is well-suited for being the messaging infrastructure of an IoT solution (for example, it’s applicable inside the Eclipse Hono project).
I showed off the main EnMasse features, including some new ones that will come in the next few weeks, and how EnMasse provides a messaging and IoT solution from an “on-premise” deployment to the “cloud” in a Kubernetes or OpenShift cluster. For this reason, I called my talk “open sourcing the IoT” because all the components in this solution are open source!
I had a demo with a Kubernetes cluster running on Azure Container Service deploying EnMasse and Apache Spark on that. This demo was made of an AMQP publisher sending simulated temperature values to a “temperature” address deployed in EnMasse (as a queue) and a Spark Streaming job reading such values in order to process them in real time and getting the max value in the last 5 seconds, writing the result to the “max” address (another queue). Finally, an AMQP receiver was running in order to read and show such values from “max”.
Check out the video, slides, and source code below!
And here is the demo source code.
Published at DZone with permission of Paolo Patierno, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.